<?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: ALV output save in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-output-save/m-p/4615278#M1087432</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;after changing value press enter and then save.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES : MARA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF SMARA,&lt;/P&gt;&lt;P&gt;        MATNR TYPE MARA-MATNR,&lt;/P&gt;&lt;P&gt;        ERSDA TYPE MARA-ERSDA,&lt;/P&gt;&lt;P&gt;        ERNAM TYPE MARA-ERNAM,&lt;/P&gt;&lt;P&gt;        MTART TYPE MARA-MTART,&lt;/P&gt;&lt;P&gt;        MBRSH TYPE MARA-MBRSH,&lt;/P&gt;&lt;P&gt;        MATKL TYPE MARA-MATKL,&lt;/P&gt;&lt;P&gt;        BRGEW TYPE MARA-BRGEW,&lt;/P&gt;&lt;P&gt;        NTGEW TYPE MARA-NTGEW,&lt;/P&gt;&lt;P&gt;        GEWEI TYPE MARA-GEWEI,&lt;/P&gt;&lt;P&gt;        CELLTAB TYPE LVC_T_STYL,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      END OF SMARA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : IMARA TYPE TABLE OF SMARA,&lt;/P&gt;&lt;P&gt;       WMARA TYPE SMARA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; DATA : TMARA TYPE TABLE OF MARA,&lt;/P&gt;&lt;P&gt;       TWMARA TYPE MARA.&lt;/P&gt;&lt;P&gt; DATA : L_INDEX TYPE I,&lt;/P&gt;&lt;P&gt;        LT_CELLTAB TYPE LVC_T_STYL.&lt;/P&gt;&lt;P&gt;DATA : G_CONTAINER TYPE SCRFNAME VALUE 'GRID1',&lt;/P&gt;&lt;P&gt;       GRID1  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;       MODIFIED TYPE REF TO CL_ALV_CHANGED_DATA_PROTOCOL,&lt;/P&gt;&lt;P&gt;       SLAYOUT TYPE LVC_S_LAYO,&lt;/P&gt;&lt;P&gt;       IFIELDCAT TYPE LVC_T_FCAT,&lt;/P&gt;&lt;P&gt;       WFIELDCAT TYPE LVC_S_FCAT,&lt;/P&gt;&lt;P&gt;       ISORT TYPE LVC_T_SORT,&lt;/P&gt;&lt;P&gt;       WSORT TYPE LVC_S_SORT,&lt;/P&gt;&lt;P&gt;       ISROWS TYPE LVC_T_ROID,&lt;/P&gt;&lt;P&gt;       WSROWS TYPE LVC_S_ROID,&lt;/P&gt;&lt;P&gt;       REFRESH TYPE LVC_S_STBL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;local class to handle semantic checks&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLASS LCL_EVENT_RECEIVER DEFINITION DEFERRED.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: G_EVENT_RECEIVER TYPE REF TO LCL_EVENT_RECEIVER.&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;&lt;/P&gt;&lt;P&gt;    METHODS:&lt;/P&gt;&lt;P&gt;      HANDLE_DATA_CHANGED&lt;/P&gt;&lt;P&gt;         FOR EVENT DATA_CHANGED OF CL_GUI_ALV_GRID&lt;/P&gt;&lt;P&gt;             IMPORTING ER_DATA_CHANGED E_UCOMM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PRIVATE SECTION.&lt;/P&gt;&lt;P&gt;DATA: ERROR_IN_DATA TYPE C.&lt;/P&gt;&lt;P&gt;    METHODS: SAVE_ERNAM&lt;/P&gt;&lt;P&gt;           IMPORTING&lt;/P&gt;&lt;P&gt;              PERNAM TYPE LVC_S_MODI&lt;/P&gt;&lt;P&gt;              PMARA TYPE MARA&lt;/P&gt;&lt;P&gt;              PR_DATA_CHANGED TYPE REF TO CL_ALV_CHANGED_DATA_PROTOCOL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        METHODS: SAVE_BRGEW&lt;/P&gt;&lt;P&gt;           IMPORTING&lt;/P&gt;&lt;P&gt;              PBRGEW TYPE LVC_S_MODI&lt;/P&gt;&lt;P&gt;              PMARA TYPE MARA&lt;/P&gt;&lt;P&gt;              PR_DATA_CHANGED TYPE REF TO CL_ALV_CHANGED_DATA_PROTOCOL.&lt;/P&gt;&lt;P&gt;ENDCLASS.&lt;/P&gt;&lt;P&gt;CLASS LCL_EVENT_RECEIVER IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;  METHOD HANDLE_DATA_CHANGED.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DATA: LS_GOOD TYPE LVC_S_MODI.&lt;/P&gt;&lt;P&gt;    DATA : MMARA TYPE MARA.&lt;/P&gt;&lt;P&gt;   ERROR_IN_DATA = SPACE.&lt;/P&gt;&lt;P&gt;    LOOP AT ER_DATA_CHANGED-&amp;gt;MT_GOOD_CELLS INTO LS_GOOD.&lt;/P&gt;&lt;P&gt;      CASE LS_GOOD-FIELDNAME.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;check if column ERNAM of this row was changed&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        WHEN 'ERNAM'.&lt;/P&gt;&lt;P&gt;          CALL METHOD SAVE_ERNAM&lt;/P&gt;&lt;P&gt;                 EXPORTING&lt;/P&gt;&lt;P&gt;                    PERNAM = LS_GOOD&lt;/P&gt;&lt;P&gt;                    PMARA = MMARA&lt;/P&gt;&lt;P&gt;                    PR_DATA_CHANGED   = ER_DATA_CHANGED.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        WHEN 'BRGEW'.&lt;/P&gt;&lt;P&gt;          CALL METHOD SAVE_BRGEW&lt;/P&gt;&lt;P&gt;                 EXPORTING&lt;/P&gt;&lt;P&gt;                    PBRGEW = LS_GOOD&lt;/P&gt;&lt;P&gt;                    PMARA = MMARA&lt;/P&gt;&lt;P&gt;                    PR_DATA_CHANGED   = ER_DATA_CHANGED.&lt;/P&gt;&lt;P&gt;      ENDCASE.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*§7.Display application log if an error has occured.&lt;/P&gt;&lt;P&gt;    IF ERROR_IN_DATA EQ 'X'.&lt;/P&gt;&lt;P&gt;       CALL METHOD ER_DATA_CHANGED-&amp;gt;DISPLAY_PROTOCOL.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDMETHOD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; METHOD SAVE_ERNAM.&lt;/P&gt;&lt;P&gt; DATA : VERNAM TYPE ERNAM.&lt;/P&gt;&lt;P&gt;        CALL METHOD PR_DATA_CHANGED-&amp;gt;GET_CELL_VALUE&lt;/P&gt;&lt;P&gt;          EXPORTING I_ROW_ID =    PERNAM-ROW_ID&lt;/P&gt;&lt;P&gt;                    I_FIELDNAME = PERNAM-FIELDNAME&lt;/P&gt;&lt;P&gt;          IMPORTING E_VALUE     = VERNAM.&lt;/P&gt;&lt;P&gt;          WMARA-ERNAM = VERNAM .&lt;/P&gt;&lt;P&gt;          MODIFY IMARA FROM WMARA INDEX PERNAM-ROW_ID TRANSPORTING ERNAM.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         APPEND TWMARA TO TMARA.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      CALL METHOD PR_DATA_CHANGED-&amp;gt;MODIFY_CELL&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               EXPORTING I_ROW_ID    = PERNAM-ROW_ID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                         I_FIELDNAME = 'ERNAM'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                         I_VALUE     = VERNAM.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; ENDMETHOD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; METHOD SAVE_BRGEW.&lt;/P&gt;&lt;P&gt; DATA : VBRGEW TYPE BRGEW.&lt;/P&gt;&lt;P&gt;        CALL METHOD PR_DATA_CHANGED-&amp;gt;GET_CELL_VALUE&lt;/P&gt;&lt;P&gt;          EXPORTING I_ROW_ID =    PBRGEW-ROW_ID&lt;/P&gt;&lt;P&gt;                    I_FIELDNAME = PBRGEW-FIELDNAME&lt;/P&gt;&lt;P&gt;          IMPORTING E_VALUE     = VBRGEW.&lt;/P&gt;&lt;P&gt;          WMARA-BRGEW = VBRGEW .&lt;/P&gt;&lt;P&gt;          MODIFY IMARA FROM WMARA INDEX PBRGEW-ROW_ID TRANSPORTING BRGEW.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         APPEND TWMARA TO TMARA.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      CALL METHOD PR_忉ATA_CHANGED-&amp;gt;MODIFY_CELL&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               EXPORTING I_ROW_ID    = PERNAM-ROW_ID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                         I_FIELDNAME = 'ERNAM'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                         I_VALUE     = VERNAM.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; ENDMETHOD.&lt;/P&gt;&lt;P&gt;ENDCLASS.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS : S_MATNR FOR MARA-MATNR.&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;CALL SCREEN 2000.&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  STATUS_2000  OUTPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;/P&gt;&lt;P&gt;MODULE STATUS_2000 OUTPUT.&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'SAS'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SET TITLEBAR 'xxx'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 CONTAINER_NAME = G_CONTAINER.&lt;/P&gt;&lt;P&gt;    CREATE OBJECT GRID1&lt;/P&gt;&lt;P&gt;           EXPORTING I_PARENT = G_CUSTOM_CONTAINER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; SELECT MATNR&lt;/P&gt;&lt;P&gt;        ERSDA&lt;/P&gt;&lt;P&gt;        ERNAM&lt;/P&gt;&lt;P&gt;        MTART&lt;/P&gt;&lt;P&gt;        MBRSH&lt;/P&gt;&lt;P&gt;        MATKL&lt;/P&gt;&lt;P&gt;        BRGEW&lt;/P&gt;&lt;P&gt;        NTGEW&lt;/P&gt;&lt;P&gt;        GEWEI&lt;/P&gt;&lt;P&gt;        FROM MARA&lt;/P&gt;&lt;P&gt;        INTO CORRESPONDING FIELDS OF TABLE IMARA&lt;/P&gt;&lt;P&gt;        WHERE MATNR IN S_MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT IMARA INTO WMARA.&lt;/P&gt;&lt;P&gt;REFRESH LT_CELLTAB.&lt;/P&gt;&lt;P&gt;L_INDEX = SY-TABIX.&lt;/P&gt;&lt;P&gt;IF WMARA-ERNAM &amp;lt;&amp;gt; 'RUDISILL'.&lt;/P&gt;&lt;P&gt;   PERFORM FILL_CELLTAB USING '00080000'&lt;/P&gt;&lt;P&gt;                             CHANGING LT_CELLTAB.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;        PERFORM FILL_CELLTAB USING '00100000'&lt;/P&gt;&lt;P&gt;                             CHANGING LT_CELLTAB.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;    INSERT LINES OF LT_CELLTAB INTO TABLE WMARA-CELLTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MODIFY IMARA INDEX L_INDEX FROM WMARA.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;********&lt;STRONG&gt;STYLE&lt;/STRONG&gt;***************&lt;/P&gt;&lt;P&gt;     SLAYOUT-STYLEFNAME = 'CELLTAB'.&lt;/P&gt;&lt;P&gt;     SLAYOUT-SEL_MODE = 'C'.&lt;/P&gt;&lt;P&gt;******************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******&lt;STRONG&gt;FIELDCAT&lt;/STRONG&gt;*************&lt;/P&gt;&lt;P&gt;     WFIELDCAT-COL_POS = '1'.&lt;/P&gt;&lt;P&gt;     WFIELDCAT-FIELDNAME = 'MATNR'.&lt;/P&gt;&lt;P&gt;     APPEND WFIELDCAT TO IFIELDCAT.&lt;/P&gt;&lt;P&gt;     CLEAR WFIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     WFIELDCAT-COL_POS = '2'.&lt;/P&gt;&lt;P&gt;     WFIELDCAT-FIELDNAME = 'ERSDA'.&lt;/P&gt;&lt;P&gt;     APPEND WFIELDCAT TO IFIELDCAT.&lt;/P&gt;&lt;P&gt;     CLEAR WFIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     WFIELDCAT-COL_POS = '3'.&lt;/P&gt;&lt;P&gt;     WFIELDCAT-FIELDNAME = 'ERNAM'.&lt;/P&gt;&lt;P&gt;     WFIELDCAT-EDIT = 'X'.&lt;/P&gt;&lt;P&gt;     APPEND WFIELDCAT TO IFIELDCAT.&lt;/P&gt;&lt;P&gt;     CLEAR WFIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     WFIELDCAT-COL_POS = '4'.&lt;/P&gt;&lt;P&gt;     WFIELDCAT-FIELDNAME = 'MTART'.&lt;/P&gt;&lt;P&gt;     APPEND WFIELDCAT TO IFIELDCAT.&lt;/P&gt;&lt;P&gt;     CLEAR WFIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     WFIELDCAT-COL_POS = '5'.&lt;/P&gt;&lt;P&gt;     WFIELDCAT-FIELDNAME = 'MBRSH'.&lt;/P&gt;&lt;P&gt;     APPEND WFIELDCAT TO IFIELDCAT.&lt;/P&gt;&lt;P&gt;     CLEAR WFIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     WFIELDCAT-COL_POS = '6'.&lt;/P&gt;&lt;P&gt;     WFIELDCAT-FIELDNAME = 'MATKL'.&lt;/P&gt;&lt;P&gt;     APPEND WFIELDCAT TO IFIELDCAT.&lt;/P&gt;&lt;P&gt;     CLEAR WFIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     WFIELDCAT-COL_POS = '7'.&lt;/P&gt;&lt;P&gt;     WFIELDCAT-FIELDNAME = 'BRGEW'.&lt;/P&gt;&lt;P&gt;     WFIELDCAT-DO_SUM = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    wfieldcat-DECMLFIELD = 'BRGEW'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    wfieldcat-DECIMALS_O = '000.00'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    WFIELDCAT-EDIT = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     APPEND WFIELDCAT TO IFIELDCAT.&lt;/P&gt;&lt;P&gt;     CLEAR WFIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     WFIELDCAT-COL_POS = '8'.&lt;/P&gt;&lt;P&gt;     WFIELDCAT-FIELDNAME = 'NTGEW'.&lt;/P&gt;&lt;P&gt;     WFIELDCAT-DO_SUM = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    WFIELDCAT-DECMLFIELD = 'NTGEW'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     APPEND WFIELDCAT TO IFIELDCAT.&lt;/P&gt;&lt;P&gt;     CLEAR WFIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     WFIELDCAT-COL_POS = '9'.&lt;/P&gt;&lt;P&gt;     WFIELDCAT-FIELDNAME = 'GEWEI'.&lt;/P&gt;&lt;P&gt;     APPEND WFIELDCAT TO IFIELDCAT.&lt;/P&gt;&lt;P&gt;     CLEAR WFIELDCAT.&lt;/P&gt;&lt;P&gt;******************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GRID1-&amp;gt;SET_TABLE_FOR_FIRST_DISPLAY(&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_BUFFER_ACTIVE               =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_BYPASSING_BUFFER            =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_CONSISTENCY_CHECK           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_STRUCTURE_NAME              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IS_VARIANT                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_SAVE                        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_DEFAULT                     = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IS_LAYOUT                     = SLAYOUT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IS_PRINT                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_SPECIAL_GROUPS             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_TOOLBAR_EXCLUDING          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_HYPERLINK                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_ALV_GRAPHICS               =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_EXCEPT_QINFO               =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IR_SALV_ADAPTER               =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CHANGING&lt;/P&gt;&lt;P&gt;    IT_OUTTAB                     = IMARA&lt;/P&gt;&lt;P&gt;    IT_FIELDCATALOG               = IFIELDCAT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_SORT                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_FILTER                     =&lt;/P&gt;&lt;/LI&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;   INVALID_PARAMETER_COMBINATION = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PROGRAM_ERROR                 = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   TOO_MANY_LINES                = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   OTHERS                        = 4&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 S忉-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;CALL METHOD GRID1-&amp;gt;REGISTER_EDIT_EVENT&lt;/P&gt;&lt;P&gt;               EXPORTING&lt;/P&gt;&lt;P&gt;                  I_EVENT_ID = CL_GUI_ALV_GRID=&amp;gt;MC_EVT_ENTER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CREATE OBJECT G_EVENT_RECEIVER.&lt;/P&gt;&lt;P&gt;  SET HANDLER G_EVENT_RECEIVER-&amp;gt;HANDLE_DATA_CHANGED FOR GRID1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " STATUS_2000  OUTPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  USER_COMMAND_2000  INPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;/P&gt;&lt;P&gt;MODULE USER_COMMAND_2000 INPUT.&lt;/P&gt;&lt;P&gt;CASE SY-UCOMM.&lt;/P&gt;&lt;P&gt;WHEN 'EXIT'.&lt;/P&gt;&lt;P&gt; LEAVE PROGRAM.&lt;/P&gt;&lt;P&gt;WHEN 'SWITCH'.&lt;/P&gt;&lt;P&gt; PERFORM SWITCH_EDIT_MODE.&lt;/P&gt;&lt;P&gt;WHEN '&amp;amp;DATA_SAVE'.&lt;/P&gt;&lt;P&gt;DATA :E_UCOMM TYPE SY-UCOMM.&lt;/P&gt;&lt;P&gt;E_UCOMM = '&amp;amp;DATA_SAVE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT IMARA INTO WMARA.&lt;/P&gt;&lt;P&gt;TWMARA-MATNR = WMARA-MATNR.&lt;/P&gt;&lt;P&gt;TWMARA-ERSDA = WMARA-ERSDA.&lt;/P&gt;&lt;P&gt;TWMARA-ERNAM = WMARA-ERNAM.&lt;/P&gt;&lt;P&gt;TWMARA-MTART = WMARA-MTART.&lt;/P&gt;&lt;P&gt;TWMARA-MBRSH = WMARA-MBRSH.&lt;/P&gt;&lt;P&gt;TWMARA-MATKL = WMARA-MATKL.&lt;/P&gt;&lt;P&gt;TWMARA-BRGEW = WMARA-BRGEW.&lt;/P&gt;&lt;P&gt;TWMARA-NTGEW = WMARA-NTGEW.&lt;/P&gt;&lt;P&gt;TWMARA-GEWEI = WMARA-GEWEI.&lt;/P&gt;&lt;P&gt;MODIFY MARA FROM  TWMARA.&lt;/P&gt;&lt;P&gt;CLEAR TWMARA.&lt;/P&gt;&lt;P&gt; ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR WMARA.&lt;/P&gt;&lt;P&gt;CLEAR SY-TABIX.&lt;/P&gt;&lt;P&gt;LOOP AT IMARA INTO WMARA.&lt;/P&gt;&lt;P&gt;REFRESH LT_CELLTAB.&lt;/P&gt;&lt;P&gt;L_INDEX = SY-TABIX.&lt;/P&gt;&lt;P&gt;IF WMARA-ERNAM &amp;lt;&amp;gt; 'RUDISILL'.&lt;/P&gt;&lt;P&gt;   PERFORM FILL_CELLTAB USING '00080000'&lt;/P&gt;&lt;P&gt;                             CHANGING LT_CELLTAB.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;        PERFORM FILL_CELLTAB USING '00100000'&lt;/P&gt;&lt;P&gt;                             CHANGING LT_CELLTAB.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MODIFY TABLE LT_CELLTAB INTO TABLE WMARA-CELLTAB.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*CLEAR WMARA-CELLTAB.&lt;/P&gt;&lt;P&gt;WMARA-CELLTAB = LT_CELLTAB.&lt;/P&gt;&lt;P&gt;    MODIFY IMARA INDEX L_INDEX FROM WMARA.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GRID1-&amp;gt;REFRESH_TABLE_DISPLAY(&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;   IS_STABLE      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_SOFT_REFRESH =&lt;/P&gt;&lt;/LI&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;   FINISHED       = 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;GRID1-&amp;gt;SET_TABLE_FOR_FIRST_DISPLAY(&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_BUFFER_ACTIVE               =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_BYPASSING_BUFFER            =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_CONSISTENCY_CHECK           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_STRUCTURE_NAME              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IS_VARIANT                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_SAVE                        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_DEFAULT                     = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IS_LAYOUT                     = SLAYOUT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IS_PRINT                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_SPECIAL_GROUPS             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_TOOLBAR_EXCLUDING          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_HYPERLINK                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_ALV_GRAPHICS               =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_EXCEPT_QINFO               =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IR_SALV_ADAPTER               =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CHANGING&lt;/P&gt;&lt;P&gt;    IT_OUTTAB                     = IMARA&lt;/P&gt;&lt;P&gt;    IT_FIELDCATALOG               = IFIELDCAT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_SORT                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_FILTER                     =&lt;/P&gt;&lt;/LI&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;   INVALID_PARAMETER_COMBINATION = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PROGRAM_ERROR                 = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   TOO_MANY_LINES                = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   OTHERS                        = 4&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;ENDCASE.&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " USER_COMMAND_2000  INPUT&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM SWITCH_EDIT_MODE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF GRID1-&amp;gt;IS_READY_FOR_INPUT( ) EQ 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;set edit enabled cells ready for input&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL METHOD GRID1-&amp;gt;SET_READY_FOR_INPUT&lt;/P&gt;&lt;P&gt;                     EXPORTING I_READY_FOR_INPUT = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;lock edit enabled cells against input&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL METHOD GRID1-&amp;gt;SET_READY_FOR_INPUT&lt;/P&gt;&lt;P&gt;                    EXPORTING I_READY_FOR_INPUT = 0.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " SWITCH_EDIT_MODE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FILL_CELLTAB USING VALUE(P_MODE)&lt;/P&gt;&lt;P&gt;                  CHANGING PT_CELLTAB TYPE LVC_T_STYL.&lt;/P&gt;&lt;P&gt;  DATA: LS_CELLTAB TYPE LVC_S_STYL,&lt;/P&gt;&lt;P&gt;        L_MODE TYPE RAW4.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This forms sets the style of column 'PRICE' editable&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;according to 'p_mode' and the rest to read only either way.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF P_MODE EQ '00080000'.&lt;/P&gt;&lt;P&gt;*§2a.Use attribute CL_GUI_ALV_GRID=&amp;gt;MC_STYLE_ENABLED to set a cell&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   to status "editable".&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    L_MODE = CL_GUI_ALV_GRID=&amp;gt;MC_STYLE_ENABLED.&lt;/P&gt;&lt;P&gt;  ELSE. "p_mode eq '00100000'&lt;/P&gt;&lt;P&gt;*§2b.Use attribute CL_GUI_ALV_GRID=&amp;gt;MC_STYLE_DISABLED to set a cell&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   to status "non-editable".&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    L_MODE = CL_GUI_ALV_GRID=&amp;gt;MC_STYLE_DISABLED.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LS_CELLTAB-FIELDNAME = 'MATNR'.&lt;/P&gt;&lt;P&gt;  LS_CELLTAB-STYLE = CL_GUI_ALV_GRID=&amp;gt;MC_STYLE_DISABLED.&lt;/P&gt;&lt;P&gt;  INSERT LS_CELLTAB INTO TABLE PT_CELLTAB.&lt;/P&gt;&lt;P&gt;  LS_CELLTAB-FIELDNAME = 'ERSDA'.&lt;/P&gt;&lt;P&gt;  LS_CELLTAB-STYLE =  CL_GUI_ALV_GRID=&amp;gt;MC_STYLE_DISABLED.&lt;/P&gt;&lt;P&gt;  INSERT LS_CELLTAB INTO TABLE PT_CELLTAB.&lt;/P&gt;&lt;P&gt;  LS_CELLTAB-FIELDNAME = 'ERNAM'.&lt;/P&gt;&lt;P&gt;  LS_CELLTAB-STYLE = L_MODE.&lt;/P&gt;&lt;P&gt;  INSERT LS_CELLTAB INTO TABLE PT_CELLTAB.&lt;/P&gt;&lt;P&gt;  LS_CELLTAB-FIELDNAME = 'BRGEW'.&lt;/P&gt;&lt;P&gt;  LS_CELLTAB-STYLE = L_MODE.&lt;/P&gt;&lt;P&gt;  INSERT LS_CELLTAB INTO TABLE PT_CELLTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Oct 2008 10:17:52 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-10-15T10:17:52Z</dc:date>
    <item>
      <title>ALV output save</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-output-save/m-p/4615277#M1087431</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi everyone,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have one requirment, In my ALV(Normal not Oops) output there r some records. If i select one record and click on save it shud be saved.The user shud select only one at a time.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This requirment i want to do in oops. So can anybody tell me r give me sample code(in a simple way) . so that i can understand it and do it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;Sameer&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Oct 2008 10:15:01 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-output-save/m-p/4615277#M1087431</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-10-15T10:15:01Z</dc:date>
    </item>
    <item>
      <title>Re: ALV output save</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-output-save/m-p/4615278#M1087432</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;after changing value press enter and then save.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES : MARA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF SMARA,&lt;/P&gt;&lt;P&gt;        MATNR TYPE MARA-MATNR,&lt;/P&gt;&lt;P&gt;        ERSDA TYPE MARA-ERSDA,&lt;/P&gt;&lt;P&gt;        ERNAM TYPE MARA-ERNAM,&lt;/P&gt;&lt;P&gt;        MTART TYPE MARA-MTART,&lt;/P&gt;&lt;P&gt;        MBRSH TYPE MARA-MBRSH,&lt;/P&gt;&lt;P&gt;        MATKL TYPE MARA-MATKL,&lt;/P&gt;&lt;P&gt;        BRGEW TYPE MARA-BRGEW,&lt;/P&gt;&lt;P&gt;        NTGEW TYPE MARA-NTGEW,&lt;/P&gt;&lt;P&gt;        GEWEI TYPE MARA-GEWEI,&lt;/P&gt;&lt;P&gt;        CELLTAB TYPE LVC_T_STYL,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      END OF SMARA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : IMARA TYPE TABLE OF SMARA,&lt;/P&gt;&lt;P&gt;       WMARA TYPE SMARA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; DATA : TMARA TYPE TABLE OF MARA,&lt;/P&gt;&lt;P&gt;       TWMARA TYPE MARA.&lt;/P&gt;&lt;P&gt; DATA : L_INDEX TYPE I,&lt;/P&gt;&lt;P&gt;        LT_CELLTAB TYPE LVC_T_STYL.&lt;/P&gt;&lt;P&gt;DATA : G_CONTAINER TYPE SCRFNAME VALUE 'GRID1',&lt;/P&gt;&lt;P&gt;       GRID1  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;       MODIFIED TYPE REF TO CL_ALV_CHANGED_DATA_PROTOCOL,&lt;/P&gt;&lt;P&gt;       SLAYOUT TYPE LVC_S_LAYO,&lt;/P&gt;&lt;P&gt;       IFIELDCAT TYPE LVC_T_FCAT,&lt;/P&gt;&lt;P&gt;       WFIELDCAT TYPE LVC_S_FCAT,&lt;/P&gt;&lt;P&gt;       ISORT TYPE LVC_T_SORT,&lt;/P&gt;&lt;P&gt;       WSORT TYPE LVC_S_SORT,&lt;/P&gt;&lt;P&gt;       ISROWS TYPE LVC_T_ROID,&lt;/P&gt;&lt;P&gt;       WSROWS TYPE LVC_S_ROID,&lt;/P&gt;&lt;P&gt;       REFRESH TYPE LVC_S_STBL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;local class to handle semantic checks&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLASS LCL_EVENT_RECEIVER DEFINITION DEFERRED.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: G_EVENT_RECEIVER TYPE REF TO LCL_EVENT_RECEIVER.&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;&lt;/P&gt;&lt;P&gt;    METHODS:&lt;/P&gt;&lt;P&gt;      HANDLE_DATA_CHANGED&lt;/P&gt;&lt;P&gt;         FOR EVENT DATA_CHANGED OF CL_GUI_ALV_GRID&lt;/P&gt;&lt;P&gt;             IMPORTING ER_DATA_CHANGED E_UCOMM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PRIVATE SECTION.&lt;/P&gt;&lt;P&gt;DATA: ERROR_IN_DATA TYPE C.&lt;/P&gt;&lt;P&gt;    METHODS: SAVE_ERNAM&lt;/P&gt;&lt;P&gt;           IMPORTING&lt;/P&gt;&lt;P&gt;              PERNAM TYPE LVC_S_MODI&lt;/P&gt;&lt;P&gt;              PMARA TYPE MARA&lt;/P&gt;&lt;P&gt;              PR_DATA_CHANGED TYPE REF TO CL_ALV_CHANGED_DATA_PROTOCOL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        METHODS: SAVE_BRGEW&lt;/P&gt;&lt;P&gt;           IMPORTING&lt;/P&gt;&lt;P&gt;              PBRGEW TYPE LVC_S_MODI&lt;/P&gt;&lt;P&gt;              PMARA TYPE MARA&lt;/P&gt;&lt;P&gt;              PR_DATA_CHANGED TYPE REF TO CL_ALV_CHANGED_DATA_PROTOCOL.&lt;/P&gt;&lt;P&gt;ENDCLASS.&lt;/P&gt;&lt;P&gt;CLASS LCL_EVENT_RECEIVER IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;  METHOD HANDLE_DATA_CHANGED.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DATA: LS_GOOD TYPE LVC_S_MODI.&lt;/P&gt;&lt;P&gt;    DATA : MMARA TYPE MARA.&lt;/P&gt;&lt;P&gt;   ERROR_IN_DATA = SPACE.&lt;/P&gt;&lt;P&gt;    LOOP AT ER_DATA_CHANGED-&amp;gt;MT_GOOD_CELLS INTO LS_GOOD.&lt;/P&gt;&lt;P&gt;      CASE LS_GOOD-FIELDNAME.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;check if column ERNAM of this row was changed&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        WHEN 'ERNAM'.&lt;/P&gt;&lt;P&gt;          CALL METHOD SAVE_ERNAM&lt;/P&gt;&lt;P&gt;                 EXPORTING&lt;/P&gt;&lt;P&gt;                    PERNAM = LS_GOOD&lt;/P&gt;&lt;P&gt;                    PMARA = MMARA&lt;/P&gt;&lt;P&gt;                    PR_DATA_CHANGED   = ER_DATA_CHANGED.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        WHEN 'BRGEW'.&lt;/P&gt;&lt;P&gt;          CALL METHOD SAVE_BRGEW&lt;/P&gt;&lt;P&gt;                 EXPORTING&lt;/P&gt;&lt;P&gt;                    PBRGEW = LS_GOOD&lt;/P&gt;&lt;P&gt;                    PMARA = MMARA&lt;/P&gt;&lt;P&gt;                    PR_DATA_CHANGED   = ER_DATA_CHANGED.&lt;/P&gt;&lt;P&gt;      ENDCASE.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*§7.Display application log if an error has occured.&lt;/P&gt;&lt;P&gt;    IF ERROR_IN_DATA EQ 'X'.&lt;/P&gt;&lt;P&gt;       CALL METHOD ER_DATA_CHANGED-&amp;gt;DISPLAY_PROTOCOL.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDMETHOD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; METHOD SAVE_ERNAM.&lt;/P&gt;&lt;P&gt; DATA : VERNAM TYPE ERNAM.&lt;/P&gt;&lt;P&gt;        CALL METHOD PR_DATA_CHANGED-&amp;gt;GET_CELL_VALUE&lt;/P&gt;&lt;P&gt;          EXPORTING I_ROW_ID =    PERNAM-ROW_ID&lt;/P&gt;&lt;P&gt;                    I_FIELDNAME = PERNAM-FIELDNAME&lt;/P&gt;&lt;P&gt;          IMPORTING E_VALUE     = VERNAM.&lt;/P&gt;&lt;P&gt;          WMARA-ERNAM = VERNAM .&lt;/P&gt;&lt;P&gt;          MODIFY IMARA FROM WMARA INDEX PERNAM-ROW_ID TRANSPORTING ERNAM.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         APPEND TWMARA TO TMARA.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      CALL METHOD PR_DATA_CHANGED-&amp;gt;MODIFY_CELL&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               EXPORTING I_ROW_ID    = PERNAM-ROW_ID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                         I_FIELDNAME = 'ERNAM'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                         I_VALUE     = VERNAM.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; ENDMETHOD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; METHOD SAVE_BRGEW.&lt;/P&gt;&lt;P&gt; DATA : VBRGEW TYPE BRGEW.&lt;/P&gt;&lt;P&gt;        CALL METHOD PR_DATA_CHANGED-&amp;gt;GET_CELL_VALUE&lt;/P&gt;&lt;P&gt;          EXPORTING I_ROW_ID =    PBRGEW-ROW_ID&lt;/P&gt;&lt;P&gt;                    I_FIELDNAME = PBRGEW-FIELDNAME&lt;/P&gt;&lt;P&gt;          IMPORTING E_VALUE     = VBRGEW.&lt;/P&gt;&lt;P&gt;          WMARA-BRGEW = VBRGEW .&lt;/P&gt;&lt;P&gt;          MODIFY IMARA FROM WMARA INDEX PBRGEW-ROW_ID TRANSPORTING BRGEW.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         APPEND TWMARA TO TMARA.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      CALL METHOD PR_忉ATA_CHANGED-&amp;gt;MODIFY_CELL&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               EXPORTING I_ROW_ID    = PERNAM-ROW_ID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                         I_FIELDNAME = 'ERNAM'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                         I_VALUE     = VERNAM.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; ENDMETHOD.&lt;/P&gt;&lt;P&gt;ENDCLASS.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS : S_MATNR FOR MARA-MATNR.&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;CALL SCREEN 2000.&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  STATUS_2000  OUTPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;/P&gt;&lt;P&gt;MODULE STATUS_2000 OUTPUT.&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'SAS'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SET TITLEBAR 'xxx'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 CONTAINER_NAME = G_CONTAINER.&lt;/P&gt;&lt;P&gt;    CREATE OBJECT GRID1&lt;/P&gt;&lt;P&gt;           EXPORTING I_PARENT = G_CUSTOM_CONTAINER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; SELECT MATNR&lt;/P&gt;&lt;P&gt;        ERSDA&lt;/P&gt;&lt;P&gt;        ERNAM&lt;/P&gt;&lt;P&gt;        MTART&lt;/P&gt;&lt;P&gt;        MBRSH&lt;/P&gt;&lt;P&gt;        MATKL&lt;/P&gt;&lt;P&gt;        BRGEW&lt;/P&gt;&lt;P&gt;        NTGEW&lt;/P&gt;&lt;P&gt;        GEWEI&lt;/P&gt;&lt;P&gt;        FROM MARA&lt;/P&gt;&lt;P&gt;        INTO CORRESPONDING FIELDS OF TABLE IMARA&lt;/P&gt;&lt;P&gt;        WHERE MATNR IN S_MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT IMARA INTO WMARA.&lt;/P&gt;&lt;P&gt;REFRESH LT_CELLTAB.&lt;/P&gt;&lt;P&gt;L_INDEX = SY-TABIX.&lt;/P&gt;&lt;P&gt;IF WMARA-ERNAM &amp;lt;&amp;gt; 'RUDISILL'.&lt;/P&gt;&lt;P&gt;   PERFORM FILL_CELLTAB USING '00080000'&lt;/P&gt;&lt;P&gt;                             CHANGING LT_CELLTAB.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;        PERFORM FILL_CELLTAB USING '00100000'&lt;/P&gt;&lt;P&gt;                             CHANGING LT_CELLTAB.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;    INSERT LINES OF LT_CELLTAB INTO TABLE WMARA-CELLTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MODIFY IMARA INDEX L_INDEX FROM WMARA.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;********&lt;STRONG&gt;STYLE&lt;/STRONG&gt;***************&lt;/P&gt;&lt;P&gt;     SLAYOUT-STYLEFNAME = 'CELLTAB'.&lt;/P&gt;&lt;P&gt;     SLAYOUT-SEL_MODE = 'C'.&lt;/P&gt;&lt;P&gt;******************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******&lt;STRONG&gt;FIELDCAT&lt;/STRONG&gt;*************&lt;/P&gt;&lt;P&gt;     WFIELDCAT-COL_POS = '1'.&lt;/P&gt;&lt;P&gt;     WFIELDCAT-FIELDNAME = 'MATNR'.&lt;/P&gt;&lt;P&gt;     APPEND WFIELDCAT TO IFIELDCAT.&lt;/P&gt;&lt;P&gt;     CLEAR WFIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     WFIELDCAT-COL_POS = '2'.&lt;/P&gt;&lt;P&gt;     WFIELDCAT-FIELDNAME = 'ERSDA'.&lt;/P&gt;&lt;P&gt;     APPEND WFIELDCAT TO IFIELDCAT.&lt;/P&gt;&lt;P&gt;     CLEAR WFIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     WFIELDCAT-COL_POS = '3'.&lt;/P&gt;&lt;P&gt;     WFIELDCAT-FIELDNAME = 'ERNAM'.&lt;/P&gt;&lt;P&gt;     WFIELDCAT-EDIT = 'X'.&lt;/P&gt;&lt;P&gt;     APPEND WFIELDCAT TO IFIELDCAT.&lt;/P&gt;&lt;P&gt;     CLEAR WFIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     WFIELDCAT-COL_POS = '4'.&lt;/P&gt;&lt;P&gt;     WFIELDCAT-FIELDNAME = 'MTART'.&lt;/P&gt;&lt;P&gt;     APPEND WFIELDCAT TO IFIELDCAT.&lt;/P&gt;&lt;P&gt;     CLEAR WFIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     WFIELDCAT-COL_POS = '5'.&lt;/P&gt;&lt;P&gt;     WFIELDCAT-FIELDNAME = 'MBRSH'.&lt;/P&gt;&lt;P&gt;     APPEND WFIELDCAT TO IFIELDCAT.&lt;/P&gt;&lt;P&gt;     CLEAR WFIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     WFIELDCAT-COL_POS = '6'.&lt;/P&gt;&lt;P&gt;     WFIELDCAT-FIELDNAME = 'MATKL'.&lt;/P&gt;&lt;P&gt;     APPEND WFIELDCAT TO IFIELDCAT.&lt;/P&gt;&lt;P&gt;     CLEAR WFIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     WFIELDCAT-COL_POS = '7'.&lt;/P&gt;&lt;P&gt;     WFIELDCAT-FIELDNAME = 'BRGEW'.&lt;/P&gt;&lt;P&gt;     WFIELDCAT-DO_SUM = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    wfieldcat-DECMLFIELD = 'BRGEW'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    wfieldcat-DECIMALS_O = '000.00'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    WFIELDCAT-EDIT = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     APPEND WFIELDCAT TO IFIELDCAT.&lt;/P&gt;&lt;P&gt;     CLEAR WFIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     WFIELDCAT-COL_POS = '8'.&lt;/P&gt;&lt;P&gt;     WFIELDCAT-FIELDNAME = 'NTGEW'.&lt;/P&gt;&lt;P&gt;     WFIELDCAT-DO_SUM = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    WFIELDCAT-DECMLFIELD = 'NTGEW'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     APPEND WFIELDCAT TO IFIELDCAT.&lt;/P&gt;&lt;P&gt;     CLEAR WFIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     WFIELDCAT-COL_POS = '9'.&lt;/P&gt;&lt;P&gt;     WFIELDCAT-FIELDNAME = 'GEWEI'.&lt;/P&gt;&lt;P&gt;     APPEND WFIELDCAT TO IFIELDCAT.&lt;/P&gt;&lt;P&gt;     CLEAR WFIELDCAT.&lt;/P&gt;&lt;P&gt;******************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GRID1-&amp;gt;SET_TABLE_FOR_FIRST_DISPLAY(&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_BUFFER_ACTIVE               =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_BYPASSING_BUFFER            =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_CONSISTENCY_CHECK           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_STRUCTURE_NAME              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IS_VARIANT                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_SAVE                        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_DEFAULT                     = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IS_LAYOUT                     = SLAYOUT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IS_PRINT                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_SPECIAL_GROUPS             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_TOOLBAR_EXCLUDING          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_HYPERLINK                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_ALV_GRAPHICS               =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_EXCEPT_QINFO               =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IR_SALV_ADAPTER               =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CHANGING&lt;/P&gt;&lt;P&gt;    IT_OUTTAB                     = IMARA&lt;/P&gt;&lt;P&gt;    IT_FIELDCATALOG               = IFIELDCAT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_SORT                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_FILTER                     =&lt;/P&gt;&lt;/LI&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;   INVALID_PARAMETER_COMBINATION = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PROGRAM_ERROR                 = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   TOO_MANY_LINES                = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   OTHERS                        = 4&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 S忉-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;CALL METHOD GRID1-&amp;gt;REGISTER_EDIT_EVENT&lt;/P&gt;&lt;P&gt;               EXPORTING&lt;/P&gt;&lt;P&gt;                  I_EVENT_ID = CL_GUI_ALV_GRID=&amp;gt;MC_EVT_ENTER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CREATE OBJECT G_EVENT_RECEIVER.&lt;/P&gt;&lt;P&gt;  SET HANDLER G_EVENT_RECEIVER-&amp;gt;HANDLE_DATA_CHANGED FOR GRID1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " STATUS_2000  OUTPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  USER_COMMAND_2000  INPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;/P&gt;&lt;P&gt;MODULE USER_COMMAND_2000 INPUT.&lt;/P&gt;&lt;P&gt;CASE SY-UCOMM.&lt;/P&gt;&lt;P&gt;WHEN 'EXIT'.&lt;/P&gt;&lt;P&gt; LEAVE PROGRAM.&lt;/P&gt;&lt;P&gt;WHEN 'SWITCH'.&lt;/P&gt;&lt;P&gt; PERFORM SWITCH_EDIT_MODE.&lt;/P&gt;&lt;P&gt;WHEN '&amp;amp;DATA_SAVE'.&lt;/P&gt;&lt;P&gt;DATA :E_UCOMM TYPE SY-UCOMM.&lt;/P&gt;&lt;P&gt;E_UCOMM = '&amp;amp;DATA_SAVE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT IMARA INTO WMARA.&lt;/P&gt;&lt;P&gt;TWMARA-MATNR = WMARA-MATNR.&lt;/P&gt;&lt;P&gt;TWMARA-ERSDA = WMARA-ERSDA.&lt;/P&gt;&lt;P&gt;TWMARA-ERNAM = WMARA-ERNAM.&lt;/P&gt;&lt;P&gt;TWMARA-MTART = WMARA-MTART.&lt;/P&gt;&lt;P&gt;TWMARA-MBRSH = WMARA-MBRSH.&lt;/P&gt;&lt;P&gt;TWMARA-MATKL = WMARA-MATKL.&lt;/P&gt;&lt;P&gt;TWMARA-BRGEW = WMARA-BRGEW.&lt;/P&gt;&lt;P&gt;TWMARA-NTGEW = WMARA-NTGEW.&lt;/P&gt;&lt;P&gt;TWMARA-GEWEI = WMARA-GEWEI.&lt;/P&gt;&lt;P&gt;MODIFY MARA FROM  TWMARA.&lt;/P&gt;&lt;P&gt;CLEAR TWMARA.&lt;/P&gt;&lt;P&gt; ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR WMARA.&lt;/P&gt;&lt;P&gt;CLEAR SY-TABIX.&lt;/P&gt;&lt;P&gt;LOOP AT IMARA INTO WMARA.&lt;/P&gt;&lt;P&gt;REFRESH LT_CELLTAB.&lt;/P&gt;&lt;P&gt;L_INDEX = SY-TABIX.&lt;/P&gt;&lt;P&gt;IF WMARA-ERNAM &amp;lt;&amp;gt; 'RUDISILL'.&lt;/P&gt;&lt;P&gt;   PERFORM FILL_CELLTAB USING '00080000'&lt;/P&gt;&lt;P&gt;                             CHANGING LT_CELLTAB.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;        PERFORM FILL_CELLTAB USING '00100000'&lt;/P&gt;&lt;P&gt;                             CHANGING LT_CELLTAB.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MODIFY TABLE LT_CELLTAB INTO TABLE WMARA-CELLTAB.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*CLEAR WMARA-CELLTAB.&lt;/P&gt;&lt;P&gt;WMARA-CELLTAB = LT_CELLTAB.&lt;/P&gt;&lt;P&gt;    MODIFY IMARA INDEX L_INDEX FROM WMARA.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;GRID1-&amp;gt;REFRESH_TABLE_DISPLAY(&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;   IS_STABLE      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_SOFT_REFRESH =&lt;/P&gt;&lt;/LI&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;   FINISHED       = 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;GRID1-&amp;gt;SET_TABLE_FOR_FIRST_DISPLAY(&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_BUFFER_ACTIVE               =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_BYPASSING_BUFFER            =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_CONSISTENCY_CHECK           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_STRUCTURE_NAME              =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IS_VARIANT                    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_SAVE                        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_DEFAULT                     = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IS_LAYOUT                     = SLAYOUT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IS_PRINT                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_SPECIAL_GROUPS             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_TOOLBAR_EXCLUDING          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_HYPERLINK                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_ALV_GRAPHICS               =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_EXCEPT_QINFO               =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IR_SALV_ADAPTER               =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CHANGING&lt;/P&gt;&lt;P&gt;    IT_OUTTAB                     = IMARA&lt;/P&gt;&lt;P&gt;    IT_FIELDCATALOG               = IFIELDCAT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_SORT                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_FILTER                     =&lt;/P&gt;&lt;/LI&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;   INVALID_PARAMETER_COMBINATION = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PROGRAM_ERROR                 = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   TOO_MANY_LINES                = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   OTHERS                        = 4&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;ENDCASE.&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " USER_COMMAND_2000  INPUT&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM SWITCH_EDIT_MODE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF GRID1-&amp;gt;IS_READY_FOR_INPUT( ) EQ 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;set edit enabled cells ready for input&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL METHOD GRID1-&amp;gt;SET_READY_FOR_INPUT&lt;/P&gt;&lt;P&gt;                     EXPORTING I_READY_FOR_INPUT = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;lock edit enabled cells against input&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL METHOD GRID1-&amp;gt;SET_READY_FOR_INPUT&lt;/P&gt;&lt;P&gt;                    EXPORTING I_READY_FOR_INPUT = 0.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " SWITCH_EDIT_MODE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FILL_CELLTAB USING VALUE(P_MODE)&lt;/P&gt;&lt;P&gt;                  CHANGING PT_CELLTAB TYPE LVC_T_STYL.&lt;/P&gt;&lt;P&gt;  DATA: LS_CELLTAB TYPE LVC_S_STYL,&lt;/P&gt;&lt;P&gt;        L_MODE TYPE RAW4.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This forms sets the style of column 'PRICE' editable&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;according to 'p_mode' and the rest to read only either way.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF P_MODE EQ '00080000'.&lt;/P&gt;&lt;P&gt;*§2a.Use attribute CL_GUI_ALV_GRID=&amp;gt;MC_STYLE_ENABLED to set a cell&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   to status "editable".&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    L_MODE = CL_GUI_ALV_GRID=&amp;gt;MC_STYLE_ENABLED.&lt;/P&gt;&lt;P&gt;  ELSE. "p_mode eq '00100000'&lt;/P&gt;&lt;P&gt;*§2b.Use attribute CL_GUI_ALV_GRID=&amp;gt;MC_STYLE_DISABLED to set a cell&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   to status "non-editable".&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    L_MODE = CL_GUI_ALV_GRID=&amp;gt;MC_STYLE_DISABLED.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LS_CELLTAB-FIELDNAME = 'MATNR'.&lt;/P&gt;&lt;P&gt;  LS_CELLTAB-STYLE = CL_GUI_ALV_GRID=&amp;gt;MC_STYLE_DISABLED.&lt;/P&gt;&lt;P&gt;  INSERT LS_CELLTAB INTO TABLE PT_CELLTAB.&lt;/P&gt;&lt;P&gt;  LS_CELLTAB-FIELDNAME = 'ERSDA'.&lt;/P&gt;&lt;P&gt;  LS_CELLTAB-STYLE =  CL_GUI_ALV_GRID=&amp;gt;MC_STYLE_DISABLED.&lt;/P&gt;&lt;P&gt;  INSERT LS_CELLTAB INTO TABLE PT_CELLTAB.&lt;/P&gt;&lt;P&gt;  LS_CELLTAB-FIELDNAME = 'ERNAM'.&lt;/P&gt;&lt;P&gt;  LS_CELLTAB-STYLE = L_MODE.&lt;/P&gt;&lt;P&gt;  INSERT LS_CELLTAB INTO TABLE PT_CELLTAB.&lt;/P&gt;&lt;P&gt;  LS_CELLTAB-FIELDNAME = 'BRGEW'.&lt;/P&gt;&lt;P&gt;  LS_CELLTAB-STYLE = L_MODE.&lt;/P&gt;&lt;P&gt;  INSERT LS_CELLTAB INTO TABLE PT_CELLTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Oct 2008 10:17:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-output-save/m-p/4615278#M1087432</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-10-15T10:17:52Z</dc:date>
    </item>
    <item>
      <title>Re: ALV output save</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-output-save/m-p/4615279#M1087433</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Closing Thread&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Nov 2008 05:04:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-output-save/m-p/4615279#M1087433</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-11-12T05:04:33Z</dc:date>
    </item>
  </channel>
</rss>

