Wednesday, May 30, 2018

SAP ABAP:--BTE (Business Transaction and Event).


BTE (Business Transaction and Event).


Title : Perform Validation on t-code FB60 Using BTE Business Transaction and Event enhancement    process.
Using  InfoSystem  Processes:
 Step-1:  Go to t-code FB60 à System àStatus à Double Click on Program (screen) SAPMF05A 



Step-2: After Continue goto System Menu Status à double click on Program (Screen) àthen click on Find à Find = OPEN_FI_PERFORM àSelect Radio button in main Program à Continue.


Step-3: Select Appropriate Enhancement point/program regarding your requirement (Ex.Here we select MF05AFO0_OPEN_FI_SUBSTITUTION Enhancement point/program).


Step-4 : Put break-point  at the function to Check Our requirement à Double click on CALL FUNCTION ‘OPEN_FI_PERFORM_00001120_P àContinue àput break point à  select SAPMF02D àBack àBack.


Step-5: go to t-code FB60 and Enter Company code , Vendor , Invoice date , Posting Date , Amount ,GL account and Amount in Doc.curr , BaselineDt  à save


Step-6: Go to  T-code FIBF  à Environment àInfo System(P/S) à Enter Business Transaction Event =  00001120 (BTE for CALL FUNCTION OPEN_FI_PERFORM_00001120_P)  


è Next click on Sample code.
Step-7: First Of all Create a Function Group (ex. ZSN_BTE_FG) in t-code SE80  àActivate.
Step-8: Next click on Sample code à Copy Standard SAMPLE_INTERFACE_00001120 Function Module into  custom function Module (Ex. ZSN_BTE_FB60_FM).

Step-9: Change the custom Function Module ZSN_BTE_FB60_FM à Put Your Condition In This Function Module à Save à Activate
Step-10: Go to T-code FIBF à Setting à Product à Of a Customer àNew Enterries àProvide Product Name = ZSN_FB60 à text = Validation for FD60 à Save à Back .

Step-11: Go to Setting à Processes Module à Of a Customer àNew Enterries àProvide Event  = 00001120 à Product = ZSN_FB60 à Function Module = ZSN_BTE_FB60_FM à Save à Back
Note :  In Processes Module we can define /create Processes with Event (ex.00001120) single time only.(Single Implementation)

 Step-12: Go to  Setting à Product à Of a Customer à Provide Product Name = ZSN_FB60  à Active à Save à Back .

Step-13: Go to t-code FB60 àEnter Fields value.


 output



















Friday, May 11, 2018

SAP ABAP- Enhancements Function Exit or Customer Exit.

Q.Enhancements Function Exit or Customer Exit.

Function Exit (this is customer exit). Here we discuss about the Function Exit or Customer Exit. This is the details about step of example. We already predefine predefined a particular value of sales order. Step by step sales order creation in (VA01 transaction). This sales order creation there is a field ‘SOLD TO PARTY’. We want this field will be predefined with value 2400 whenever we enter VA01. Following is the step by step approach.
A. Please enter VA01 transaction.



B.After that please enter order type OR and press enter.




 C. Initially the sold to party is blank. Sold to party means the party to whom the product will be sold. So basically it will be the customer.



 D. Now go to system > status and double click on the program.

 E. If you want to copy the package > go to attribute > copy the package name.

 F. Next > SMOD and then find (CTRL + F).


 G. After you put package (VA) and execute.

 H. Now we see that there are a lot of exits for this particular transaction VA01. We have to go by the description of exits and we have chosen Predefined sold-to-party.

 H. Double click on the exit and we enter into the enhancement.

J. Now double click on the exit and we enter into the function module (SE37).

 K. Now go to CMOD and create a project.


 L. Enter the enhancement name and hit enter.

 M. Now double click on the exit.

 N. Create the include program to write our own code.

O. Activate the code and activate the project. We see that the exporting parameter takes the value of customer number with E_KUNNR like KNA1-KUNNR. So we are passing a fixed value to E_KUNNR.


 P. Now again enter VA01 with OR order type.



 Q. We can deactivate this project and by doing this VA01 will go to previous phase.


Wednesday, May 9, 2018

SAP ABAP-JOIN TWO TABLE IN SAP ABAP REPORT .USE FOR ALL ENTRIES IN IN SAP ABAP.

