<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Steps for Interactive ALV with Classes in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/steps-for-interactive-alv-with-classes/m-p/2196781#M468963</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Anil,&lt;/P&gt;&lt;P&gt;           Refer this code for interative ALV with classes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS  LCL_EVENT_RECEIVER DEFINITION DEFERRED.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS LCL_EVENT_RECEIVER DEFINITION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PUBLIC SECTION.&lt;/P&gt;&lt;P&gt;    METHODS :&lt;/P&gt;&lt;P&gt;      HANDLE_DOUBLE_CLICK  FOR EVENT DOUBLE_CLICK  OF CL_GUI_ALV_GRID&lt;/P&gt;&lt;P&gt;                      IMPORTING E_ROW E_COLUMN,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      HANDLE_HOTSPOT_CLICK FOR EVENT HOTSPOT_CLICK OF CL_GUI_ALV_GRID&lt;/P&gt;&lt;P&gt;                      IMPORTING E_ROW_ID E_COLUMN_ID ES_ROW_NO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.&lt;/P&gt;&lt;P&gt;data :evt_tab type cntl_simple_events,&lt;/P&gt;&lt;P&gt;      evt_tab_line like line of evt_tab .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : v_cnt type i .&lt;/P&gt;&lt;P&gt;DATA : v_cnt2 type i .&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_MARA OCCURS 1,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MATNR TYPE MATNR,&lt;/P&gt;&lt;P&gt;        ERNAM TYPE ERNAM,&lt;/P&gt;&lt;P&gt;        MTART TYPE MTART,&lt;/P&gt;&lt;P&gt;        MBRSH TYPE MBRSH,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       END OF IT_MARA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_MARC OCCURS 1,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MATNR TYPE MATNR,&lt;/P&gt;&lt;P&gt;        WERKS TYPE WERKS_D,&lt;/P&gt;&lt;P&gt;        PSTAT TYPE PSTAT_D,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       END OF IT_MARC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: OK_CODE LIKE SY-UCOMM,&lt;/P&gt;&lt;P&gt;      G_CONTAINER  TYPE SCRFNAME VALUE 'G_CUSTOM_CONTROL',&lt;/P&gt;&lt;P&gt;      G_CONTAINER2 TYPE SCRFNAME VALUE 'G_CONTROL2',&lt;/P&gt;&lt;P&gt;      G_GRID   TYPE REF TO CL_GUI_ALV_GRID,&lt;/P&gt;&lt;P&gt;      G_GRID2  TYPE REF TO CL_GUI_ALV_GRID,&lt;/P&gt;&lt;P&gt;      G_CUSTOM_CONTAINER  TYPE REF TO CL_GUI_CUSTOM_CONTAINER,&lt;/P&gt;&lt;P&gt;      G_CUSTOM_CONTAINER2 TYPE REF TO CL_GUI_CUSTOM_CONTAINER,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      EVENT_HANDLER TYPE REF TO LCL_EVENT_RECEIVER,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      TEMP(1) TYPE C .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: GS_LAYOUT       TYPE LVC_S_LAYO,&lt;/P&gt;&lt;P&gt;      GS_LAYOUT2      TYPE LVC_S_LAYO,&lt;/P&gt;&lt;P&gt;      GT_FIELDCATALOG TYPE LVC_T_FCAT,&lt;/P&gt;&lt;P&gt;      GT_FIELDCAT2    TYPE LVC_T_FCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : L_FIELDCAT     TYPE LVC_S_FCAT.&lt;/P&gt;&lt;P&gt;DATA : OK_0100 LIKE SY-UCOMM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT * FROM MARA&lt;/P&gt;&lt;P&gt;         INTO CORRESPONDING FIELDS OF TABLE IT_MARA&lt;/P&gt;&lt;P&gt;         WHERE MBRSH = 'A'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT MATNR&lt;/P&gt;&lt;P&gt;       WERKS&lt;/P&gt;&lt;P&gt;       PSTAT INTO TABLE IT_MARC FROM MARC&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN IT_MARA WHERE MATNR = IT_MARA-MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL SCREEN '0100'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE STATUS_0100 OUTPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM INITIALISE_ALV.&lt;/P&gt;&lt;P&gt;PERFORM HANDLE_EVENT.&lt;/P&gt;&lt;P&gt;if v_cnt is initial .&lt;/P&gt;&lt;P&gt;PERFORM F_BUILD_FIELDCATALOG USING GT_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;PERFORM F_BUILD_FIELDCAT     USING GT_FIELDCAT2    .&lt;/P&gt;&lt;P&gt;PERFORM F_BUILD_LAYOUT.&lt;/P&gt;&lt;P&gt;PERFORM F_BUILD_LAYOUT2.&lt;/P&gt;&lt;P&gt;v_cnt = v_cnt + 1 .&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM SHOW_OO_ALV.&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " STATUS_0100  OUTPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_BUILD_FIELDCAT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_L_FIELDCAT  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM F_BUILD_FIELDCATALOG USING P_GT_FIELDCATALOG TYPE LVC_T_FCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH P_GT_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM FILL_FIELDCATALOG USING '1' 'MATNR' 'IT_MARA' 'MATERIAL'&lt;/P&gt;&lt;P&gt;    '20' '1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM FILL_FIELDCATALOG USING '2' 'ERNAM' 'IT_MARA' 'CREATED BY'&lt;/P&gt;&lt;P&gt;    '20' '1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM FILL_FIELDCATALOG USING '3' 'MTART' 'IT_MARA' 'TYPE'&lt;/P&gt;&lt;P&gt;    '20' '1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM FILL_FIELDCATALOG USING '4' 'MBRSH' 'IT_MARA' 'SOMETHING'&lt;/P&gt;&lt;P&gt;    '20' '1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " F_BUILD_FIELDCAT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FILL_FIELDCATALOG USING  P_COL_POS      TYPE LVC_S_FCAT-COL_POS&lt;/P&gt;&lt;P&gt;                              P_FIELDNAME    TYPE LVC_S_FCAT-FIELDNAME&lt;/P&gt;&lt;P&gt;                              P_TABNAME      TYPE LVC_S_FCAT-TABNAME&lt;/P&gt;&lt;P&gt;                              P_SELTEXT      TYPE LVC_S_FCAT-SCRTEXT_L&lt;/P&gt;&lt;P&gt;                              P_OUTPUTLEN    TYPE LVC_S_FCAT-OUTPUTLEN&lt;/P&gt;&lt;P&gt;                              P_ROW_POS      TYPE LVC_S_FCAT-ROW_POS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     CLEAR L_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           L_FIELDCAT-COL_POS      = P_COL_POS.&lt;/P&gt;&lt;P&gt;           L_FIELDCAT-FIELDNAME    = P_FIELDNAME.&lt;/P&gt;&lt;P&gt;           L_FIELDCAT-TABNAME      = P_TABNAME.&lt;/P&gt;&lt;P&gt;           L_FIELDCAT-SCRTEXT_L    = P_SELTEXT.&lt;/P&gt;&lt;P&gt;           L_FIELDCAT-OUTPUTLEN    = P_OUTPUTLEN.&lt;/P&gt;&lt;P&gt;           L_FIELDCAT-ROW_POS      = P_ROW_POS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF L_FIELDCAT-FIELDNAME      = 'MATNR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           L_FIELDCAT-KEY          = 'X'.&lt;/P&gt;&lt;P&gt;           L_FIELDCAT-ROLLNAME     = 'MATNR'.&lt;/P&gt;&lt;P&gt;           L_FIELDCAT-NO_ZERO      = 'X'.&lt;/P&gt;&lt;P&gt;           L_FIELDCAT-JUST         = 'C'.&lt;/P&gt;&lt;P&gt;           L_FIELDCAT-REF_FIELD    = 'MATNR'.&lt;/P&gt;&lt;P&gt;           L_FIELDCAT-REF_TABLE    = 'MARA'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF TEMP = 'V'.&lt;/P&gt;&lt;P&gt;        APPEND L_FIELDCAT TO GT_FIELDCAT2.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        APPEND L_FIELDCAT TO GT_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_BUILD_LAYOUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_GS_LAYOUT  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM F_BUILD_LAYOUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    GS_LAYOUT-ZEBRA     =  'X'.&lt;/P&gt;&lt;P&gt;    GS_LAYOUT-GRID_TITLE = 'PEHLI ALV MATERIAL WALI'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " F_BUILD_LAYOUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  STATUS_0100  OUTPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  INITIALISE_ALV&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM INITIALISE_ALV .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF G_CUSTOM_CONTAINER IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       CREATE OBJECT G_CUSTOM_CONTAINER&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;          CONTAINER_NAME = G_CONTAINER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;          CNTL_ERROR                  = 1&lt;/P&gt;&lt;P&gt;          cntl_system_error           = 2&lt;/P&gt;&lt;P&gt;          create_error                = 3&lt;/P&gt;&lt;P&gt;          lifetime_error              = 4&lt;/P&gt;&lt;P&gt;          lifetime_dynpro_dynpro_link = 5&lt;/P&gt;&lt;P&gt;          OTHERS                      = 6 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;       CALL FUNCTION 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;              titel = SY-REPID&lt;/P&gt;&lt;P&gt;              txt2  = SY-SUBRC&lt;/P&gt;&lt;P&gt;              txt1  = 'CONTROL NOT CREATED'.&lt;/P&gt;&lt;P&gt;       ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       CREATE OBJECT G_GRID&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;           I_PARENT = G_CUSTOM_CONTAINER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;        error_cntl_create = 1&lt;/P&gt;&lt;P&gt;        error_cntl_init   = 2&lt;/P&gt;&lt;P&gt;        error_cntl_link   = 3&lt;/P&gt;&lt;P&gt;        error_dp_create   = 4&lt;/P&gt;&lt;P&gt;        others            = 5.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***IF OK_0100 &amp;lt;&amp;gt; 'HIDE' .&lt;/P&gt;&lt;P&gt;***&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt; CREATE OBJECT G_CUSTOM_CONTAINER2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;                 CONTAINER_NAME = G_CONTAINER2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;***&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;              EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;                 CNTL_ERROR                  = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;                 cntl_system_error           = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;                 create_error                = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;                 lifetime_error              = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;                 lifetime_dynpro_dynpro_link = 5&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;                 OTHERS                      = 6 .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;***&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;              IF SY-SUBRC NE 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;              CALL FUNCTION 'POPUP_TO_INFORM'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;                 EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;                     titel = SY-REPID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;                     txt2  = SY-SUBRC&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;                     txt1  = 'CONTROL NOT CREATED'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;              ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;***&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;              CREATE OBJECT G_GRID2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;                  I_PARENT = G_CUSTOM_CONTAINER2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;***&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;              EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;               error_cntl_create = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;               error_cntl_init   = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;               error_cntl_link   = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;               error_dp_create   = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;               others            = 5.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;***CLEAR OK_0100 .&lt;/P&gt;&lt;P&gt;***ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;******************************************************************&lt;/P&gt;&lt;P&gt;*********************&lt;STRONG&gt;S E C O N D    A L V&lt;/STRONG&gt;***********************&lt;/P&gt;&lt;P&gt;******************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " INITIALISE_ALV&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SHOW_OO_ALV&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SHOW_OO_ALV .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD G_GRID-&amp;gt;SET_TABLE_FOR_FIRST_DISPLAY&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;      IS_LAYOUT            = GS_LAYOUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CHANGING&lt;/P&gt;&lt;P&gt;      IT_OUTTAB            = IT_MARA[]&lt;/P&gt;&lt;P&gt;      IT_FIELDCATALOG      = GT_FIELDCATALOG&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;      invalid_parameter_combination = 1&lt;/P&gt;&lt;P&gt;      program_error                 = 2&lt;/P&gt;&lt;P&gt;      too_many_lines                = 3&lt;/P&gt;&lt;P&gt;      OTHERS                        = 4&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SHOW_OO_ALV&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  EXIT_SCREEN  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE EXIT_SCREEN INPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF OK_0100 = 'EXIT'.&lt;/P&gt;&lt;P&gt;    LEAVE PROGRAM.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " EXIT_SCREEN  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  HANDLE_EVENT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM HANDLE_EVENT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CREATE OBJECT EVENT_HANDLER.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt; evt_tab_line-eventid = cl_gui_alv_grid=&amp;gt;eventid_double_click.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt; evt_tab_line-appl_event = ' '.       " System Event!&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt; append evt_tab_line to evt_tab.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;***&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt; call method g_grid-&amp;gt;set_registered_events&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;   exporting&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;     events = evt_tab.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SET HANDLER EVENT_HANDLER-&amp;gt;HANDLE_DOUBLE_CLICK FOR G_GRID.&lt;/P&gt;&lt;P&gt;SET HANDLER EVENT_HANDLER-&amp;gt;HANDLE_HOTSPOT_CLICK FOR G_GRID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " HANDLE_EVENT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_BUILD_FIELDCAT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_GT_FIELDCAT  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM F_BUILD_FIELDCAT  USING    P_GT_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TEMP = 'V'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM FILL_FIELDCATALOG USING '1' 'MATNR' 'IT_MARC' 'MATERIAL' '20'&lt;/P&gt;&lt;P&gt;'1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM FILL_FIELDCATALOG USING '2' 'WERKS' 'IT_MARC' 'PLANT'    '12'&lt;/P&gt;&lt;P&gt;'1'.&lt;/P&gt;&lt;P&gt;PERFORM FILL_FIELDCATALOG USING '3' 'PSTAT' 'IT_MARC' 'STATUS'   '10'&lt;/P&gt;&lt;P&gt;'1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TEMP = ''.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " F_BUILD_FIELDCAT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_BUILD_LAYOUT2&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM F_BUILD_LAYOUT2 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; GS_LAYOUT2-ZEBRA     =  'X'.&lt;/P&gt;&lt;P&gt; GS_LAYOUT2-GRID_TITLE = 'DOOSRI ALV :: PLANTS WALI!!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " F_BUILD_LAYOUT2&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  USER_COMMAND_0100  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE USER_COMMAND_0100 INPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF OK_0100 = 'HIDE'.&lt;/P&gt;&lt;P&gt;IF G_GRID2 IS NOT INITIAL .&lt;/P&gt;&lt;P&gt; CALL METHOD G_GRID2-&amp;gt;FREE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FREE G_GRID2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;     MESSAGE I001.&lt;/P&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;*FREE G_CUSTOM_CONTAINER2.&lt;/P&gt;&lt;P&gt;IF G_CUSTOM_CONTAINER2 IS NOT INITIAL .&lt;/P&gt;&lt;P&gt;CALL METHOD G_CUSTOM_CONTAINER2-&amp;gt;FREE.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;     MESSAGE I001.&lt;/P&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;*clear ok_0100.&lt;/P&gt;&lt;P&gt;V_CNT2 = 0 .&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " USER_COMMAND_0100  INPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS LCL_EVENT_RECEIVER IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    METHOD HANDLE_DOUBLE_CLICK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        IF G_CUSTOM_CONTAINER2 IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF OK_0100 &amp;lt;&amp;gt; 'HIDE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               CREATE OBJECT G_CUSTOM_CONTAINER2&lt;/P&gt;&lt;P&gt;               EXPORTING&lt;/P&gt;&lt;P&gt;                  CONTAINER_NAME = G_CONTAINER2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               EXCEPTIONS&lt;/P&gt;&lt;P&gt;                  CNTL_ERROR                  = 1&lt;/P&gt;&lt;P&gt;                  cntl_system_error           = 2&lt;/P&gt;&lt;P&gt;                  create_error                = 3&lt;/P&gt;&lt;P&gt;                  lifetime_error              = 4&lt;/P&gt;&lt;P&gt;                  lifetime_dynpro_dynpro_link = 5&lt;/P&gt;&lt;P&gt;                  OTHERS                      = 6 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;               CALL FUNCTION 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;                  EXPORTING&lt;/P&gt;&lt;P&gt;                      titel = SY-REPID&lt;/P&gt;&lt;P&gt;                      txt2  = SY-SUBRC&lt;/P&gt;&lt;P&gt;                      txt1  = 'CONTROL NOT CREATED'.&lt;/P&gt;&lt;P&gt;               ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               CREATE OBJECT G_GRID2&lt;/P&gt;&lt;P&gt;               EXPORTING&lt;/P&gt;&lt;P&gt;                   I_PARENT = G_CUSTOM_CONTAINER2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               EXCEPTIONS&lt;/P&gt;&lt;P&gt;                error_cntl_create = 1&lt;/P&gt;&lt;P&gt;                error_cntl_init   = 2&lt;/P&gt;&lt;P&gt;                error_cntl_link   = 3&lt;/P&gt;&lt;P&gt;                error_dp_create   = 4&lt;/P&gt;&lt;P&gt;                others            = 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL METHOD G_GRID2-&amp;gt;SET_TABLE_FOR_FIRST_DISPLAY&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                EXPORTING&lt;/P&gt;&lt;P&gt;                      IS_LAYOUT            = GS_LAYOUT2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                CHANGING&lt;/P&gt;&lt;P&gt;                      IT_OUTTAB            = IT_MARC[]&lt;/P&gt;&lt;P&gt;                      IT_FIELDCATALOG      = GT_FIELDCAT2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                 EXCEPTIONS&lt;/P&gt;&lt;P&gt;                      invalid_parameter_combination = 1&lt;/P&gt;&lt;P&gt;                      program_error                 = 2&lt;/P&gt;&lt;P&gt;                      too_many_lines                = 3&lt;/P&gt;&lt;P&gt;                      OTHERS                        = 4&lt;/P&gt;&lt;P&gt;                          .&lt;/P&gt;&lt;P&gt;                  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                  ENDIF.&lt;/P&gt;&lt;P&gt;CLEAR OK_0100.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR OK_0100 .&lt;/P&gt;&lt;P&gt;    ENDMETHOD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    METHOD HANDLE_HOTSPOT_CLICK.&lt;/P&gt;&lt;P&gt;        MESSAGE I021.&lt;/P&gt;&lt;P&gt;    ENDMETHOD .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward points if helpful.&lt;/P&gt;&lt;P&gt;Regrads,&lt;/P&gt;&lt;P&gt;Hemant&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 08 May 2007 03:44:21 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-05-08T03:44:21Z</dc:date>
    <item>
      <title>Steps for Interactive ALV with Classes</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/steps-for-interactive-alv-with-classes/m-p/2196778#M468960</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi friends,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;can any one tell me steps for ALV Interactive report using Classes&lt;/P&gt;&lt;P&gt;i am having a scenario where i have to display different screens on clicking coreesponding fileds from initial screen&lt;/P&gt;&lt;P&gt;For eg: in my initial screen i have 10 fields&lt;/P&gt;&lt;P&gt;by clicking field1, coressponding detailed data should be displayed in another screen once we back on initial screen&lt;/P&gt;&lt;P&gt;by clicking field2, coressponding detailed data should be displayed in another screen then back to initial screen&lt;/P&gt;&lt;P&gt;and &lt;/P&gt;&lt;P&gt;by clicking fieldn, coressponding detailed data should be displayed in another screen&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks &amp;amp; regards&lt;/P&gt;&lt;P&gt;Anil kumar&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 May 2007 03:17:29 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/steps-for-interactive-alv-with-classes/m-p/2196778#M468960</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-08T03:17:29Z</dc:date>
    </item>
    <item>
      <title>Re: Steps for Interactive ALV with Classes</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/steps-for-interactive-alv-with-classes/m-p/2196779#M468961</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Following report is the sample for ALV INTERACTIVE report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*REPORT  YMS_ALVINTER1.&lt;/P&gt;&lt;P&gt;REPORT  z_alv_so  MESSAGE-ID znew .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;TABLE DECLARATION&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;TABLES: vbak ,             "Sales Document: Header Data&lt;/P&gt;&lt;P&gt;        vbap ,             "Sales Document: Item Data&lt;/P&gt;&lt;P&gt;        makt ,             "Material Descriptions&lt;/P&gt;&lt;P&gt;        lips .             "SD document: Delivery: Item data&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;DECLARATION OF TYPE-POOL&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;*THIS TYPE-POOL CONTAINS THE EVENTS,&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;TYPE-POOLS : slis.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;DECLARATION OF EVENTS&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;DATA: i_event TYPE slis_t_event.&lt;/P&gt;&lt;P&gt;DATA: t_event TYPE slis_alv_event.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;DECLARATION OF LIST HEADER&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;DATA: i_listheader TYPE slis_t_listheader.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;DECLARATION OF FIELD CATALOG FOR SCREEN 1&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;DATA: i_fldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;DECLARATION OF FIELD CATALOG FOR SCREEN 2&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;DATA: i_fldcat2 TYPE slis_t_fieldcat_alv WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;DECLARATION OF FIELD LAYOUT&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;DATA: i_layout TYPE slis_layout_alv.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;SORTING OF OUTPUT&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;DATA: i_sort TYPE slis_t_sortinfo_alv.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*DATA DECLARATION&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;DATA: v_auart TYPE tvak-auart,&lt;/P&gt;&lt;P&gt;      v_vkorg TYPE tvko-vkorg,&lt;/P&gt;&lt;P&gt;      v_kunnr TYPE kna1-kunnr,&lt;/P&gt;&lt;P&gt;      v_matnr TYPE mara-matnr ,&lt;/P&gt;&lt;P&gt;      v_spart TYPE tvta-spart .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF it_so ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       vbeln TYPE vbeln_va ,          "SALES ORDER NO.&lt;/P&gt;&lt;P&gt;       auart TYPE auart ,             "SALES DOC. TYPE&lt;/P&gt;&lt;P&gt;       vkorg TYPE vkorg ,             "SALES ORG.&lt;/P&gt;&lt;P&gt;       spart TYPE spart ,             "DIVISION&lt;/P&gt;&lt;P&gt;       kunnr TYPE kunag ,             "SOLD TO PARTY&lt;/P&gt;&lt;P&gt;       posnr TYPE posnr_va ,          "SALES DOC. ITEM&lt;/P&gt;&lt;P&gt;       matnr TYPE matnr ,             "MATERIAL NO&lt;/P&gt;&lt;P&gt;       maktx TYPE maktx ,             "DESCRIPTION&lt;/P&gt;&lt;P&gt;       kwmeng TYPE kwmeng ,           "QUANTITY&lt;/P&gt;&lt;P&gt;       vrkme TYPE vrkme ,             "SALES UNIT&lt;/P&gt;&lt;P&gt;       line_color(4) TYPE c ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       END OF it_so .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF it_del ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       vbeln TYPE vbeln_vl ,         "SALES ORDER NO.&lt;/P&gt;&lt;P&gt;       posnr TYPE posnr_vl ,         "SALES DOC. ITEM&lt;/P&gt;&lt;P&gt;       matnr TYPE matnr ,            "MATERIAL NO&lt;/P&gt;&lt;P&gt;       werks TYPE werks_d ,          "PLANT&lt;/P&gt;&lt;P&gt;       lgort TYPE lgort_d ,          "STORAGE LOCATION&lt;/P&gt;&lt;P&gt;       charg TYPE charg_d ,          "BATCH NO.&lt;/P&gt;&lt;P&gt;       lfimg TYPE lfimg ,            "ACTUAL DELIVERY QTY.&lt;/P&gt;&lt;P&gt;       vrkme TYPE vrkme ,            "SALES UNIT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       END OF it_del .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF type_vbfa ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      vbelv TYPE vbeln_von , "Preceding sales and distribution document&lt;/P&gt;&lt;P&gt;      posnv TYPE posnr_von , "Preceding item of an SD document&lt;/P&gt;&lt;P&gt;      vbeln TYPE vbeln_nach, "Subsequent sales and distribution document&lt;/P&gt;&lt;P&gt;      posnn TYPE posnr_nach, "Document category of subsequent document&lt;/P&gt;&lt;P&gt;      vbtyp_n TYPE vbtyp_n ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      END OF type_vbfa .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_so1 TYPE STANDARD TABLE OF it_so ,&lt;/P&gt;&lt;P&gt;      it_del1 TYPE STANDARD TABLE OF it_del ,&lt;/P&gt;&lt;P&gt;      it_vbfa TYPE STANDARD TABLE OF type_vbfa,&lt;/P&gt;&lt;P&gt;      it_del_ful TYPE STANDARD TABLE OF it_del.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: wa_so TYPE it_so ,&lt;/P&gt;&lt;P&gt;      wa_del TYPE it_del ,&lt;/P&gt;&lt;P&gt;      wa_vbfa TYPE type_vbfa,&lt;/P&gt;&lt;P&gt;      wa_it_del_ful TYPE it_del.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:  i_title_vbfa TYPE lvc_title VALUE 'SALES ORDER LIST DISPLAYED'.&lt;/P&gt;&lt;P&gt;DATA:  i_title_vbpa TYPE lvc_title VALUE&lt;/P&gt;&lt;P&gt;'DELIVERY DETAILS DISPLAYED AGAINST GIVEN SALES ORDER'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*SELECTION SCREEN                                                      *&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-004 .&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: s_vbeln FOR vbak-vbeln ,&lt;/P&gt;&lt;P&gt;                s_auart FOR v_auart ,&lt;/P&gt;&lt;P&gt;                s_vkorg FOR v_vkorg ,&lt;/P&gt;&lt;P&gt;                s_spart FOR v_spart ,&lt;/P&gt;&lt;P&gt;                s_kunnr FOR v_kunnr ,&lt;/P&gt;&lt;P&gt;                s_matnr FOR v_matnr .&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK blk1 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*AT SELECTION SCREEN                                                   *&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE vbeln&lt;/P&gt;&lt;P&gt;                 FROM vbak INTO vbak-vbeln&lt;/P&gt;&lt;P&gt;                 WHERE vbeln IN s_vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e202.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;*START OF SELECTION                                                    *&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;START-OF-SELECTION .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM data_select.&lt;/P&gt;&lt;P&gt;  PERFORM t_sort USING i_sort .&lt;/P&gt;&lt;P&gt;  PERFORM event_cat USING i_event .&lt;/P&gt;&lt;P&gt;  PERFORM fld_cat USING i_fldcat[] .&lt;/P&gt;&lt;P&gt;  PERFORM t_layout USING i_layout .&lt;/P&gt;&lt;P&gt;  PERFORM fld_cat2 USING i_fldcat2[] .&lt;/P&gt;&lt;P&gt;  PERFORM call_alv.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATA SELECT                                                          *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  DATA_SELECT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM data_select .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH: it_vbfa, it_so1, it_del_ful ,it_del1 .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; BREAK-POINT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT&lt;/P&gt;&lt;P&gt;        a~vbeln&lt;/P&gt;&lt;P&gt;        a~auart&lt;/P&gt;&lt;P&gt;        a~vkorg&lt;/P&gt;&lt;P&gt;        a~spart&lt;/P&gt;&lt;P&gt;        a~kunnr&lt;/P&gt;&lt;P&gt;        b~posnr&lt;/P&gt;&lt;P&gt;        b~matnr&lt;/P&gt;&lt;P&gt;        c~maktx&lt;/P&gt;&lt;P&gt;        b~kwmeng&lt;/P&gt;&lt;P&gt;        b~vrkme&lt;/P&gt;&lt;P&gt;        INTO TABLE it_so1 FROM vbak AS a&lt;/P&gt;&lt;P&gt;              JOIN vbap AS b ON b&lt;SUB&gt;vbeln = a&lt;/SUB&gt;vbeln&lt;/P&gt;&lt;P&gt;              JOIN makt AS c ON c&lt;SUB&gt;matnr = b&lt;/SUB&gt;matnr&lt;/P&gt;&lt;P&gt;              AND c~spras = sy-langu&lt;/P&gt;&lt;P&gt;              WHERE a~vbeln IN s_vbeln .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;COLURING DISPLAY                                                     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: ld_color(1) TYPE  c .&lt;/P&gt;&lt;P&gt;  LOOP AT it_so1 INTO wa_so.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate color variable with colour properties&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Char 1 = C (This is a color property)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Char 2 = 3 (Color codes: 1 - 7)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Char 3 = Intensified on/off ( 1 or 0 )&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Char 4 = Inverse display on/off ( 1 or 0 )&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          i.e. wa_ekko-line_color = 'C410'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ld_color = ld_color + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Only 7 colours so need to reset color value&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF ld_color = 8.&lt;/P&gt;&lt;P&gt;      ld_color = 1.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    CONCATENATE 'C' ld_color '10' INTO wa_so-line_color.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; wa_ekko-line_color = 'C410'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    MODIFY it_so1 FROM wa_so.&lt;/P&gt;&lt;P&gt;  ENDLOOP .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT vbelv&lt;/P&gt;&lt;P&gt;           posnv&lt;/P&gt;&lt;P&gt;           vbeln&lt;/P&gt;&lt;P&gt;           posnn&lt;/P&gt;&lt;P&gt;           vbtyp_n&lt;/P&gt;&lt;P&gt;           INTO TABLE it_vbfa&lt;/P&gt;&lt;P&gt;           FROM vbfa&lt;/P&gt;&lt;P&gt;           FOR ALL ENTRIES IN it_so1&lt;/P&gt;&lt;P&gt;           WHERE vbelv = it_so1-vbeln&lt;/P&gt;&lt;P&gt;           AND   posnn = it_so1-posnr&lt;/P&gt;&lt;P&gt;           AND vbtyp_n ='J' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT vbeln&lt;/P&gt;&lt;P&gt;             posnr&lt;/P&gt;&lt;P&gt;             matnr&lt;/P&gt;&lt;P&gt;             werks&lt;/P&gt;&lt;P&gt;             lgort&lt;/P&gt;&lt;P&gt;             charg&lt;/P&gt;&lt;P&gt;             lfimg&lt;/P&gt;&lt;P&gt;             vrkme&lt;/P&gt;&lt;P&gt;             FROM lips INTO TABLE it_del_ful&lt;/P&gt;&lt;P&gt;             FOR ALL ENTRIES IN it_vbfa&lt;/P&gt;&lt;P&gt;             WHERE vbeln = it_vbfa-vbeln&lt;/P&gt;&lt;P&gt;             AND   posnr = it_vbfa-posnn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DATA_SELECT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="16" type="ul"&gt;&lt;P&gt;EVENT CATALOG ****************************************&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  EVENT_CAT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_I_EVENT  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM event_cat  USING    p_i_event TYPE slis_t_event .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH p_i_event .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_LIST_TYPE           = 0&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;P&gt;      et_events             = p_i_event&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  LIST_TYPE_WRONG       = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE p_i_event WITH KEY name = slis_ev_top_of_page INTO t_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE 'TOP_OF_PAGE' TO t_event-form.&lt;/P&gt;&lt;P&gt;    MODIFY p_i_event FROM t_event INDEX sy-tabix TRANSPORTING form.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR t_event .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " EVENT_CAT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;*********&lt;STRONG&gt;FORM FOR EVENT TOP_OF_PAGE&lt;/STRONG&gt;*********************************&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM top_of_page .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH i_listheader.&lt;/P&gt;&lt;P&gt;  DATA: t_header TYPE slis_listheader.&lt;/P&gt;&lt;P&gt;  DATA: v_text(50).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE sy-datum TO v_text.&lt;/P&gt;&lt;P&gt;  CLEAR t_header.&lt;/P&gt;&lt;P&gt;  t_header-typ = 'S'.&lt;/P&gt;&lt;P&gt;  t_header-key = 'Date'.&lt;/P&gt;&lt;P&gt;  t_header-info = v_text.&lt;/P&gt;&lt;P&gt;  APPEND t_header TO i_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR t_header.&lt;/P&gt;&lt;P&gt;  CLEAR v_text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WRITE:  'SALES ORDER REPORT  ' TO v_text .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; t_header-typ = 'S'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; t_header-key = 'TITLE'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; t_header-info = v_text.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; APPEND t_header TO i_listheader.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      it_list_commentary = i_listheader&lt;/P&gt;&lt;P&gt;      I_LOGO             = 'ENJOYSAP_LOGO' .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_END_OF_LIST_GRID       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="8" type="ul"&gt;&lt;P&gt; FIRST ALV GRID DISPLAY ***************************************&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  CALL_ALV&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM call_alv .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;P&gt;     i_callback_program                = sy-repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_CALLBACK_PF_STATUS_SET          = 'SET_PF_STATUS'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     i_callback_user_command           = 'USER_COMMAND1'&lt;/P&gt;&lt;P&gt;     i_callback_top_of_page            = 'TOP_OF_PAGE'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I_BACKGROUND_ID                   = 'ALV_BACKGROUND'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     i_grid_title                      = i_title_vbfa&lt;/P&gt;&lt;P&gt;     is_layout                         = i_layout&lt;/P&gt;&lt;P&gt;     it_fieldcat                       = i_fldcat[]&lt;/P&gt;&lt;P&gt;     it_sort                           = i_sort&lt;/P&gt;&lt;P&gt;     it_events                         = i_event&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;     t_outtab                          = it_so1&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CALL_ALV&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="14" type="ul"&gt;&lt;P&gt;FIRST FIELDCATALOG *************************************&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FLD_CAT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_I_FLDCAT[]  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM fld_cat  USING    p_i_fldcat TYPE slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR i_fldcat.&lt;/P&gt;&lt;P&gt;  i_fldcat-fieldname   = 'VBELN'. "FIELD FOR WHICH CATALOG ID FILLED&lt;/P&gt;&lt;P&gt;  i_fldcat-tabname     = 'IT_SO1'."TABLE NAME&lt;/P&gt;&lt;P&gt;  i_fldcat-seltext_m   = 'SALES ORDER NO.'.&lt;/P&gt;&lt;P&gt;  i_fldcat-col_pos     = 1.        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  i_fldcat-outputlen   = 20.       " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  i_fldcat-emphasize   = 'X'.      " COLOR OF THIS COLUMN.&lt;/P&gt;&lt;P&gt;  i_fldcat-key         = 'X'.      " SO THAT THIS FIELD IS NOT&lt;/P&gt;&lt;P&gt;  "SCROLLABLE AND HIDDABLE.&lt;/P&gt;&lt;P&gt;  i_fldcat-just(1)     = 'C'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND i_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR i_fldcat.&lt;/P&gt;&lt;P&gt;  i_fldcat-fieldname   = 'AUART'. "FIELD FOR WHICH CATALOG ID FILLED&lt;/P&gt;&lt;P&gt;  i_fldcat-tabname     = 'IT_SO1'."TABLE NAME&lt;/P&gt;&lt;P&gt;  i_fldcat-seltext_m   = 'SALES DOC. TYPE'.&lt;/P&gt;&lt;P&gt;  i_fldcat-col_pos     = 2.        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  i_fldcat-outputlen   = 15.       " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  i_fldcat-emphasize   = 'X'.      " COLOR OF THIS COLUMN.&lt;/P&gt;&lt;P&gt;  i_fldcat-key         = 'X'.      " SO THAT THIS FIELD IS NOT&lt;/P&gt;&lt;P&gt;  "SCROLLABLE AND HIDDABLE.&lt;/P&gt;&lt;P&gt;  i_fldcat-just(1)     = 'C'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND i_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR i_fldcat.&lt;/P&gt;&lt;P&gt;  i_fldcat-fieldname   = 'VKORG'. "FIELD FOR WHICH CATALOG ID FILLED&lt;/P&gt;&lt;P&gt;  i_fldcat-tabname     = 'IT_SO1'.&lt;/P&gt;&lt;P&gt;  i_fldcat-seltext_m   = 'SALES ORG.'.&lt;/P&gt;&lt;P&gt;  i_fldcat-col_pos     = 3.        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  i_fldcat-outputlen   = 12.       " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  i_fldcat-emphasize   = 'X'.      " COLOR OF THIS COLUMN.&lt;/P&gt;&lt;P&gt;  i_fldcat-key         = 'X'.      " SO THAT THIS FIELD IS NOT&lt;/P&gt;&lt;P&gt;  "SCROLLABLE AND HIDDABLE.&lt;/P&gt;&lt;P&gt;  i_fldcat-just(1)     = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND i_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR i_fldcat.&lt;/P&gt;&lt;P&gt;  i_fldcat-fieldname   = 'SPART'. "FIELD FOR WHICH CATALOG ID FILLED&lt;/P&gt;&lt;P&gt;  i_fldcat-tabname     = 'IT_SO1'.&lt;/P&gt;&lt;P&gt;  i_fldcat-seltext_m   = 'DIVISION'.&lt;/P&gt;&lt;P&gt;  i_fldcat-col_pos     = 4.        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  i_fldcat-outputlen   = 10.       " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  i_fldcat-emphasize   = 'X'.      " COLOR OF THIS COLUMN.&lt;/P&gt;&lt;P&gt;  i_fldcat-key         = 'X'.      " SO THAT THIS FIELD IS NOT&lt;/P&gt;&lt;P&gt;  "SCROLLABLE AND HIDDABLE.&lt;/P&gt;&lt;P&gt;  i_fldcat-just(1)     = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND i_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR i_fldcat.&lt;/P&gt;&lt;P&gt;  i_fldcat-fieldname   = 'KUNNR'. "FIELD FOR WHICH CATALOG ID FILLED&lt;/P&gt;&lt;P&gt;  i_fldcat-tabname     = 'IT_SO1'.&lt;/P&gt;&lt;P&gt;  i_fldcat-seltext_m   = 'SOLD TO PARTY'.&lt;/P&gt;&lt;P&gt;  i_fldcat-col_pos     = 5.        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  i_fldcat-outputlen   = 15.       " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  i_fldcat-emphasize   = 'X'.      " COLOR OF THIS COLUMN.&lt;/P&gt;&lt;P&gt;  i_fldcat-key         = 'X'.      " SO THAT THIS FIELD IS NOT&lt;/P&gt;&lt;P&gt;  "SCROLLABLE AND HIDDABLE.&lt;/P&gt;&lt;P&gt;  i_fldcat-just(1)     = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND i_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR i_fldcat.&lt;/P&gt;&lt;P&gt;  i_fldcat-fieldname   = 'POSNR'. "FIELD FOR WHICH CATALOG ID FILLED&lt;/P&gt;&lt;P&gt;  i_fldcat-tabname     = 'IT_SO1'.&lt;/P&gt;&lt;P&gt;  i_fldcat-seltext_m   = 'SALES DOC. ITEM'.&lt;/P&gt;&lt;P&gt;  i_fldcat-col_pos     = 6.        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  i_fldcat-outputlen   = 17.       " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  i_fldcat-emphasize   = 'X'.      " COLOR OF THIS COLUMN.&lt;/P&gt;&lt;P&gt;  i_fldcat-key         = 'X'.      " SO THAT THIS FIELD IS NOT&lt;/P&gt;&lt;P&gt;  "SCROLLABLE AND HIDDABLE.&lt;/P&gt;&lt;P&gt;  i_fldcat-just(1)     = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND i_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR i_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  i_fldcat-fieldname   = 'MATNR'. "FIELD FOR WHICH CATALOG ID FILLED&lt;/P&gt;&lt;P&gt;  i_fldcat-tabname     = 'IT_SO1'.&lt;/P&gt;&lt;P&gt;  i_fldcat-seltext_m   = 'MATERIAL NO.'.&lt;/P&gt;&lt;P&gt;  i_fldcat-col_pos     = 7.        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  i_fldcat-outputlen   = 20.       " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  i_fldcat-emphasize   = 'X'.      " COLOR OF THIS COLUMN.&lt;/P&gt;&lt;P&gt;  i_fldcat-key         = 'X'.      " SO THAT THIS FIELD IS NOT&lt;/P&gt;&lt;P&gt;  "SCROLLABLE AND HIDDABLE.&lt;/P&gt;&lt;P&gt;  i_fldcat-just(1)     = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND i_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR i_fldcat.&lt;/P&gt;&lt;P&gt;  i_fldcat-fieldname   = 'MAKTX'. "FIELD FOR WHICH CATALOG ID FILLED&lt;/P&gt;&lt;P&gt;  i_fldcat-tabname     = 'IT_SO1'.&lt;/P&gt;&lt;P&gt;  i_fldcat-seltext_m   = 'DESCRIPTION'.&lt;/P&gt;&lt;P&gt;  i_fldcat-col_pos     = 8.        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  i_fldcat-outputlen   = 20.       " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  i_fldcat-emphasize   = 'X'.      " COLOR OF THIS COLUMN.&lt;/P&gt;&lt;P&gt;  i_fldcat-key         = 'X'.      " SO THAT THIS FIELD IS NOT&lt;/P&gt;&lt;P&gt;  "SCROLLABLE AND HIDDABLE.&lt;/P&gt;&lt;P&gt;  i_fldcat-just(1)     = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND i_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR i_fldcat.&lt;/P&gt;&lt;P&gt;  i_fldcat-fieldname   = 'KWMENG'. "FIELD FOR WHICH CATALOG ID FILLED&lt;/P&gt;&lt;P&gt;  i_fldcat-tabname     = 'IT_SO1'.&lt;/P&gt;&lt;P&gt;  i_fldcat-seltext_m   = 'QUANTITY'.&lt;/P&gt;&lt;P&gt;  i_fldcat-col_pos     = 9.        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  i_fldcat-outputlen   = 15.       " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  i_fldcat-emphasize   = 'X'.      " COLOR OF THIS COLUMN.&lt;/P&gt;&lt;P&gt;  i_fldcat-key         = 'X'.      " SO THAT THIS FIELD IS NOT&lt;/P&gt;&lt;P&gt;  "SCROLLABLE AND HIDDABLE.&lt;/P&gt;&lt;P&gt;  i_fldcat-do_sum    = 'X'.        " For doing "SUM"&lt;/P&gt;&lt;P&gt;  i_fldcat-just(1)     = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND i_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR i_fldcat.&lt;/P&gt;&lt;P&gt;  i_fldcat-fieldname   = 'VRKME'. "FIELD FOR WHICH CATALOG ID FILLED&lt;/P&gt;&lt;P&gt;  i_fldcat-tabname     = 'IT_SO1'.&lt;/P&gt;&lt;P&gt;  i_fldcat-seltext_m   = 'SALES UNIT'.&lt;/P&gt;&lt;P&gt;  i_fldcat-col_pos     = 10.       " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  i_fldcat-outputlen   = 10.       " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  i_fldcat-emphasize   = 'X'.      " COLOR OF THIS COLUMN.&lt;/P&gt;&lt;P&gt;  i_fldcat-key         = 'X'.      " SO THAT THIS FIELD IS NOT&lt;/P&gt;&lt;P&gt;  "SCROLLABLE AND HIDDABLE.&lt;/P&gt;&lt;P&gt;  i_fldcat-just(1)     = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND i_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " FLD_CAT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="18" type="ul"&gt;&lt;P&gt;ALV SORTING  ***************************************&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SORT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_I_SORT  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM t_sort  USING    p_i_sort TYPE slis_t_sortinfo_alv .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: i_sort TYPE slis_sortinfo_alv .&lt;/P&gt;&lt;P&gt;  REFRESH p_i_sort .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR i_sort.&lt;/P&gt;&lt;P&gt;  i_sort-spos = 1.&lt;/P&gt;&lt;P&gt;  i_sort-tabname = 'IT_SO1'.&lt;/P&gt;&lt;P&gt;  i_sort-fieldname = 'VBELN'.&lt;/P&gt;&lt;P&gt;  i_sort-up = 'X'.&lt;/P&gt;&lt;P&gt;  i_sort-subtot = 'X'.&lt;/P&gt;&lt;P&gt;  i_sort-group = '*'.&lt;/P&gt;&lt;P&gt;  APPEND i_sort TO p_i_sort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SORT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*FORM SET_PF_STATUS USING rt_extab TYPE slis_t_extab.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SET PF-STATUS 'ZSTANDARD'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*ENDFORM. "Set_pf_status&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;**********&lt;STRONG&gt;FORM FOR EVENT USER_COMMAND1&lt;/STRONG&gt;*******************************&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM user_command1 USING r_ucomm LIKE sy-ucomm&lt;/P&gt;&lt;P&gt;                         rs_selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*CASE R_UCOMM .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   WHEN '&amp;amp;IC1' .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF rs_selfield-FIELDNAME = 'VBELN' .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WHEN OTHERS .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ENDCASE .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR wa_so.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH: it_del1 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF r_ucomm = '&amp;amp;IC1' AND rs_selfield-fieldname = 'VBELN' AND&lt;/P&gt;&lt;P&gt;  rs_selfield-value IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE it_so1 INTO wa_so INDEX rs_selfield-tabindex.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      LOOP AT it_vbfa INTO wa_vbfa WHERE vbelv = wa_so-vbeln&lt;/P&gt;&lt;P&gt;                                   AND   posnv = wa_so-posnr.&lt;/P&gt;&lt;P&gt;        READ TABLE it_del_ful INTO wa_it_del_ful&lt;/P&gt;&lt;P&gt;             WITH KEY vbeln = wa_vbfa-vbelv&lt;/P&gt;&lt;P&gt;                      posnr = wa_vbfa-posnn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          CLEAR wa_del.&lt;/P&gt;&lt;P&gt;          MOVE wa_it_del_ful TO wa_del.&lt;/P&gt;&lt;P&gt;          APPEND wa_del TO it_del1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="9" type="ul"&gt;&lt;P&gt;SECOND ALV GRID DISPLAY ***********************************&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;P&gt;    i_callback_program                = sy-repid&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PF_STATUS_SET          = 'SET_PF_STATUS'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    i_callback_user_command           = 'USER_COMMAND2'&lt;/P&gt;&lt;P&gt;    i_callback_top_of_page            = 'TOP_OF_PAGE'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_BACKGROUND_ID                   = 'ALV_BACKGROUND'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     i_grid_title                      = i_title_vbpa&lt;/P&gt;&lt;P&gt;    it_fieldcat                       = i_fldcat2[]&lt;/P&gt;&lt;P&gt;    it_sort                           = i_sort&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;    t_outtab                          = it_del_ful&lt;/P&gt;&lt;P&gt;            .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM .                    "USER_COMMAND1&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="10" type="ul"&gt;&lt;P&gt;FORM FOR EVENT USER_COMMAND 2 ******************************&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM user_command2 USING r_ucomm LIKE sy-ucomm&lt;/P&gt;&lt;P&gt;                         rs_selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR wa_so.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH: it_del1 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF r_ucomm = '&amp;amp;IC1' AND rs_selfield-fieldname = 'VBELN' AND&lt;/P&gt;&lt;P&gt;  rs_selfield-value IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE it_so1 INTO wa_so INDEX rs_selfield-tabindex.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF SY-SUBRC = 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      LOOP AT it_vbfa INTO wa_vbfa WHERE vbelv = WA_SO-vbeln&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                   AND   posnv = WA_SO-posnr.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE it_del_ful INTO wa_it_del_ful&lt;/P&gt;&lt;P&gt;         WITH KEY vbeln = rs_selfield-value&lt;/P&gt;&lt;P&gt;                  posnr = wa_vbfa-posnn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF rs_selfield-fieldname = 'VBELN'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SET PARAMETER ID 'VL' FIELD wa_vbfa-vbeln .&lt;/P&gt;&lt;P&gt;      CALL TRANSACTION 'VL03' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM .                    "USER_COMMAND2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="9" type="ul"&gt;&lt;P&gt;SECOND FIELDCATALOG ******************************************&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  FLD_CAT2&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_I_FLDCAT2[]  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM fld_cat2  USING    p_i_fldcat2 TYPE slis_t_fieldcat_alv .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR i_fldcat2.&lt;/P&gt;&lt;P&gt;  i_fldcat2-fieldname   = 'VBELN'. "FIELD FOR WHICH CATALOG ID FILLED&lt;/P&gt;&lt;P&gt;  i_fldcat2-tabname     = 'IT_DEL_FUL'."TABLE NAME&lt;/P&gt;&lt;P&gt;  i_fldcat2-seltext_m   = 'DELIVERY NO.'.&lt;/P&gt;&lt;P&gt;  i_fldcat2-col_pos     = 1.        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  i_fldcat2-outputlen   = 20.       " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  i_fldcat2-emphasize   = 'X'.      " COLOR OF THIS COLUMN.&lt;/P&gt;&lt;P&gt;  i_fldcat2-key         = 'X'.      " SO THAT THIS FIELD IS NOT&lt;/P&gt;&lt;P&gt;  "SCROLLABLE AND HIDDABLE.&lt;/P&gt;&lt;P&gt;  i_fldcat2-hotspot     = 'X'.&lt;/P&gt;&lt;P&gt;  i_fldcat2-just(1)     = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND i_fldcat2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR i_fldcat2.&lt;/P&gt;&lt;P&gt;  i_fldcat2-fieldname   = 'POSNR'. "FIELD FOR WHICH CATALOG ID FILLED&lt;/P&gt;&lt;P&gt;  i_fldcat2-seltext_m   = 'DELIVERY ITEM'.&lt;/P&gt;&lt;P&gt;  i_fldcat2-col_pos     = 2.        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  i_fldcat2-outputlen   = 20.       " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  i_fldcat2-emphasize   = 'X'.      " COLOR OF THIS COLUMN.&lt;/P&gt;&lt;P&gt;  i_fldcat2-key         = 'X'.      " SO THAT THIS FIELD IS NOT&lt;/P&gt;&lt;P&gt;  "SCROLLABLE AND HIDDABLE.&lt;/P&gt;&lt;P&gt;  i_fldcat2-just(1)     = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND i_fldcat2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR i_fldcat2.&lt;/P&gt;&lt;P&gt;  i_fldcat2-fieldname   = 'MATNR'. "FIELD FOR WHICH CATALOG ID FILLED&lt;/P&gt;&lt;P&gt;  i_fldcat2-seltext_m   = 'MATERIAL NO.'.&lt;/P&gt;&lt;P&gt;  i_fldcat2-col_pos     = 3.        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  i_fldcat2-outputlen   = 20.       " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  i_fldcat2-emphasize   = 'X'.      " COLOR OF THIS COLUMN.&lt;/P&gt;&lt;P&gt;  i_fldcat2-key         = 'X'.      " SO THAT THIS FIELD IS NOT&lt;/P&gt;&lt;P&gt;  "SCROLLABLE AND HIDDABLE.&lt;/P&gt;&lt;P&gt;  i_fldcat2-just(1)     = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND i_fldcat2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR i_fldcat2.&lt;/P&gt;&lt;P&gt;  i_fldcat2-fieldname   = 'WERKS'. "FIELD FOR WHICH CATALOG ID FILLED&lt;/P&gt;&lt;P&gt;  i_fldcat2-seltext_m   = 'PLANT.'.&lt;/P&gt;&lt;P&gt;  i_fldcat2-col_pos     = 4.        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  i_fldcat2-outputlen   = 20.       " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  i_fldcat2-emphasize   = 'X'.      " COLOR OF THIS COLUMN.&lt;/P&gt;&lt;P&gt;  i_fldcat2-key         = 'X'.      " SO THAT THIS FIELD IS NOT&lt;/P&gt;&lt;P&gt;  "SCROLLABLE AND HIDDABLE.&lt;/P&gt;&lt;P&gt;  i_fldcat2-just(1)     = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND i_fldcat2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR i_fldcat2.&lt;/P&gt;&lt;P&gt;  i_fldcat2-fieldname   = 'LGORT'. "FIELD FOR WHICH CATALOG ID FILLED&lt;/P&gt;&lt;P&gt;  i_fldcat2-seltext_m   = 'ST. LOCATION'.&lt;/P&gt;&lt;P&gt;  i_fldcat2-col_pos     = 5.        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  i_fldcat2-outputlen   = 20.       " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  i_fldcat2-emphasize   = 'X'.      " COLOR OF THIS COLUMN.&lt;/P&gt;&lt;P&gt;  i_fldcat2-key         = 'X'.      " SO THAT THIS FIELD IS NOT&lt;/P&gt;&lt;P&gt;  "SCROLLABLE AND HIDDABLE.&lt;/P&gt;&lt;P&gt;  i_fldcat2-just(1)     = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND i_fldcat2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR i_fldcat2.&lt;/P&gt;&lt;P&gt;  i_fldcat2-fieldname   = 'CHARG'. "FIELD FOR WHICH CATALOG ID FILLED&lt;/P&gt;&lt;P&gt;  i_fldcat2-seltext_m   = 'BATCH NO.'.&lt;/P&gt;&lt;P&gt;  i_fldcat2-col_pos     = 6.        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  i_fldcat2-outputlen   = 20.       " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  i_fldcat2-emphasize   = 'X'.      " COLOR OF THIS COLUMN.&lt;/P&gt;&lt;P&gt;  i_fldcat2-key         = 'X'.      " SO THAT THIS FIELD IS NOT&lt;/P&gt;&lt;P&gt;  "SCROLLABLE AND HIDDABLE.&lt;/P&gt;&lt;P&gt;  i_fldcat2-just(1)     = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND i_fldcat2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR i_fldcat2.&lt;/P&gt;&lt;P&gt;  i_fldcat2-fieldname   = 'LFIMG'. "FIELD FOR WHICH CATALOG ID FILLED&lt;/P&gt;&lt;P&gt;  i_fldcat2-seltext_m   = 'ACT. DEL. QTY.'.&lt;/P&gt;&lt;P&gt;  i_fldcat2-col_pos     = 7.        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  i_fldcat2-outputlen   = 20.       " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  i_fldcat2-emphasize   = 'X'.      " COLOR OF THIS COLUMN.&lt;/P&gt;&lt;P&gt;  i_fldcat2-key         = 'X'.      " SO THAT THIS FIELD IS NOT&lt;/P&gt;&lt;P&gt;  "SCROLLABLE AND HIDDABLE.&lt;/P&gt;&lt;P&gt;  i_fldcat2-just(1)     = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND i_fldcat2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR i_fldcat2.&lt;/P&gt;&lt;P&gt;  i_fldcat2-fieldname   = 'VRKME'. "FIELD FOR WHICH CATALOG ID FILLED&lt;/P&gt;&lt;P&gt;  i_fldcat2-seltext_m   = 'SALES UNIT.'.&lt;/P&gt;&lt;P&gt;  i_fldcat2-col_pos     = 8.        " POSITION OF THE COLUMN.&lt;/P&gt;&lt;P&gt;  i_fldcat2-outputlen   = 20.       " SET THE OUTPUT LENGTH.&lt;/P&gt;&lt;P&gt;  i_fldcat2-emphasize   = 'X'.      " COLOR OF THIS COLUMN.&lt;/P&gt;&lt;P&gt;  i_fldcat2-key         = 'X'.      " SO THAT THIS FIELD IS NOT&lt;/P&gt;&lt;P&gt;  "SCROLLABLE AND HIDDABLE.&lt;/P&gt;&lt;P&gt;  i_fldcat2-just(1)     = 'C'.&lt;/P&gt;&lt;P&gt;  APPEND i_fldcat2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                                                    " FLD_CAT2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="17" type="ul"&gt;&lt;P&gt;ALV LAYOUT *******************************************&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  LAYOUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_I_LAYOUT  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM t_layout  USING    p_i_layout TYPE slis_layout_alv .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  p_i_layout-zebra  = 'X'.&lt;/P&gt;&lt;P&gt;  p_i_layout-totals_text = 'GRAND TOTAL ='.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; p_i_layout-CONFIRMATION_PROMPT = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; p_i_layout-DEF_STATUS  = ' '.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  p_i_layout-info_fieldname = 'LINE_COLOR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " LAYOUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sankar M&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 May 2007 03:23:23 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/steps-for-interactive-alv-with-classes/m-p/2196779#M468961</guid>
      <dc:creator>p291102</dc:creator>
      <dc:date>2007-05-08T03:23:23Z</dc:date>
    </item>
    <item>
      <title>Re: Steps for Interactive ALV with Classes</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/steps-for-interactive-alv-with-classes/m-p/2196780#M468962</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Bis the basic program to develop a OO alv with one scree. What more you have to do for a secondary screen, store the conditions of secondary lists in global variable. Call a second screen in the PAI of the first screen and display the details there. Similarly in the second screen, you also have to create a custom control and all other steps will be same as the first screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;STEPS: &lt;/P&gt;&lt;P&gt;1.	Call a screen.&lt;/P&gt;&lt;P&gt;2.	Go to the screen layout  and add a custom control .&lt;/P&gt;&lt;P&gt;3.	Go to attribute and give a name to the custom control (Ex: 'CUSTOM_CONTROL').&lt;/P&gt;&lt;P&gt;4.	Give a name to the ok_code ( Ex: ok_code) in the attribute of the screen. &lt;/P&gt;&lt;P&gt;5.	Data Declaration section:&lt;/P&gt;&lt;P&gt;I.	Data declaration for ALV&lt;/P&gt;&lt;P&gt;a.	Declare a object type cl_gui_alv_grid for ALV Grid instance referance &lt;/P&gt;&lt;P&gt;b.	Declare a object type cl_gui_custom_container for Custom container instance referance&lt;/P&gt;&lt;P&gt;c.	Declare Name of the custom control added to the screen&lt;/P&gt;&lt;P&gt;d.	Declare field catalog table of type lvc_t_fcat.&lt;/P&gt;&lt;P&gt;e.	Declare layout of type lvc_s_layo. &lt;/P&gt;&lt;P&gt;II.	Data declaration for fetching data as input&lt;/P&gt;&lt;P&gt;III.	Declare variables for ok_code.&lt;/P&gt;&lt;P&gt;6.	Set pf-status and titlebar for the screen.&lt;/P&gt;&lt;P&gt;7.	Write PBO. IN PBO do the following:&lt;/P&gt;&lt;P&gt;i.	Check whether gr_alvgrid is initial.&lt;/P&gt;&lt;P&gt;a.	If yes do the following.&lt;/P&gt;&lt;P&gt;&amp;#149;	Create instance for  custom container (gr_container) by passing the container name.&lt;/P&gt;&lt;P&gt;&amp;#149;	Create instance for ALV grid by passing the custom control instance reference.&lt;/P&gt;&lt;P&gt;&amp;#149;	select the material data from database&lt;/P&gt;&lt;P&gt;&amp;#149;	Build field ctalog&lt;/P&gt;&lt;P&gt;&amp;#149;	Build layout&lt;/P&gt;&lt;P&gt;&amp;#149;	Call method &amp;#145;set_table_for_first_display&amp;#146; for the object gr_alvgrid(alv grid instance reference) with passing layout, input table and field catalog.&lt;/P&gt;&lt;P&gt;b.	If NO do the following.&lt;/P&gt;&lt;P&gt;&amp;#149;	Call method &amp;#145;refresh_table_display for the object gr_alvgrid(alv grid instance reference).&lt;/P&gt;&lt;P&gt;ii.	&lt;/P&gt;&lt;P&gt;8.	Write PAI. IN PAI do the following:&lt;/P&gt;&lt;P&gt;         Check the ok_code, if &amp;#145;Exit&amp;#146; then leave from program.&lt;/P&gt;&lt;P&gt;         All the user commands where user do any actions in the screen will be code here . For this purpose check the value of ok_code and according that ok_code, code the functionality for the particular user actions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  zdemoab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************&lt;/P&gt;&lt;P&gt;*DATA DECLARATION&lt;/P&gt;&lt;P&gt;*************************************&lt;/P&gt;&lt;P&gt;*---Global data deckaration for alv&lt;/P&gt;&lt;P&gt;*--ALV Grid instance referance&lt;/P&gt;&lt;P&gt;DATA: gr_alvgrid TYPE REF TO cl_gui_alv_grid,&lt;/P&gt;&lt;P&gt;*--Name of the custom control added to the screen&lt;/P&gt;&lt;P&gt;      gc_custom_control_name TYPE scrfname VALUE 'CUSTOM_CONTROL',&lt;/P&gt;&lt;P&gt;*--Custom container instance referance&lt;/P&gt;&lt;P&gt;      gr_container TYPE REF TO cl_gui_custom_container,&lt;/P&gt;&lt;P&gt;*--Field catalog table&lt;/P&gt;&lt;P&gt;      gt_fieldcat TYPE lvc_t_fcat,&lt;/P&gt;&lt;P&gt;*--Layout structure&lt;/P&gt;&lt;P&gt;      gs_layout TYPE lvc_s_layo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: ok_code LIKE sy-ucomm,&lt;/P&gt;&lt;P&gt;      save_ok LIKE sy-ucomm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---Input table&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_mara,&lt;/P&gt;&lt;P&gt;        matnr TYPE mara-matnr,&lt;/P&gt;&lt;P&gt;        mtart TYPE mara-mtart,&lt;/P&gt;&lt;P&gt;        matkl TYPE mara-matkl,&lt;/P&gt;&lt;P&gt;        meins TYPE mara-meins,&lt;/P&gt;&lt;P&gt;      END OF t_mara.&lt;/P&gt;&lt;P&gt;TYPES: t_mara_table TYPE STANDARD TABLE OF t_mara.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: gt_mara TYPE STANDARD TABLE OF t_mara.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************&lt;/P&gt;&lt;P&gt;*MAIN&lt;/P&gt;&lt;P&gt;*************************************&lt;/P&gt;&lt;P&gt;CALL SCREEN 101.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  STATUS_0101  OUTPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE status_0101 OUTPUT.&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'STATUS-0101'.&lt;/P&gt;&lt;P&gt;  SET TITLEBAR 'TITLE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " STATUS_0101  OUTPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  display_alv  OUTPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE display_alv OUTPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF gr_alvgrid IS INITIAL.&lt;/P&gt;&lt;P&gt;*----Create custom container instance&lt;/P&gt;&lt;P&gt;    CREATE OBJECT gr_container&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        container_name              = gc_custom_control_name&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        cntl_error                  = 1&lt;/P&gt;&lt;P&gt;        cntl_system_error           = 2&lt;/P&gt;&lt;P&gt;        create_error                = 3&lt;/P&gt;&lt;P&gt;        lifetime_error              = 4&lt;/P&gt;&lt;P&gt;        lifetime_dynpro_dynpro_link = 5&lt;/P&gt;&lt;P&gt;        OTHERS                      = 6 .&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----Create ALV grid instance&lt;/P&gt;&lt;P&gt;    CREATE OBJECT gr_alvgrid&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        i_parent          = gr_container&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        error_cntl_create = 1&lt;/P&gt;&lt;P&gt;        error_cntl_init   = 2&lt;/P&gt;&lt;P&gt;        error_cntl_link   = 3&lt;/P&gt;&lt;P&gt;        error_dp_create   = 4&lt;/P&gt;&lt;P&gt;        OTHERS            = 5 .&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;select the material data from database&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM get_input CHANGING gt_mara..&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;prepare field catalog&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM prepare_fieldcatalog CHANGING gt_fieldcat.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;prepare layout&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM prepare_layout CHANGING gs_layout.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL METHOD gr_alvgrid-&amp;gt;set_table_for_first_display&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        is_layout                     = gs_layout&lt;/P&gt;&lt;P&gt;      CHANGING&lt;/P&gt;&lt;P&gt;        it_outtab                     = gt_mara[]&lt;/P&gt;&lt;P&gt;        it_fieldcatalog               = gt_fieldcat&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        invalid_parameter_combination = 1&lt;/P&gt;&lt;P&gt;        program_error                 = 2&lt;/P&gt;&lt;P&gt;        too_many_lines                = 3&lt;/P&gt;&lt;P&gt;        OTHERS                        = 4.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    CALL METHOD gr_alvgrid-&amp;gt;refresh_table_display&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        finished = 1&lt;/P&gt;&lt;P&gt;        OTHERS   = 2.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " display_alv  OUTPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_input&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_input CHANGING gt_mara_table TYPE t_mara_table.&lt;/P&gt;&lt;P&gt;  SELECT matnr mtart matkl meins INTO TABLE gt_mara_table&lt;/P&gt;&lt;P&gt;                                 FROM mara UP TO 10 ROWS.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_input&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  prepare_fieldcatalog&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM prepare_fieldcatalog  CHANGING gt_fieldcat_table TYPE lvc_t_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: ls_fcat TYPE lvc_s_fcat,&lt;/P&gt;&lt;P&gt;        l_col_no TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: ls_fcat,&lt;/P&gt;&lt;P&gt;         l_col_no .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_col_no = l_col_no + 1.&lt;/P&gt;&lt;P&gt;  ls_fcat-fieldname = 'MATNR'.&lt;/P&gt;&lt;P&gt;  ls_fcat-ref_table = 'MARA'.&lt;/P&gt;&lt;P&gt;  ls_fcat-col_pos   = l_col_no.&lt;/P&gt;&lt;P&gt;  ls_fcat-outputlen = 18.&lt;/P&gt;&lt;P&gt;  ls_fcat-coltext   = 'Material No'.&lt;/P&gt;&lt;P&gt;  ls_fcat-seltext   = 'Material No'.&lt;/P&gt;&lt;P&gt;  APPEND ls_fcat TO gt_fieldcat_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_col_no = l_col_no + 1.&lt;/P&gt;&lt;P&gt;  ls_fcat-fieldname = 'MTART'.&lt;/P&gt;&lt;P&gt;  ls_fcat-ref_table = 'MARA'.&lt;/P&gt;&lt;P&gt;  ls_fcat-col_pos   = l_col_no.&lt;/P&gt;&lt;P&gt;  ls_fcat-outputlen = 4.&lt;/P&gt;&lt;P&gt;  ls_fcat-coltext   = 'Material type'.&lt;/P&gt;&lt;P&gt;  ls_fcat-seltext   = 'Material type'.&lt;/P&gt;&lt;P&gt;  APPEND ls_fcat TO gt_fieldcat_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_col_no = l_col_no + 1.&lt;/P&gt;&lt;P&gt;  ls_fcat-fieldname = 'MATKL'.&lt;/P&gt;&lt;P&gt;  ls_fcat-ref_table = 'MARA'.&lt;/P&gt;&lt;P&gt;  ls_fcat-col_pos   = l_col_no.&lt;/P&gt;&lt;P&gt;  ls_fcat-outputlen = 9.&lt;/P&gt;&lt;P&gt;  ls_fcat-coltext   = 'Material group'.&lt;/P&gt;&lt;P&gt;  ls_fcat-seltext   = 'Material group'.&lt;/P&gt;&lt;P&gt;  APPEND ls_fcat TO gt_fieldcat_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_col_no = l_col_no + 1.&lt;/P&gt;&lt;P&gt;  ls_fcat-fieldname = 'MEINS'.&lt;/P&gt;&lt;P&gt;  ls_fcat-ref_table = 'MARA'.&lt;/P&gt;&lt;P&gt;  ls_fcat-col_pos   = l_col_no.&lt;/P&gt;&lt;P&gt;  ls_fcat-outputlen = 3.&lt;/P&gt;&lt;P&gt;  ls_fcat-coltext   = 'Unit'.&lt;/P&gt;&lt;P&gt;  ls_fcat-seltext   = 'Unit'.&lt;/P&gt;&lt;P&gt;  APPEND ls_fcat TO gt_fieldcat_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR: ls_fcat,&lt;/P&gt;&lt;P&gt;         l_col_no .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " prepare_fieldcatalog&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  prepare_layout&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM prepare_layout  CHANGING p_gs_layout TYPE lvc_s_layo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  p_gs_layout-zebra = 'X'.&lt;/P&gt;&lt;P&gt;  p_gs_layout-grid_title = 'Material'.&lt;/P&gt;&lt;P&gt;  p_gs_layout-smalltitle = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " prepare_layout&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  USER_COMMAND_0101  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE user_command_0101 INPUT.&lt;/P&gt;&lt;P&gt;  save_ok = ok_code.&lt;/P&gt;&lt;P&gt;  CLEAR ok_code.&lt;/P&gt;&lt;P&gt;  CASE save_ok.&lt;/P&gt;&lt;P&gt;    WHEN 'EXIT'.&lt;/P&gt;&lt;P&gt;      PERFORM exit_program.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " USER_COMMAND_0101  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  exit_program&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM exit_program .&lt;/P&gt;&lt;P&gt;  LEAVE PROGRAM.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 May 2007 03:31:45 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/steps-for-interactive-alv-with-classes/m-p/2196780#M468962</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-08T03:31:45Z</dc:date>
    </item>
    <item>
      <title>Re: Steps for Interactive ALV with Classes</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/steps-for-interactive-alv-with-classes/m-p/2196781#M468963</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Anil,&lt;/P&gt;&lt;P&gt;           Refer this code for interative ALV with classes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS  LCL_EVENT_RECEIVER DEFINITION DEFERRED.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS LCL_EVENT_RECEIVER DEFINITION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PUBLIC SECTION.&lt;/P&gt;&lt;P&gt;    METHODS :&lt;/P&gt;&lt;P&gt;      HANDLE_DOUBLE_CLICK  FOR EVENT DOUBLE_CLICK  OF CL_GUI_ALV_GRID&lt;/P&gt;&lt;P&gt;                      IMPORTING E_ROW E_COLUMN,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      HANDLE_HOTSPOT_CLICK FOR EVENT HOTSPOT_CLICK OF CL_GUI_ALV_GRID&lt;/P&gt;&lt;P&gt;                      IMPORTING E_ROW_ID E_COLUMN_ID ES_ROW_NO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.&lt;/P&gt;&lt;P&gt;data :evt_tab type cntl_simple_events,&lt;/P&gt;&lt;P&gt;      evt_tab_line like line of evt_tab .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : v_cnt type i .&lt;/P&gt;&lt;P&gt;DATA : v_cnt2 type i .&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_MARA OCCURS 1,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MATNR TYPE MATNR,&lt;/P&gt;&lt;P&gt;        ERNAM TYPE ERNAM,&lt;/P&gt;&lt;P&gt;        MTART TYPE MTART,&lt;/P&gt;&lt;P&gt;        MBRSH TYPE MBRSH,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       END OF IT_MARA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF IT_MARC OCCURS 1,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        MATNR TYPE MATNR,&lt;/P&gt;&lt;P&gt;        WERKS TYPE WERKS_D,&lt;/P&gt;&lt;P&gt;        PSTAT TYPE PSTAT_D,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       END OF IT_MARC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: OK_CODE LIKE SY-UCOMM,&lt;/P&gt;&lt;P&gt;      G_CONTAINER  TYPE SCRFNAME VALUE 'G_CUSTOM_CONTROL',&lt;/P&gt;&lt;P&gt;      G_CONTAINER2 TYPE SCRFNAME VALUE 'G_CONTROL2',&lt;/P&gt;&lt;P&gt;      G_GRID   TYPE REF TO CL_GUI_ALV_GRID,&lt;/P&gt;&lt;P&gt;      G_GRID2  TYPE REF TO CL_GUI_ALV_GRID,&lt;/P&gt;&lt;P&gt;      G_CUSTOM_CONTAINER  TYPE REF TO CL_GUI_CUSTOM_CONTAINER,&lt;/P&gt;&lt;P&gt;      G_CUSTOM_CONTAINER2 TYPE REF TO CL_GUI_CUSTOM_CONTAINER,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      EVENT_HANDLER TYPE REF TO LCL_EVENT_RECEIVER,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      TEMP(1) TYPE C .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: GS_LAYOUT       TYPE LVC_S_LAYO,&lt;/P&gt;&lt;P&gt;      GS_LAYOUT2      TYPE LVC_S_LAYO,&lt;/P&gt;&lt;P&gt;      GT_FIELDCATALOG TYPE LVC_T_FCAT,&lt;/P&gt;&lt;P&gt;      GT_FIELDCAT2    TYPE LVC_T_FCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : L_FIELDCAT     TYPE LVC_S_FCAT.&lt;/P&gt;&lt;P&gt;DATA : OK_0100 LIKE SY-UCOMM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT * FROM MARA&lt;/P&gt;&lt;P&gt;         INTO CORRESPONDING FIELDS OF TABLE IT_MARA&lt;/P&gt;&lt;P&gt;         WHERE MBRSH = 'A'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT MATNR&lt;/P&gt;&lt;P&gt;       WERKS&lt;/P&gt;&lt;P&gt;       PSTAT INTO TABLE IT_MARC FROM MARC&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN IT_MARA WHERE MATNR = IT_MARA-MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL SCREEN '0100'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE STATUS_0100 OUTPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM INITIALISE_ALV.&lt;/P&gt;&lt;P&gt;PERFORM HANDLE_EVENT.&lt;/P&gt;&lt;P&gt;if v_cnt is initial .&lt;/P&gt;&lt;P&gt;PERFORM F_BUILD_FIELDCATALOG USING GT_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;PERFORM F_BUILD_FIELDCAT     USING GT_FIELDCAT2    .&lt;/P&gt;&lt;P&gt;PERFORM F_BUILD_LAYOUT.&lt;/P&gt;&lt;P&gt;PERFORM F_BUILD_LAYOUT2.&lt;/P&gt;&lt;P&gt;v_cnt = v_cnt + 1 .&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM SHOW_OO_ALV.&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " STATUS_0100  OUTPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_BUILD_FIELDCAT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_L_FIELDCAT  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM F_BUILD_FIELDCATALOG USING P_GT_FIELDCATALOG TYPE LVC_T_FCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH P_GT_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM FILL_FIELDCATALOG USING '1' 'MATNR' 'IT_MARA' 'MATERIAL'&lt;/P&gt;&lt;P&gt;    '20' '1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM FILL_FIELDCATALOG USING '2' 'ERNAM' 'IT_MARA' 'CREATED BY'&lt;/P&gt;&lt;P&gt;    '20' '1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM FILL_FIELDCATALOG USING '3' 'MTART' 'IT_MARA' 'TYPE'&lt;/P&gt;&lt;P&gt;    '20' '1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM FILL_FIELDCATALOG USING '4' 'MBRSH' 'IT_MARA' 'SOMETHING'&lt;/P&gt;&lt;P&gt;    '20' '1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " F_BUILD_FIELDCAT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FILL_FIELDCATALOG USING  P_COL_POS      TYPE LVC_S_FCAT-COL_POS&lt;/P&gt;&lt;P&gt;                              P_FIELDNAME    TYPE LVC_S_FCAT-FIELDNAME&lt;/P&gt;&lt;P&gt;                              P_TABNAME      TYPE LVC_S_FCAT-TABNAME&lt;/P&gt;&lt;P&gt;                              P_SELTEXT      TYPE LVC_S_FCAT-SCRTEXT_L&lt;/P&gt;&lt;P&gt;                              P_OUTPUTLEN    TYPE LVC_S_FCAT-OUTPUTLEN&lt;/P&gt;&lt;P&gt;                              P_ROW_POS      TYPE LVC_S_FCAT-ROW_POS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     CLEAR L_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           L_FIELDCAT-COL_POS      = P_COL_POS.&lt;/P&gt;&lt;P&gt;           L_FIELDCAT-FIELDNAME    = P_FIELDNAME.&lt;/P&gt;&lt;P&gt;           L_FIELDCAT-TABNAME      = P_TABNAME.&lt;/P&gt;&lt;P&gt;           L_FIELDCAT-SCRTEXT_L    = P_SELTEXT.&lt;/P&gt;&lt;P&gt;           L_FIELDCAT-OUTPUTLEN    = P_OUTPUTLEN.&lt;/P&gt;&lt;P&gt;           L_FIELDCAT-ROW_POS      = P_ROW_POS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF L_FIELDCAT-FIELDNAME      = 'MATNR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           L_FIELDCAT-KEY          = 'X'.&lt;/P&gt;&lt;P&gt;           L_FIELDCAT-ROLLNAME     = 'MATNR'.&lt;/P&gt;&lt;P&gt;           L_FIELDCAT-NO_ZERO      = 'X'.&lt;/P&gt;&lt;P&gt;           L_FIELDCAT-JUST         = 'C'.&lt;/P&gt;&lt;P&gt;           L_FIELDCAT-REF_FIELD    = 'MATNR'.&lt;/P&gt;&lt;P&gt;           L_FIELDCAT-REF_TABLE    = 'MARA'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF TEMP = 'V'.&lt;/P&gt;&lt;P&gt;        APPEND L_FIELDCAT TO GT_FIELDCAT2.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        APPEND L_FIELDCAT TO GT_FIELDCATALOG.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_BUILD_LAYOUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_GS_LAYOUT  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM F_BUILD_LAYOUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    GS_LAYOUT-ZEBRA     =  'X'.&lt;/P&gt;&lt;P&gt;    GS_LAYOUT-GRID_TITLE = 'PEHLI ALV MATERIAL WALI'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " F_BUILD_LAYOUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  STATUS_0100  OUTPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  INITIALISE_ALV&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM INITIALISE_ALV .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF G_CUSTOM_CONTAINER IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       CREATE OBJECT G_CUSTOM_CONTAINER&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;          CONTAINER_NAME = G_CONTAINER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;          CNTL_ERROR                  = 1&lt;/P&gt;&lt;P&gt;          cntl_system_error           = 2&lt;/P&gt;&lt;P&gt;          create_error                = 3&lt;/P&gt;&lt;P&gt;          lifetime_error              = 4&lt;/P&gt;&lt;P&gt;          lifetime_dynpro_dynpro_link = 5&lt;/P&gt;&lt;P&gt;          OTHERS                      = 6 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;       CALL FUNCTION 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;              titel = SY-REPID&lt;/P&gt;&lt;P&gt;              txt2  = SY-SUBRC&lt;/P&gt;&lt;P&gt;              txt1  = 'CONTROL NOT CREATED'.&lt;/P&gt;&lt;P&gt;       ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       CREATE OBJECT G_GRID&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;           I_PARENT = G_CUSTOM_CONTAINER&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;        error_cntl_create = 1&lt;/P&gt;&lt;P&gt;        error_cntl_init   = 2&lt;/P&gt;&lt;P&gt;        error_cntl_link   = 3&lt;/P&gt;&lt;P&gt;        error_dp_create   = 4&lt;/P&gt;&lt;P&gt;        others            = 5.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***IF OK_0100 &amp;lt;&amp;gt; 'HIDE' .&lt;/P&gt;&lt;P&gt;***&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt; CREATE OBJECT G_CUSTOM_CONTAINER2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;                 CONTAINER_NAME = G_CONTAINER2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;***&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;              EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;                 CNTL_ERROR                  = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;                 cntl_system_error           = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;                 create_error                = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;                 lifetime_error              = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;                 lifetime_dynpro_dynpro_link = 5&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;                 OTHERS                      = 6 .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;***&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;              IF SY-SUBRC NE 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;              CALL FUNCTION 'POPUP_TO_INFORM'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;                 EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;                     titel = SY-REPID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;                     txt2  = SY-SUBRC&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;                     txt1  = 'CONTROL NOT CREATED'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;              ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;***&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;              CREATE OBJECT G_GRID2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;              EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;                  I_PARENT = G_CUSTOM_CONTAINER2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;***&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;              EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;               error_cntl_create = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;               error_cntl_init   = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;               error_cntl_link   = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;               error_dp_create   = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;               others            = 5.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;***CLEAR OK_0100 .&lt;/P&gt;&lt;P&gt;***ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;******************************************************************&lt;/P&gt;&lt;P&gt;*********************&lt;STRONG&gt;S E C O N D    A L V&lt;/STRONG&gt;***********************&lt;/P&gt;&lt;P&gt;******************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " INITIALISE_ALV&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SHOW_OO_ALV&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM SHOW_OO_ALV .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD G_GRID-&amp;gt;SET_TABLE_FOR_FIRST_DISPLAY&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;      IS_LAYOUT            = GS_LAYOUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CHANGING&lt;/P&gt;&lt;P&gt;      IT_OUTTAB            = IT_MARA[]&lt;/P&gt;&lt;P&gt;      IT_FIELDCATALOG      = GT_FIELDCATALOG&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;P&gt;      invalid_parameter_combination = 1&lt;/P&gt;&lt;P&gt;      program_error                 = 2&lt;/P&gt;&lt;P&gt;      too_many_lines                = 3&lt;/P&gt;&lt;P&gt;      OTHERS                        = 4&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " SHOW_OO_ALV&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  EXIT_SCREEN  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE EXIT_SCREEN INPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF OK_0100 = 'EXIT'.&lt;/P&gt;&lt;P&gt;    LEAVE PROGRAM.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " EXIT_SCREEN  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  HANDLE_EVENT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM HANDLE_EVENT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CREATE OBJECT EVENT_HANDLER.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt; evt_tab_line-eventid = cl_gui_alv_grid=&amp;gt;eventid_double_click.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt; evt_tab_line-appl_event = ' '.       " System Event!&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt; append evt_tab_line to evt_tab.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;***&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt; call method g_grid-&amp;gt;set_registered_events&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;   exporting&lt;/P&gt;&lt;/LI&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;     events = evt_tab.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SET HANDLER EVENT_HANDLER-&amp;gt;HANDLE_DOUBLE_CLICK FOR G_GRID.&lt;/P&gt;&lt;P&gt;SET HANDLER EVENT_HANDLER-&amp;gt;HANDLE_HOTSPOT_CLICK FOR G_GRID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " HANDLE_EVENT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_BUILD_FIELDCAT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_GT_FIELDCAT  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM F_BUILD_FIELDCAT  USING    P_GT_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TEMP = 'V'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM FILL_FIELDCATALOG USING '1' 'MATNR' 'IT_MARC' 'MATERIAL' '20'&lt;/P&gt;&lt;P&gt;'1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM FILL_FIELDCATALOG USING '2' 'WERKS' 'IT_MARC' 'PLANT'    '12'&lt;/P&gt;&lt;P&gt;'1'.&lt;/P&gt;&lt;P&gt;PERFORM FILL_FIELDCATALOG USING '3' 'PSTAT' 'IT_MARC' 'STATUS'   '10'&lt;/P&gt;&lt;P&gt;'1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TEMP = ''.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " F_BUILD_FIELDCAT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  F_BUILD_LAYOUT2&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM F_BUILD_LAYOUT2 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; GS_LAYOUT2-ZEBRA     =  'X'.&lt;/P&gt;&lt;P&gt; GS_LAYOUT2-GRID_TITLE = 'DOOSRI ALV :: PLANTS WALI!!'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " F_BUILD_LAYOUT2&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  USER_COMMAND_0100  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE USER_COMMAND_0100 INPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF OK_0100 = 'HIDE'.&lt;/P&gt;&lt;P&gt;IF G_GRID2 IS NOT INITIAL .&lt;/P&gt;&lt;P&gt; CALL METHOD G_GRID2-&amp;gt;FREE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FREE G_GRID2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;     MESSAGE I001.&lt;/P&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;*FREE G_CUSTOM_CONTAINER2.&lt;/P&gt;&lt;P&gt;IF G_CUSTOM_CONTAINER2 IS NOT INITIAL .&lt;/P&gt;&lt;P&gt;CALL METHOD G_CUSTOM_CONTAINER2-&amp;gt;FREE.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;     MESSAGE I001.&lt;/P&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;*clear ok_0100.&lt;/P&gt;&lt;P&gt;V_CNT2 = 0 .&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " USER_COMMAND_0100  INPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS LCL_EVENT_RECEIVER IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    METHOD HANDLE_DOUBLE_CLICK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        IF G_CUSTOM_CONTAINER2 IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF OK_0100 &amp;lt;&amp;gt; 'HIDE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               CREATE OBJECT G_CUSTOM_CONTAINER2&lt;/P&gt;&lt;P&gt;               EXPORTING&lt;/P&gt;&lt;P&gt;                  CONTAINER_NAME = G_CONTAINER2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               EXCEPTIONS&lt;/P&gt;&lt;P&gt;                  CNTL_ERROR                  = 1&lt;/P&gt;&lt;P&gt;                  cntl_system_error           = 2&lt;/P&gt;&lt;P&gt;                  create_error                = 3&lt;/P&gt;&lt;P&gt;                  lifetime_error              = 4&lt;/P&gt;&lt;P&gt;                  lifetime_dynpro_dynpro_link = 5&lt;/P&gt;&lt;P&gt;                  OTHERS                      = 6 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;               CALL FUNCTION 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;                  EXPORTING&lt;/P&gt;&lt;P&gt;                      titel = SY-REPID&lt;/P&gt;&lt;P&gt;                      txt2  = SY-SUBRC&lt;/P&gt;&lt;P&gt;                      txt1  = 'CONTROL NOT CREATED'.&lt;/P&gt;&lt;P&gt;               ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               CREATE OBJECT G_GRID2&lt;/P&gt;&lt;P&gt;               EXPORTING&lt;/P&gt;&lt;P&gt;                   I_PARENT = G_CUSTOM_CONTAINER2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               EXCEPTIONS&lt;/P&gt;&lt;P&gt;                error_cntl_create = 1&lt;/P&gt;&lt;P&gt;                error_cntl_init   = 2&lt;/P&gt;&lt;P&gt;                error_cntl_link   = 3&lt;/P&gt;&lt;P&gt;                error_dp_create   = 4&lt;/P&gt;&lt;P&gt;                others            = 5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CALL METHOD G_GRID2-&amp;gt;SET_TABLE_FOR_FIRST_DISPLAY&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                EXPORTING&lt;/P&gt;&lt;P&gt;                      IS_LAYOUT            = GS_LAYOUT2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                CHANGING&lt;/P&gt;&lt;P&gt;                      IT_OUTTAB            = IT_MARC[]&lt;/P&gt;&lt;P&gt;                      IT_FIELDCATALOG      = GT_FIELDCAT2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                 EXCEPTIONS&lt;/P&gt;&lt;P&gt;                      invalid_parameter_combination = 1&lt;/P&gt;&lt;P&gt;                      program_error                 = 2&lt;/P&gt;&lt;P&gt;                      too_many_lines                = 3&lt;/P&gt;&lt;P&gt;                      OTHERS                        = 4&lt;/P&gt;&lt;P&gt;                          .&lt;/P&gt;&lt;P&gt;                  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                  ENDIF.&lt;/P&gt;&lt;P&gt;CLEAR OK_0100.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR OK_0100 .&lt;/P&gt;&lt;P&gt;    ENDMETHOD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    METHOD HANDLE_HOTSPOT_CLICK.&lt;/P&gt;&lt;P&gt;        MESSAGE I021.&lt;/P&gt;&lt;P&gt;    ENDMETHOD .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward points if helpful.&lt;/P&gt;&lt;P&gt;Regrads,&lt;/P&gt;&lt;P&gt;Hemant&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 May 2007 03:44:21 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/steps-for-interactive-alv-with-classes/m-p/2196781#M468963</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-08T03:44:21Z</dc:date>
    </item>
    <item>
      <title>Re: Steps for Interactive ALV with Classes</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/steps-for-interactive-alv-with-classes/m-p/2196782#M468964</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Anil , &lt;/P&gt;&lt;P&gt;Please check the code given below it will help you for Interactive ALV . &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="-----------" /&gt;GLOBAL DECLARATIONS--&lt;HR originaltext="------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;THIS DEFINES GLOBAL TYPES FOR ALV.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPE-POOLS: slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TRANSPARENT TABLES USED FOR DATA FETCHING&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TABLES: ekko,ekpo,eket,lfa1,ekbe.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : i_fieldcat TYPE slis_t_fieldcat_alv," FOR FIELDCATALOG&lt;/P&gt;&lt;P&gt;       i2_fieldcat TYPE slis_t_fieldcat_alv,"FOR FIELDCATALOG 2&lt;/P&gt;&lt;P&gt;       i3_fieldcat TYPE slis_t_fieldcat_alv, "FOR FIELDCATALOG 3&lt;/P&gt;&lt;P&gt;       i_eventcat TYPE slis_t_event,        "FOR EVENTCATALOG&lt;/P&gt;&lt;P&gt;       i_layout TYPE slis_layout_alv,       "FOR LAYOUT&lt;/P&gt;&lt;P&gt;       i_sortinfo TYPE slis_t_sortinfo_alv. "FOR SORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;VARIABLE FOR COUNT OF PO&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: n TYPE i ,&lt;/P&gt;&lt;P&gt;      i TYPE i,&lt;/P&gt;&lt;P&gt;      po_item TYPE ebelp,&lt;/P&gt;&lt;P&gt;      v_count(1) VALUE 'N'.&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="------------------" /&gt;TYPES--&lt;HR originaltext="----------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="------------" /&gt;DATA DECLARATION FOR VENDOR MASTER--&lt;HR originaltext="-------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_lfa1,&lt;/P&gt;&lt;P&gt;       lifnr TYPE lifnr,    "VENDOR CODE&lt;/P&gt;&lt;P&gt;       name1 TYPE name1_gp, "VENDOR NAME&lt;/P&gt;&lt;P&gt;       END OF t_lfa1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="-----------" /&gt;DATA DECLARATION FOR HEADER(EKKO)--&lt;HR originaltext="-------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_ekko,&lt;/P&gt;&lt;P&gt;       ebeln TYPE ebeln,     "PURCHASE ORDER NUMBER&lt;/P&gt;&lt;P&gt;       lifnr TYPE elifn,     "VENDOR CODE&lt;/P&gt;&lt;P&gt;       c     TYPE  i,        "PURCHASE ORDER COUNT&lt;/P&gt;&lt;P&gt;       END OF t_ekko.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="-----------" /&gt;DATA DECLARATION FOR DETAIL(EKPO)--&lt;HR originaltext="-------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES:     BEGIN OF t_ekpo,&lt;/P&gt;&lt;P&gt;     ebeln TYPE ebeln,       "PURCHASE ORDER NUMBER&lt;/P&gt;&lt;P&gt;     ebelp TYPE ebelp,       "PURCHASE ORDER ITEM&lt;/P&gt;&lt;P&gt;     menge TYPE bstmg,       "PURCHASE ORDER QTY&lt;/P&gt;&lt;P&gt;     END OF t_ekpo,&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----------" /&gt;DATA DECLARATION FOR EKET TABLE--&lt;HR originaltext="-----------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     BEGIN OF t_eket,&lt;/P&gt;&lt;P&gt;     ebeln TYPE ebeln,       "PURCHASE ORDER NUMBER&lt;/P&gt;&lt;P&gt;     ebelp TYPE ebelp,       "PURCHASE ORDER ITEM&lt;/P&gt;&lt;P&gt;     etenr TYPE eeten,       "DELIVERY SCHEDULE LINE COUNTER&lt;/P&gt;&lt;P&gt;     wemng TYPE weemg,       "QUANTITY OF GOODS RECIEVED&lt;/P&gt;&lt;P&gt;     END OF t_eket ,&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------" /&gt;&lt;P&gt;DATA DECLARATION FOR FINAL TABLE(FIRST&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;SCREEN)----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       BEGIN OF t_tab,&lt;/P&gt;&lt;P&gt;       lifnr TYPE elifn,&lt;/P&gt;&lt;P&gt;       ebeln TYPE ebeln,&lt;/P&gt;&lt;P&gt;       name1 TYPE name1_gp,&lt;/P&gt;&lt;P&gt;       ebelp TYPE ebelp,&lt;/P&gt;&lt;P&gt;       menge TYPE bstmg,&lt;/P&gt;&lt;P&gt;       etenr TYPE eeten,&lt;/P&gt;&lt;P&gt;       wemng TYPE weemg,&lt;/P&gt;&lt;P&gt;       c   TYPE i,&lt;/P&gt;&lt;P&gt;       END OF t_tab.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----------" /&gt;DATA DECLARATION FOR FINAL TABLE (SECOND SCREEN)---&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF t_vendor,&lt;/P&gt;&lt;P&gt;       lifnr TYPE elifn,&lt;/P&gt;&lt;P&gt;       ebeln TYPE ebeln,&lt;/P&gt;&lt;P&gt;       ebelp TYPE ebelp,&lt;/P&gt;&lt;P&gt;       menge TYPE bstmg,&lt;/P&gt;&lt;P&gt;       wemng TYPE p,&lt;/P&gt;&lt;P&gt;       END OF t_vendor,&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="----------" /&gt;DATA DECLARATION FOR EKBE--&lt;HR originaltext="------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       BEGIN OF t_ekbe,&lt;/P&gt;&lt;P&gt;       ebeln TYPE ebeln,&lt;/P&gt;&lt;P&gt;       ebelp TYPE ebelp,&lt;/P&gt;&lt;P&gt;       bwart TYPE bwart,&lt;/P&gt;&lt;P&gt;       menge TYPE menge_d,&lt;/P&gt;&lt;P&gt;       END OF t_ekbe.&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="------------------" /&gt;WORK AREA--&lt;HR originaltext="-------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;DATA : wa_lfa1   TYPE  t_lfa1,&lt;/P&gt;&lt;P&gt;       wa_ekko   TYPE  t_ekko,&lt;/P&gt;&lt;P&gt;       wa_ekpo   TYPE  t_ekpo,&lt;/P&gt;&lt;P&gt;       wa_eket   TYPE  t_eket,&lt;/P&gt;&lt;P&gt;       wa_tab    TYPE  t_tab,&lt;/P&gt;&lt;P&gt;       wa_vendor TYPE   t_vendor,&lt;/P&gt;&lt;P&gt;       wa_ekbe   TYPE  t_ekbe,&lt;/P&gt;&lt;P&gt;       wa_grn    TYPE  t_ekbe,&lt;/P&gt;&lt;P&gt;       wa_full   TYPE  t_vendor.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="--------------" /&gt;INTERNAL TABLES--&lt;HR originaltext="-----------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;DATA:  it_lfa1   TYPE STANDARD TABLE OF t_lfa1   WITH HEADER LINE ,&lt;/P&gt;&lt;P&gt;       it_ekko   TYPE STANDARD TABLE OF t_ekko    WITH HEADER LINE ,&lt;/P&gt;&lt;P&gt;       it_ekpo   TYPE STANDARD TABLE OF t_ekpo   WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       it_eket   TYPE STANDARD TABLE OF t_eket   WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       it_tab    TYPE STANDARD TABLE OF t_tab    WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       it_vendor TYPE STANDARD TABLE OF t_vendor WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       it_ekbe   TYPE STANDARD TABLE OF t_ekbe   WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       it_grn   TYPE STANDARD TABLE OF t_ekbe     WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       it_full  TYPE STANDARD TABLE OF  t_vendor  WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: vendor TYPE elifn.&lt;/P&gt;&lt;P&gt;DATA: qty TYPE p,&lt;/P&gt;&lt;P&gt;      c TYPE i.&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="------------------" /&gt;SELECTION SCREEN--&lt;HR originaltext="-----------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK main WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS :  s_lifnr FOR lfa1-lifnr OBLIGATORY.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK main.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="--------------" /&gt;AT SELECTION-SCREEN--&lt;HR originaltext="-----------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;  SELECT lifnr INTO (it_lfa1-lifnr) FROM lfa1 WHERE lifnr IN&lt;/P&gt;&lt;P&gt;s_lifnr.&lt;/P&gt;&lt;P&gt;  ENDSELECT.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e001.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;--&lt;/STRONG&gt;&lt;DEL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="--------------" /&gt;START-OF-SELECTION--&lt;HR originaltext="-------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; FETCH RECORDS FROM THE DATABASE INTO THE INTERNAL TABLE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM zf_select_it_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; PREPARE FIELDCATALOG FOR THE MAIN (1ST LIST) REPORT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM zf_build_fieldcat USING  i_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DEFINE EVENT TABLE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM build_eventcat USING i_eventcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DETERMINE THE SORTING SEQUENCE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM build_sort USING i_sortinfo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DISPLAY ALV GRID.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM zf_display_alv_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  ZF_SELECT_IT_TAB&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*SELECTING DATA FROM IT_LFA1 TABLE&lt;/P&gt;&lt;P&gt;FORM zf_select_it_tab .&lt;/P&gt;&lt;P&gt;  SELECT lifnr&lt;/P&gt;&lt;P&gt;         name1&lt;/P&gt;&lt;P&gt;              INTO TABLE  it_lfa1&lt;/P&gt;&lt;P&gt;              FROM lfa1&lt;/P&gt;&lt;P&gt;              WHERE lifnr IN s_lifnr.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    SORT it_lfa1 BY lifnr.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*SELECTING DATA FROM EKKO TABLE&lt;/P&gt;&lt;P&gt;  IF NOT it_lfa1[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT&lt;/P&gt;&lt;P&gt;           ebeln&lt;/P&gt;&lt;P&gt;           lifnr&lt;/P&gt;&lt;P&gt;                FROM ekko&lt;/P&gt;&lt;P&gt;                INTO  TABLE it_ekko&lt;/P&gt;&lt;P&gt;                FOR ALL ENTRIES IN it_lfa1&lt;/P&gt;&lt;P&gt;                WHERE lifnr = it_lfa1-lifnr.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      SORT it_ekko BY ebeln.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*SELECTING DATA FROM EKPO TABLE&lt;/P&gt;&lt;P&gt;  IF NOT it_ekko[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT&lt;/P&gt;&lt;P&gt;           ebeln&lt;/P&gt;&lt;P&gt;           ebelp&lt;/P&gt;&lt;P&gt;           menge&lt;/P&gt;&lt;P&gt;                FROM ekpo&lt;/P&gt;&lt;P&gt;                INTO TABLE it_ekpo&lt;/P&gt;&lt;P&gt;                FOR ALL ENTRIES IN it_ekko&lt;/P&gt;&lt;P&gt;                WHERE ebeln = it_ekko-ebeln.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      SORT it_ekpo BY ebeln ebelp.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*SELECTING DATA FROM EKET TABLE&lt;/P&gt;&lt;P&gt;  IF NOT it_ekpo[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT&lt;/P&gt;&lt;P&gt;          ebeln&lt;/P&gt;&lt;P&gt;          ebelp&lt;/P&gt;&lt;P&gt;          etenr&lt;/P&gt;&lt;P&gt;          wemng&lt;/P&gt;&lt;P&gt;               FROM eket&lt;/P&gt;&lt;P&gt;               INTO TABLE it_eket&lt;/P&gt;&lt;P&gt;               FOR ALL ENTRIES IN it_ekpo&lt;/P&gt;&lt;P&gt;               WHERE ebeln = it_ekpo-ebeln&lt;/P&gt;&lt;P&gt;               AND   ebelp = it_ekpo-ebelp.&lt;/P&gt;&lt;P&gt;    SORT it_eket BY ebeln ebelp etenr.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*SELECTING DATA FROM EKBE TABLE&lt;/P&gt;&lt;P&gt;  IF NOT it_eket[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT&lt;/P&gt;&lt;P&gt;          ebeln&lt;/P&gt;&lt;P&gt;          ebelp&lt;/P&gt;&lt;P&gt;          bwart&lt;/P&gt;&lt;P&gt;          menge&lt;/P&gt;&lt;P&gt;               FROM ekbe&lt;/P&gt;&lt;P&gt;               INTO TABLE it_ekbe&lt;/P&gt;&lt;P&gt;               FOR ALL ENTRIES IN it_eket&lt;/P&gt;&lt;P&gt;               WHERE ebelp = it_eket-ebelp&lt;/P&gt;&lt;P&gt;               AND   ebeln = it_eket-ebeln&lt;/P&gt;&lt;P&gt;               AND   bwart = '101'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;THIS BLOCK MOVES THE  FIELDS FROM DIFFERENT           *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TABLES(EKKO,LFA1,EKPO,EKET) INTO A FINAL TABLE IT_TAB *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*********************************************************&lt;/P&gt;&lt;P&gt;  CLEAR wa_tab.&lt;/P&gt;&lt;P&gt;  CLEAR it_tab.&lt;/P&gt;&lt;P&gt;  LOOP AT it_lfa1 INTO wa_lfa1.&lt;/P&gt;&lt;P&gt;    READ TABLE it_ekko INTO wa_ekko WITH KEY lifnr = wa_lfa1-lifnr&lt;/P&gt;&lt;P&gt;                                                   BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE it_lfa1 INTO wa_lfa1&lt;/P&gt;&lt;P&gt;    WITH KEY lifnr = wa_lfa1-lifnr&lt;/P&gt;&lt;P&gt;    BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      MOVE: wa_lfa1-name1 TO wa_tab-name1.&lt;/P&gt;&lt;P&gt;      MOVE: wa_lfa1-lifnr TO wa_tab-lifnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    APPEND wa_tab TO it_tab.&lt;/P&gt;&lt;P&gt;    CLEAR : wa_tab,wa_lfa1.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**READ FOR SECOND SCREEN&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH it_full.&lt;/P&gt;&lt;P&gt;  CLEAR : wa_full,&lt;/P&gt;&lt;P&gt;          wa_eket,&lt;/P&gt;&lt;P&gt;          wa_ekpo.&lt;/P&gt;&lt;P&gt;  LOOP AT it_eket  INTO wa_eket.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE it_ekpo INTO wa_ekpo WITH KEY ebeln = wa_eket-ebeln&lt;/P&gt;&lt;P&gt;                                             ebelp = wa_eket-ebelp&lt;/P&gt;&lt;P&gt;                                              BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE it_ekko INTO wa_ekko WITH KEY ebeln =&lt;/P&gt;&lt;P&gt;                                          wa_ekpo-ebeln&lt;/P&gt;&lt;P&gt;                                          BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        READ TABLE it_lfa1 INTO wa_lfa1 WITH KEY lifnr = wa_ekko-lifnr&lt;/P&gt;&lt;P&gt;                                               BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          wa_full-ebelp = wa_ekpo-ebelp.&lt;/P&gt;&lt;P&gt;          wa_full-menge = wa_ekpo-menge.&lt;/P&gt;&lt;P&gt;          wa_full-lifnr = wa_lfa1-lifnr.&lt;/P&gt;&lt;P&gt;          wa_full-ebeln = wa_ekko-ebeln.&lt;/P&gt;&lt;P&gt;          wa_full-wemng = wa_eket-wemng.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    APPEND wa_full TO it_full.&lt;/P&gt;&lt;P&gt;    CLEAR :  wa_ekko,wa_ekpo,wa_eket,wa_full.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;COUNT OF  PO&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT it_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT it_ekko WHERE lifnr = it_tab-lifnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      c = c + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    it_tab-c = c.&lt;/P&gt;&lt;P&gt;    MODIFY it_tab TRANSPORTING c.&lt;/P&gt;&lt;P&gt;    CLEAR c.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ZF_SELECT_IT_TAB&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  ZF_BUILD_FIELDCAT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FIELD CATALOG FOR FIRST SCREEN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_I_FIELDCAT  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM zf_build_fieldcat  USING    p_i_fieldcat TYPE slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;  REFRESH p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  DATA: l_fieldcat TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR l_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_fieldcat-col_pos = '1'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-fieldname = 'LIFNR'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-tabname = 'IT_TAB'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-emphasize = 'C410'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-seltext_l = 'VENDOR CODE'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-outputlen = 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l_fieldcat TO p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR l_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_fieldcat-col_pos = '2'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-fieldname = 'NAME1'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-tabname = 'IT_TAB'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-emphasize = 'C410'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-seltext_l = 'VENDOR NAME'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-outputlen = 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l_fieldcat TO p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR l_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_fieldcat-col_pos = '3'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-fieldname = 'C'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-tabname = 'IT_TAB'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-emphasize = 'C410'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-seltext_l = 'PO COUNT'.&lt;/P&gt;&lt;P&gt;  l_fieldcat-outputlen = 10.&lt;/P&gt;&lt;P&gt;  APPEND l_fieldcat TO p_i_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ZF_BUILD_FIELDCAT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  ZF_DISPLAY_ALV_LIST&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CALLING FUNCTION FOR ALV GRID DISPLAY&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM zf_display_alv_list .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;P&gt;     i_callback_program                = 'Z8AS_SHADOW_ALV_INTERACTIVE'&lt;/P&gt;&lt;P&gt;     i_callback_user_command           = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;     is_layout                         = i_layout&lt;/P&gt;&lt;P&gt;     it_fieldcat                       = i_fieldcat&lt;/P&gt;&lt;P&gt;     it_events                         = i_eventcat&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab                          = it_tab&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROGRAM_ERROR                     = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                            = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ZF_DISPLAY_ALV_LIST&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  BUILD_SORT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SORTING OUTPUT BY PURCHASE ORDER AND LINE ITEM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_I_SORTINFO  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM build_sort  USING    p_i_sortinfo TYPE slis_t_sortinfo_alv.&lt;/P&gt;&lt;P&gt;  REFRESH p_i_sortinfo.&lt;/P&gt;&lt;P&gt;  DATA: l_sortinfo TYPE slis_sortinfo_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR l_sortinfo.&lt;/P&gt;&lt;P&gt;  l_sortinfo-spos = '1'.&lt;/P&gt;&lt;P&gt;  l_sortinfo-fieldname = 'LIFNR'.&lt;/P&gt;&lt;P&gt;  l_sortinfo-tabname = 'IT_VENDOR'.&lt;/P&gt;&lt;P&gt;  l_sortinfo-up = 'X'.&lt;/P&gt;&lt;P&gt;  l_sortinfo-group = 'UL'.&lt;/P&gt;&lt;P&gt;  APPEND l_sortinfo TO p_i_sortinfo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR l_sortinfo.&lt;/P&gt;&lt;P&gt;  l_sortinfo-spos = '2'.&lt;/P&gt;&lt;P&gt;  l_sortinfo-fieldname = 'EBELN'.&lt;/P&gt;&lt;P&gt;  l_sortinfo-tabname = 'IT_VENDOR'.&lt;/P&gt;&lt;P&gt;  l_sortinfo-up = 'X'.&lt;/P&gt;&lt;P&gt;  l_sortinfo-group = 'UL'.&lt;/P&gt;&lt;P&gt;  APPEND l_sortinfo TO p_i_sortinfo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " BUILD_SORT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  BUILD_EVENTCAT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_I_EVENTCAT  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM build_eventcat  USING    p_i_eventcat  TYPE slis_t_event.&lt;/P&gt;&lt;P&gt;  REFRESH p_i_eventcat.&lt;/P&gt;&lt;P&gt;  DATA: i_event TYPE slis_alv_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_list_type     = 0&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      et_events       = p_i_eventcat&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      list_type_wrong = 1&lt;/P&gt;&lt;P&gt;      OTHERS          = 2.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR i_event.&lt;/P&gt;&lt;P&gt;  READ TABLE p_i_eventcat WITH KEY name = slis_ev_user_command INTO&lt;/P&gt;&lt;P&gt;  i_event.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    MOVE 'USER_COMMAND' TO i_event-form.&lt;/P&gt;&lt;P&gt;    APPEND i_event TO p_i_eventcat.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " BUILD_EVENTCAT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      FORM USER_COMMAND&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM user_command USING p_ucomm TYPE sy-ucomm&lt;/P&gt;&lt;P&gt;                           p_selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE p_ucomm.&lt;/P&gt;&lt;P&gt;    WHEN  '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE it_tab INTO wa_tab INDEX p_selfield-tabindex.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF p_selfield-fieldname = 'LIFNR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        vendor = p_selfield-value.&lt;/P&gt;&lt;P&gt;        PERFORM zf_vendor_details.&lt;/P&gt;&lt;P&gt;        PERFORM zf2_build_fieldcat USING i2_fieldcat.&lt;/P&gt;&lt;P&gt;        PERFORM zf_display_grid.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR p_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ZF_USER_COMMAND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  ZF_VENDOR_DETAILS&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; THIS FORM IS USED FOR MOVING DATA FROM IT_TAB TO IT_VENDOR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM zf_vendor_details .&lt;/P&gt;&lt;P&gt;  CLEAR wa_ekko.&lt;/P&gt;&lt;P&gt;  CLEAR it_ekko.&lt;/P&gt;&lt;P&gt;  REFRESH it_vendor.&lt;/P&gt;&lt;P&gt;  LOOP AT it_full INTO wa_full WHERE lifnr = vendor.&lt;/P&gt;&lt;P&gt;    MOVE :&lt;/P&gt;&lt;P&gt;          wa_full-lifnr TO wa_vendor-lifnr,&lt;/P&gt;&lt;P&gt;          wa_full-ebeln TO wa_vendor-ebeln,&lt;/P&gt;&lt;P&gt;          wa_full-ebelp TO wa_vendor-ebelp,&lt;/P&gt;&lt;P&gt;          wa_full-menge TO wa_vendor-menge,&lt;/P&gt;&lt;P&gt;          wa_full-wemng TO wa_vendor-wemng.&lt;/P&gt;&lt;P&gt;    APPEND wa_vendor TO it_vendor.&lt;/P&gt;&lt;P&gt;    CLEAR : wa_vendor.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ZF_VENDOR_DETAILS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  ZF2_BUILD_FIELDCAT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; THIS FORM IS USED FOR CATALOG SCREEN 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_I_FIELDCAT  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM zf2_build_fieldcat  USING    p_i_fieldcat TYPE slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;  REFRESH p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  DATA: l2_fieldcat TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR l2_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l2_fieldcat-col_pos = '1'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-fieldname = 'LIFNR'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-tabname = 'IT_VENDOR'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-emphasize = 'C410'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-seltext_l = 'VENDOR CODE'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-outputlen = 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l2_fieldcat TO p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR l2_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l2_fieldcat-col_pos = '2'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-fieldname = 'EBELN'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-tabname = 'IT_VENDOR'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-emphasize = 'C410'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-seltext_l = 'PURCHASE ORDER NUMBER'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l2_fieldcat-outputlen = 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l2_fieldcat TO p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR l2_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l2_fieldcat-col_pos = '3'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-fieldname = 'EBELP'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-tabname = 'IT_VENDOR'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-emphasize = 'C710'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-seltext_l = 'PO ITEM'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-outputlen = 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l2_fieldcat TO p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR l2_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l2_fieldcat-col_pos = '4'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-fieldname = 'MENGE'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-tabname = 'IT_VENDOR'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-emphasize = 'C410'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-seltext_l = 'PO QTY'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-outputlen = 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l2_fieldcat TO p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR l2_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l2_fieldcat-col_pos = '5'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-fieldname = 'WEMNG'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-tabname = 'IT_VENDOR'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-emphasize = 'C450'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-seltext_l = 'QTY RECIEVED'.&lt;/P&gt;&lt;P&gt;  l2_fieldcat-outputlen = 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l2_fieldcat TO p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR l2_fieldcat.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "ZF2_BUILD_FIELDCAT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  ZF_DISPLAY_ALV_LIST&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM zf_display_grid .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;P&gt;     i_callback_program                = 'Z8AS_SHADOW_ALV_INTERACTIVE'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_CALLBACK_PF_STATUS_SET          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    i_callback_user_command           = 'USER_COMMAND1'&lt;/P&gt;&lt;P&gt;     it_fieldcat                       = i2_fieldcat&lt;/P&gt;&lt;P&gt;     it_sort                           = i_sortinfo&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab                          = it_vendor&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROGRAM_ERROR                     = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                            = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "ZF_DISPLAY_GRID&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      FORM USER_COMMAND1&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM user_command1 USING p_ucomm TYPE sy-ucomm&lt;/P&gt;&lt;P&gt;                           p_selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE p_ucomm.&lt;/P&gt;&lt;P&gt;    WHEN  '&amp;amp;IC1'.&lt;/P&gt;&lt;P&gt;      READ TABLE it_vendor INTO wa_vendor INDEX p_selfield-tabindex.&lt;/P&gt;&lt;P&gt;      IF p_selfield-fieldname = 'WEMNG'.&lt;/P&gt;&lt;P&gt;        po_item = wa_vendor-ebelp.&lt;/P&gt;&lt;P&gt;        PERFORM zf_grn.&lt;/P&gt;&lt;P&gt;        PERFORM zf3_build_fieldcat USING i3_fieldcat.&lt;/P&gt;&lt;P&gt;        PERFORM zf1_display_grid.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ZF_USER_COMMAND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  ZF3_BUILD_FIELDCAT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; FIELD CATALOG FOR THIRD SCREEN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_I3_FIELDCAT  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM zf3_build_fieldcat  USING    p_i_fieldcat  TYPE slis_t_fieldcat_alv&lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  DATA: l3_fieldcat TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR l3_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l3_fieldcat-col_pos = '1'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-fieldname = 'EBELN'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-tabname = 'IT_GRN'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-emphasize = 'C410'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-seltext_l = 'P.O. NO'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-outputlen = 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l3_fieldcat TO p_i_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR l3_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l3_fieldcat-col_pos = '2'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-fieldname = 'EBELP'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-tabname = 'IT_GRN'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-emphasize = 'C410'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-seltext_l = 'P.O.ITEM'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-outputlen = 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l3_fieldcat TO p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR l3_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l3_fieldcat-col_pos = '3'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-fieldname = 'BWART'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-tabname = 'IT_GRN'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-emphasize = 'C410'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-seltext_l = 'MOVEMENT TYPE'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-outputlen = 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l3_fieldcat TO p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR l3_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l3_fieldcat-col_pos = '4'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-fieldname = 'MENGE'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-tabname = 'IT_GRN'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-key = 'X'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-emphasize = 'C410'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-seltext_l = 'GR QUANTITY'.&lt;/P&gt;&lt;P&gt;  l3_fieldcat-outputlen = 20.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND l3_fieldcat TO p_i_fieldcat.&lt;/P&gt;&lt;P&gt;  CLEAR l3_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ZF3_BUILD_FIELDCAT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  ZF1_DISPLAY_GRID&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM zf1_display_grid .&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;P&gt;     i_callback_program                = 'Z8AS_SHADOW_ALV_INTERACTIVE'&lt;/P&gt;&lt;P&gt;     it_fieldcat                       = i3_fieldcat&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab                          = it_grn&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PROGRAM_ERROR                     = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                            = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ZF1_DISPLAY_GRID&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  ZF_GRN&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM zf_grn .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR wa_eket .&lt;/P&gt;&lt;P&gt;  CLEAR it_eket.&lt;/P&gt;&lt;P&gt;  REFRESH it_grn.&lt;/P&gt;&lt;P&gt;  LOOP AT it_vendor INTO wa_vendor WHERE ebelp = po_item.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      READ TABLE it_ekbe INTO wa_ekbe  WITH KEY&lt;/P&gt;&lt;P&gt;          ebeln = wa_vendor-ebeln&lt;/P&gt;&lt;P&gt;          ebelp = wa_vendor-ebelp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;        IF  wa_ekbe-bwart = '101'.&lt;/P&gt;&lt;P&gt;          MOVE: wa_ekbe-ebeln TO wa_grn-ebeln,&lt;/P&gt;&lt;P&gt;                wa_ekbe-ebelp TO wa_grn-ebelp,&lt;/P&gt;&lt;P&gt;                wa_ekbe-bwart TO wa_grn-bwart,&lt;/P&gt;&lt;P&gt;                wa_ekbe-menge TO wa_grn-menge.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          APPEND wa_grn TO it_grn.&lt;/P&gt;&lt;P&gt;          CLEAR wa_ekbe.&lt;/P&gt;&lt;P&gt;          CLEAR wa_grn.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          MESSAGE e001.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ZF_GRN&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;i&amp;gt;Reward points if helpful&amp;lt;/i&amp;gt; . &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Amber S&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 May 2007 05:31:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/steps-for-interactive-alv-with-classes/m-p/2196782#M468964</guid>
      <dc:creator>former_member198270</dc:creator>
      <dc:date>2007-05-08T05:31:08Z</dc:date>
    </item>
  </channel>
</rss>