USE FOR ALL ENTRIES IN IN SAP ABAP

REPORT  ZJOINQUERY.
TYPES: BEGIN OF ty_LIKP,
     VBELN TYPE VBELN_VL,
     ERZET TYPE ERZET,
     ERNAM TYPE ERNAM,
    END OF ty_LIKP,

BEGIN OF ty_LIPS,
    VBELN TYPE VBELN_VL,
    POSNR TYPE POSNR_VL,
    PSTYV TYPE PSTYV_VL,
  END OF ty_LIPS,

 BEGIN OF ty_final,
     VBELN TYPE VBELN_VL,

     ERZET TYPE ERZET,
     ERNAM TYPE ERNAM,

     POSNR TYPE POSNR_VL,
     PSTYV TYPE PSTYV_VL,

     END OF ty_final.


 DATA: it_LIKP TYPE STANDARD TABLE OF ty_LIKP,
      wa_LIKP TYPE ty_LIKP,
      it_LIPS TYPE STANDARD TABLE OF ty_LIPS,
      wa_LIPS TYPE ty_LIPS,
      it_final TYPE STANDARD TABLE OF ty_final,
      wa_final TYPE ty_final,
      gv_vbeln TYPE vbeln_vL.

SELECTION-SCREEN BEGIN OF BLOCK s WITH FRAME TITLE text-009.
SELECT-OPTIONS: s_vbeln FOR gv_vbeln.
SELECTION-SCREEN END OF BLOCK s.


START-OF-SELECTION.
  SELECT   VBELN
           ERZET
           ERNAM
         FROM LIKP INTO TABLE it_LIKP
         WHERE vbeln IN s_vbeln.
  IF sy-subrc = 0.
    SORT it_LIKP BY vbeln.
  ENDIF.
  IF it_LIKP IS NOT INITIAL.


  SELECT  VBELN
          POSNR
          PSTYV
          FROM LIPS INTO TABLE it_LIPS
          FOR ALL ENTRIES IN it_LIKP
          WHERE vbeln = it_LIKP-vbeln.
    IF sy-subrc = 0.
      SORT it_LIPS BY vbeln.
    ENDIF.
  ENDIF.


   LOOP AT it_LIPS INTO wa_LIPS.

    wa_final-vbeln = wa_LIPS-vbeln.
    wa_final-POSNR = wa_LIPS-POSNR.
    wa_final-PSTYV  = wa_LIPS-PSTYV .

    READ TABLE it_LIKP INTO wa_LIKP
    WITH KEY vbeln = wa_LIKP-VBELN.
    IF sy-subrc = 0.

    wa_final-ERZET = wa_LIKP-ERZET.
    wa_final-ERNAM = wa_LIKP-ERNAM.


    ENDIF.
    APPEND wa_final TO it_final.
    CLEAR : wa_final , wa_LIPS , wa_LIKP.
  endloop.

  LOOP AT it_final into wa_final.
  WRITE:/ wa_final-vbeln,
          wa_final-ERZET,
          wa_final-ERNAM,
          wa_final-posnr,
          wa_final-PSTYV.
          .





  ENDLOOP.

SAP ABAP - SIMPLE CLASSICAL REPORT


CLASSICAL REPORT  IN SAP ABAP

*&---------------------------------------------------------------------*
*& Report  ZSIBLING_AGE_DIFF
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  ZSIBLING_AGE_DIFF.

TYPES: BEGIN OF TY_FATHER,
        FATHERID TYPE ZFATHERID,
        FATHERNAME TYPE ZFATHERNAME,
        FATHERDOB TYPE ZFATHERDOB,
       END OF TY_FATHER.
TYPES: BEGIN OF TY_MOTHER,
        MOTHERID TYPE ZMOTHERID,
        HUSBANDID TYPE ZFATHERID,
        MOTHERNAME TYPE ZMOTHERNAME,
        MOTHERDOB TYPE ZMOTHERDOB,
       END OF TY_MOTHER.
TYPES: BEGIN OF TY_CHILDREN,
        CHILDID TYPE ZCHILDID,
        FATHERID TYPE ZFATHERID,
        MOTHERID TYPE ZMOTHERID,
        CHILDNAME TYPE ZCHILDNAME,
        CHILDDOB TYPE ZCHILDDOB,
        CHILDGENDER TYPE ZCHILDGENDER,
       END OF TY_CHILDREN.




TYPES: BEGIN OF TY_CHILD_AGE,
       FATHERNAME TYPE ZFATHERNAME,
       CHILDNAME TYPE ZCHILDNAME,
       CHILDID TYPE ZCHILDID,
       YEARS TYPE NUM2,
       END OF TY_CHILD_AGE.

TYPES: BEGIN OF TY_FINAL,
        CHILDID TYPE ZCHILDID,
        FATHERNAME TYPE ZFATHERNAME,
        CHILDNAME TYPE ZCHILDNAME,
        CHILDAGE TYPE I,
        FIRSTDIFF TYPE I,
        SECONDDIFF TYPE I,
        THIRDDIFF TYPE I,
       END OF TY_FINAL.
DATA: IT_FINAL TYPE TABLE OF TY_FINAL,
      WA_FINAL TYPE TY_FINAL.

DATA: IT_CHILD_AGE1 TYPE TABLE OF TY_CHILD_AGE,
      WA_CHILD_AGE1 TYPE TY_CHILD_AGE,
      LINE_COUNT TYPE I,
      AGE TYPE I,
      AGE1 TYPE I,
      AGE_DIFF TYPE I.
DATA: IT_CHILD_AGE TYPE TABLE OF TY_CHILD_AGE,
      WA_CHILD_AGE TYPE TY_CHILD_AGE.

DATA: IT_FATHER TYPE TABLE OF TY_FATHER,
      WA_FATHER TYPE TY_FATHER.
DATA: IT_MOTHER TYPE TABLE OF TY_MOTHER,
      WA_MOTHER TYPE TY_MOTHER.
DATA: IT_CHILDREN TYPE TABLE OF TY_CHILDREN,
      WA_CHILDREN TYPE TY_CHILDREN.

"DATA: S_FATHERID TYPE ZFATHER-FATHERID.
DATA: DAYS TYPE NUM2,
      MONTHS TYPE NUM2,
      YEARS TYPE NUM2.
DATA: V_LINES TYPE I.

SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
  PARAMETERS: P_FID TYPE ZFATHER-FATHERID.
SELECTION-SCREEN: END OF BLOCK B1.

START-OF-SELECTION.
SELECT CHILDID FATHERID MOTHERID CHILDNAME CHILDDOB CHILDGENDER FROM ZCHILDREAN INTO TABLE IT_CHILDREN
  WHERE FATHERID EQ P_FID.
  IF SY-SUBRC EQ 0.
    SORT IT_CHILDREN BY CHILDID.

    SELECT FATHERID FATHERNAME FATHERDOB FROM ZFATHER INTO TABLE IT_FATHER FOR ALL ENTRIES IN IT_CHILDREN
      WHERE FATHERID = IT_CHILDREN-FATHERID.
  ENDIF.
END-OF-SELECTION.

LOOP AT IT_CHILDREN INTO WA_CHILDREN.

  READ TABLE IT_FATHER INTO WA_FATHER WITH KEY FATHERID = WA_CHILDREN-FATHERID BINARY SEARCH.
  WA_CHILD_AGE-FATHERNAME = WA_FATHER-FATHERNAME.

  WA_CHILD_AGE-CHILDNAME = WA_CHILDREN-CHILDNAME.
  WA_CHILD_AGE-CHILDID = WA_CHILDREN-CHILDID.

  CALL FUNCTION 'HRCM_TIME_PERIOD_CALCULATE'
  EXPORTING
  BEGDA = WA_CHILDREN-CHILDDOB
  ENDDA = SY-DATUM
  IMPORTING
  NOYRS = YEARS
  NOMNS = MONTHS
  NODYS = DAYS
  EXCEPTIONS
  INVALID_DATES = 1
  OVERFLOW = 2
  OTHERS = 3.
  WA_CHILD_AGE-YEARS = YEARS.


  APPEND WA_CHILD_AGE TO IT_CHILD_AGE.
  CLEAR WA_CHILD_AGE.
ENDLOOP.



IT_CHILD_AGE1[] = IT_CHILD_AGE.

DESCRIBE TABLE IT_CHILD_AGE LINES V_LINES.
WRITE:/ 'TOTAL CHILD:-',V_LINES.
ULINE.

WRITE:/ 'FATHER NAME',
        20 'CHILD NAME',
        40 'CHILD AGE',
        60 'FIRST DIFF',
        80 'SECOND DIFF',
        100 'THIRD DIFF'.
ULINE.

LOOP AT IT_CHILD_AGE INTO WA_CHILD_AGE.
  WA_FINAL-CHILDID = WA_CHILD_AGE-CHILDID.
  WA_FINAL-FATHERNAME = WA_CHILD_AGE-FATHERNAME.
  WA_FINAL-CHILDNAME = WA_CHILD_AGE-CHILDNAME.
  WA_FINAL-CHILDAGE = WA_CHILD_AGE-YEARS.
*  WA_FINAL-FIRSTDIFF = ''.
*  WA_FINAL-SECONDDIFF = ''.
*  WA_FINAL-THIRDDIFF = ''.

  APPEND WA_FINAL TO IT_FINAL.
  CLEAR WA_FINAL.
ENDLOOP.



LOOP AT IT_CHILD_AGE INTO WA_CHILD_AGE.
*  WRITE:/ WA_CHILD_AGE-FATHERNAME,
*          20 WA_CHILD_AGE-CHILDNAME,
*          40 WA_CHILD_AGE-YEARS.

          WA_FINAL-FATHERNAME = WA_CHILD_AGE-FATHERNAME.
          WA_FINAL-CHILDNAME = WA_CHILD_AGE-CHILDNAME.
          WA_FINAL-CHILDAGE = WA_CHILD_AGE-YEARS.

          LINE_COUNT = 1.
          LOOP AT IT_CHILD_AGE1 INTO WA_CHILD_AGE1.
            IF WA_CHILD_AGE-CHILDID NE WA_CHILD_AGE1-CHILDID.
              IF WA_CHILD_AGE-YEARS GT WA_CHILD_AGE1-YEARS.
                AGE = WA_CHILD_AGE-YEARS.
                AGE1 = WA_CHILD_AGE1-YEARS.
                AGE_DIFF = AGE - AGE1.
                IF LINE_COUNT EQ 1.
                  WA_FINAL-FIRSTDIFF = AGE_DIFF.
                  MODIFY IT_FINAL FROM WA_FINAL TRANSPORTING FIRSTDIFF WHERE CHILDID = WA_CHILD_AGE-CHILDID.
                ENDIF.
                IF LINE_COUNT EQ 2.
                  WA_FINAL-SECONDDIFF = AGE_DIFF.
                  MODIFY IT_FINAL FROM WA_FINAL TRANSPORTING SECONDDIFF WHERE CHILDID = WA_CHILD_AGE-CHILDID.
                ENDIF.
                IF LINE_COUNT EQ 3.
                  WA_FINAL-THIRDDIFF = AGE_DIFF.
                  MODIFY IT_FINAL FROM WA_FINAL TRANSPORTING THIRDDIFF WHERE CHILDID = WA_CHILD_AGE-CHILDID.
                ENDIF.
                "WRITE:/ AGE_DIFF.
              ELSE.
                AGE = WA_CHILD_AGE1-YEARS.
                AGE1 = WA_CHILD_AGE-YEARS.
                AGE_DIFF = AGE - AGE1.
                IF LINE_COUNT EQ 1.
                  WA_FINAL-FIRSTDIFF = AGE_DIFF.
                  MODIFY IT_FINAL FROM WA_FINAL TRANSPORTING FIRSTDIFF WHERE CHILDID = WA_CHILD_AGE-CHILDID.
                ENDIF.
                IF LINE_COUNT EQ 2.
                  WA_FINAL-SECONDDIFF = AGE_DIFF.
                  MODIFY IT_FINAL FROM WA_FINAL TRANSPORTING SECONDDIFF WHERE CHILDID = WA_CHILD_AGE-CHILDID.
                ENDIF.
                IF LINE_COUNT EQ 3.
                  WA_FINAL-THIRDDIFF = AGE_DIFF.
                  MODIFY IT_FINAL FROM WA_FINAL TRANSPORTING THIRDDIFF WHERE CHILDID = WA_CHILD_AGE-CHILDID.
                ENDIF.
                "WRITE:/ AGE_DIFF.
              ENDIF.
              LINE_COUNT = LINE_COUNT + 1.
            ENDIF.

*            APPEND WA_FINAL TO IT_FINAL.
*            CLEAR WA_FINAL.

          ENDLOOP.
ENDLOOP.

LOOP AT IT_FINAL INTO WA_FINAL.
  WRITE:/ WA_FINAL-FATHERNAME,
          20 WA_FINAL-CHILDNAME,
          40 WA_FINAL-CHILDAGE,
          60 WA_FINAL-FIRSTDIFF,
          80 WA_FINAL-SECONDDIFF,
          100 WA_FINAL-THIRDDIFF.
ENDLOOP.

*
*TYPES: BEGIN OF TY_CHILD_AGE,
*       FATHERNAME TYPE ZFATHERNAME,
*       CHILDNAME TYPE ZCHILDNAME,
*       CHILDID TYPE ZCHILDID,
*       YEARS TYPE NUM2,
*       END OF TY_CHILD_AGE.
*DATA: IT_CHILD_AGE TYPE TABLE OF TY_CHILD_AGE,
*      WA_CHILD_AGE TYPE TY_CHILD_AGE.

SAP ABAP- MODULE PULL


SAP ABAP- MODULE PULL

REPORT NAME:---SAPMZ_SWRAN.
 INCLUDE MZ_SWRANTOP                             .  " global Data
 
INCLUDE MZ_SWRANO01                             .  " PBO-Modules
 
INCLUDE MZ_SWRANI01                             .  " PAI-Modules
 
INCLUDE MZ_SWRANF01  

TOP.
TYPE-POOLS:SLIS.
TABLES MARA .
DATA :MLOW(18),MHIGH(18).
DATA :MLOW1(18),MHIGH1(18).
DATABEGIN OF T_MARA OCCURS 1,
        MATNR 
TYPE MARA-MATNR,
        ERSDA 
TYPE MARA-ERSDA,
        ERNAM 
TYPE MARA-ERNAM,
        PSTAT 
TYPE MARA-PSTAT,
        MBRSH 
TYPE MARA-MBRSH,
      
END OF T_MARA.
DATA BEGIN OF RANGE OCCURS ,
       
SIGN(1),
       OPTION
(2),
       LOW
(18),
       HIGH
(18),
       
END OF RANGE .
DATA T_FCAT TYPE TABLE OF SLIS_FIELDCAT_ALV ,
       W_FCAT 
TYPE SLIS_FIELDCAT_ALV ,
       W_LAYO 
TYPE SLIS_LAYOUT_ALV .

PBO MODULE
MODULE STATUS_9001 OUTPUT.
  
SET PF-STATUS 'ZGUI_STATUS'.
*  SET TITLEBAR 'xxx'.

ENDMODULE.   
PAI MODULE.
*&---------------------------------------------------------------------*
*&  Include           MZ_SWRANI01
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_9001  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_9001 INPUT.

   
CASE SY-UCOMM.
    
WHEN 'EXECUTE'."FC-CODE OF ENTER BUTTON
      
CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT' "CONVERSION ROUTINE FOR MLOW
        
EXPORTING
          
INPUT              MLOW
       
IMPORTING
         
OUTPUT             MLOW1
       
EXCEPTIONS
         LENGTH_ERROR       
1
         
OTHERS             2
                
.
      
IF SY-SUBRC <> 0.
        
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      
ENDIF.
      
CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'"CONVERSION ROUTINE FOR MHIGH
        
EXPORTING
          
INPUT              MHIGH
       
IMPORTING
         
OUTPUT             MHIGH1
       
EXCEPTIONS
         LENGTH_ERROR       
1
         
OTHERS             2
                
.
      
IF SY-SUBRC <> 0.
        
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      
ENDIF.
******************************************************************
* LOGICALLY BUILD A INTERNAL TABLE (RANGE)
******************************************************************
      RANGE
-SIGN 'I'" I OR E
      RANGE
-OPTION 'BT'.
      RANGE
-LOW MLOW1 .
      RANGE
-HIGH MHIGH1 .
      
APPEND RANGE ."APPEND DATA IN INTERNAL TABLE
******************************************************************
      
PERFORM FETCH_DATA .
      
PERFORM DISPLAY_DATA .
    
WHEN 'BACK' OR 'EXIT' or 'CANCEL'.
      
LEAVE PROGRAM.

  
ENDCASE.

ENDMODULE.                 " USER_COMMAND_9001  INPUT
*&---------------------------------------------------------------------*
*&      Form  FETCH_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FETCH_DATA .
           
SELECT MATNR
                  ERNAM
                  ERSDA
                  PSTAT
                  MBRSH
                  
FROM MARA
                  
INTO CORRESPONDING FIELDS OF TABLE T_MARA
                  
WHERE MATNR IN RANGE .

ENDFORM.                    " FETCH_DATA
*&---------------------------------------------------------------------*
*&      Form  DISPLAY_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM DISPLAY_DATA .

  
LEAVE TO LIST-PROCESSING .
  W_FCAT
-TABNAME 'MARA'.
  W_FCAT
-FIELDNAME 'MATNR'.
  W_FCAT
-SELTEXT_M 'Material No'.
  
APPEND w_fcat to t_Fcat .

  W_FCAT
-TABNAME 'MARA'.
  W_FCAT
-FIELDNAME 'ERSDA'.
  W_FCAT
-SELTEXT_M 'Created On'.
  
APPEND w_fcat to t_Fcat .

  W_FCAT
-TABNAME 'MARA'.
  W_FCAT
-FIELDNAME 'ERNAM'.
  W_FCAT
-SELTEXT_M 'Name of Person'.
  
APPEND w_fcat to t_Fcat .

  W_FCAT
-TABNAME 'MARA'.
  W_FCAT
-FIELDNAME 'PSTAT'.
  W_FCAT
-SELTEXT_M 'Maintenance status'.
  
APPEND w_fcat to t_Fcat .

  W_FCAT
-TABNAME 'MARA'.
  W_FCAT
-FIELDNAME 'MBRSH'.
  W_FCAT
-SELTEXT_M 'Industry sector'.
  
APPEND w_fcat to T_FCAT.

  W_LAYO
-ZEBRA 'X'.
  W_LAYO
-COLWIDTH_OPTIMIZE 'X'.

  
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
  
EXPORTING
*   I_INTERFACE_CHECK                 = ' '
*   I_BYPASSING_BUFFER                = ' '
*   I_BUFFER_ACTIVE                   = ' '
*   I_CALLBACK_PROGRAM                = ' '
*   I_CALLBACK_PF_STATUS_SET          = ' '
*   I_CALLBACK_USER_COMMAND           = ' '
*   I_CALLBACK_TOP_OF_PAGE            = ' '
*   I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
*   I_CALLBACK_HTML_END_OF_LIST       = ' '
*     I_STRUCTURE_NAME             = 'MARA'
*   I_BACKGROUND_ID                   = ' '
     I_GRID_TITLE                      
='MATERIAL REPORT'
*   I_GRID_SETTINGS                   =
   IS_LAYOUT                         
W_LAYO
   IT_FIELDCAT                       
T_FCAT
*   IT_EXCLUDING                      =
*   IT_SPECIAL_GROUPS                 =
*   IT_SORT                           =
*   IT_FILTER                         =
*   IS_SEL_HIDE                       =
*   I_DEFAULT                         = 'X'
*   I_SAVE                            = ' '
*   IS_VARIANT                        =
*   IT_EVENTS                         =
*   IT_EVENT_EXIT                     =
*   IS_PRINT                          =
*   IS_REPREP_ID                      =
*   I_SCREEN_START_COLUMN             = 0
*   I_SCREEN_START_LINE               = 0
*   I_SCREEN_END_COLUMN               = 0
*   I_SCREEN_END_LINE                 = 0
*   I_HTML_HEIGHT_TOP                 = 0
*   I_HTML_HEIGHT_END                 = 0
*   IT_ALV_GRAPHICS                   =
*   IT_HYPERLINK                      =
*   IT_ADD_FIELDCAT                   =
*   IT_EXCEPT_QINFO                   =
*   IR_SALV_FULLSCREEN_ADAPTER        =
* IMPORTING
*   E_EXIT_CAUSED_BY_CALLER           =
*   ES_EXIT_CAUSED_BY_USER            =
    
TABLES
      T_OUTTAB                          
T_MARA[]
* EXCEPTIONS
*   PROGRAM_ERROR                     = 1
*   OTHERS                            = 2
            
.
  
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  
ENDIF.

ENDFORM.                    " DISPLAY_DATA