<?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 ALV GRID UPDATE in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid-update/m-p/4343042#M1034401</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI,&lt;/P&gt;&lt;P&gt;I displayed some data from one customized Z table into ALV Editable Grid. If i change that data and save means that data to be update in database table. How we can do this operation can anyone please tell me.&lt;/P&gt;&lt;P&gt;thx&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 21 Aug 2008 05:03:47 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-08-21T05:03:47Z</dc:date>
    <item>
      <title>ALV GRID UPDATE</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid-update/m-p/4343042#M1034401</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI,&lt;/P&gt;&lt;P&gt;I displayed some data from one customized Z table into ALV Editable Grid. If i change that data and save means that data to be update in database table. How we can do this operation can anyone please tell me.&lt;/P&gt;&lt;P&gt;thx&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Aug 2008 05:03:47 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid-update/m-p/4343042#M1034401</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-08-21T05:03:47Z</dc:date>
    </item>
    <item>
      <title>Re: ALV GRID UPDATE</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid-update/m-p/4343043#M1034402</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Please search the forum before posting.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This question has been posted before.&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_thread" href="https://community.sap.com/" __jive_macro_name="thread" modifiedtitle="true" __default_attr="755569"&gt;&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Aug 2008 05:13:39 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid-update/m-p/4343043#M1034402</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-08-21T05:13:39Z</dc:date>
    </item>
    <item>
      <title>Re: ALV GRID UPDATE</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid-update/m-p/4343044#M1034403</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;plz refer this...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT z_demo_alv_jg.*******************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TYPE-POOLS                                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;P&gt;TYPE-POOLS: slis. *******************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNAL TABLES/WORK AREAS/VARIABLES     *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;P&gt;DATA: i_fieldcat TYPE slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;      i_index TYPE STANDARD TABLE OF i WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      w_field TYPE slis_fieldcat_alv,&lt;/P&gt;&lt;P&gt;      p_table LIKE dd02l-tabname,&lt;/P&gt;&lt;P&gt;      dy_table TYPE REF TO data,&lt;/P&gt;&lt;P&gt;      dy_tab TYPE REF TO data,&lt;/P&gt;&lt;P&gt;      dy_line TYPE REF TO data.*******************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FIELD-SYMBOLS                                                   *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS: &amp;lt;dyn_table&amp;gt; TYPE STANDARD TABLE,&lt;/P&gt;&lt;P&gt;               &amp;lt;dyn_wa&amp;gt; TYPE ANY,&lt;/P&gt;&lt;P&gt;               &amp;lt;dyn_field&amp;gt; TYPE ANY,&lt;/P&gt;&lt;P&gt;               &amp;lt;dyn_tab_temp&amp;gt; TYPE STANDARD TABLE.*******************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SELECTION SCREEN                                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;P&gt;PARAMETERS: tabname(30) TYPE c,&lt;/P&gt;&lt;P&gt;            lines(5)  TYPE n.*******************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;START-OF-SELECTION                                              *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.* Storing table name&lt;/P&gt;&lt;P&gt;  p_table = tabname.* Create internal table dynamically with the stucture of table name&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;entered in the selection screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CREATE DATA dy_table TYPE STANDARD TABLE OF (p_table).&lt;/P&gt;&lt;P&gt;  ASSIGN dy_table-&amp;gt;* TO &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE i000(z_zzz_ca_messages) WITH ' No table found'.    LEAVE TO LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create workarea for the table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CREATE DATA dy_line LIKE LINE OF &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;P&gt;  ASSIGN dy_line-&amp;gt;* TO &amp;lt;dyn_wa&amp;gt;.* Create another temp. table&lt;/P&gt;&lt;P&gt;  CREATE DATA dy_tab TYPE STANDARD TABLE OF (p_table).&lt;/P&gt;&lt;P&gt;  ASSIGN dy_tab-&amp;gt;* TO &amp;lt;dyn_tab_temp&amp;gt;.  SORT i_fieldcat BY col_pos.* Select data from table&lt;/P&gt;&lt;P&gt;  SELECT * FROM (p_table)&lt;/P&gt;&lt;P&gt;  INTO TABLE &amp;lt;dyn_table&amp;gt;&lt;/P&gt;&lt;P&gt;  UP TO lines ROWS.  REFRESH &amp;lt;dyn_tab_temp&amp;gt;.* Display report&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_callback_program       = sy-repid&lt;/P&gt;&lt;P&gt;      i_structure_name         = p_table&lt;/P&gt;&lt;P&gt;      i_callback_user_command  = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;      i_callback_pf_status_set = 'SET_PF_STATUS'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab                 = &amp;lt;dyn_table&amp;gt;&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      program_error            = 1&lt;/P&gt;&lt;P&gt;      OTHERS                   = 2.  IF sy-subrc &amp;lt;&amp;gt; 0.  ENDIF.&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  SET_PF_STATUS&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;      Setting custom PF-Status&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;RT_EXTAB   Excluding table&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 set_pf_status USING rt_extab TYPE slis_t_extab.  SET PF-STATUS 'Z_STANDARD'.ENDFORM.                    "SET_PF_STATUS&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Handling custom function codes&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;R_UCOMM      Function code value&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;RS_SELFIELD  Info. of cursor position in ALV&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 user_command  USING    r_ucomm LIKE sy-ucomm&lt;/P&gt;&lt;P&gt;        			    rs_selfield TYPE slis_selfield.* Local data declaration&lt;/P&gt;&lt;P&gt;  DATA: li_tab TYPE REF TO data,&lt;/P&gt;&lt;P&gt;        l_line TYPE REF TO data.* Local field-symbols&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS:&amp;lt;l_tab&amp;gt; TYPE table,&lt;/P&gt;&lt;P&gt;                &amp;lt;l_wa&amp;gt;  TYPE ANY.* Create table&lt;/P&gt;&lt;P&gt;  CREATE DATA li_tab TYPE STANDARD TABLE OF (p_table).&lt;/P&gt;&lt;P&gt;  ASSIGN li_tab-&amp;gt;* TO &amp;lt;l_tab&amp;gt;.* Create workarea&lt;/P&gt;&lt;P&gt;  CREATE DATA l_line LIKE LINE OF &amp;lt;l_tab&amp;gt;.&lt;/P&gt;&lt;P&gt;  ASSIGN l_line-&amp;gt;* TO &amp;lt;l_wa&amp;gt;.  CASE r_ucomm.*   When a record is selected&lt;/P&gt;&lt;P&gt;    WHEN '&amp;amp;IC1'.*     Read the selected record&lt;/P&gt;&lt;P&gt;      READ TABLE &amp;lt;dyn_table&amp;gt; ASSIGNING &amp;lt;dyn_wa&amp;gt; INDEX&lt;/P&gt;&lt;P&gt;      rs_selfield-tabindex.      IF sy-subrc = 0.*       Store the record in an internal table&lt;/P&gt;&lt;P&gt;        APPEND &amp;lt;dyn_wa&amp;gt; TO &amp;lt;l_tab&amp;gt;.*       Fetch the field catalog info&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            i_program_name         = 'Z_DEMO_PDF_JG'&lt;/P&gt;&lt;P&gt;            i_structure_name       = p_table&lt;/P&gt;&lt;P&gt;          CHANGING&lt;/P&gt;&lt;P&gt;            ct_fieldcat            = i_fieldcat&lt;/P&gt;&lt;P&gt;          EXCEPTIONS&lt;/P&gt;&lt;P&gt;            inconsistent_interface = 1&lt;/P&gt;&lt;P&gt;            program_error          = 2&lt;/P&gt;&lt;P&gt;            OTHERS                 = 3.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.*         Make all the fields input enabled except key fields&lt;/P&gt;&lt;P&gt;          w_field-input = 'X'.          MODIFY i_fieldcat FROM w_field TRANSPORTING input&lt;/P&gt;&lt;P&gt;          WHERE key IS INITIAL.        ENDIF.*       Display the record for editing purpose&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            i_callback_program    = sy-repid&lt;/P&gt;&lt;P&gt;            i_structure_name      = p_table&lt;/P&gt;&lt;P&gt;            it_fieldcat           = i_fieldcat&lt;/P&gt;&lt;P&gt;            i_screen_start_column = 10&lt;/P&gt;&lt;P&gt;            i_screen_start_line   = 15&lt;/P&gt;&lt;P&gt;            i_screen_end_column   = 200&lt;/P&gt;&lt;P&gt;            i_screen_end_line     = 20&lt;/P&gt;&lt;P&gt;          TABLES&lt;/P&gt;&lt;P&gt;            t_outtab              = &amp;lt;l_tab&amp;gt;&lt;/P&gt;&lt;P&gt;          EXCEPTIONS&lt;/P&gt;&lt;P&gt;            program_error         = 1&lt;/P&gt;&lt;P&gt;            OTHERS                = 2.        IF sy-subrc = 0.*         Read the modified data&lt;/P&gt;&lt;P&gt;          READ TABLE &amp;lt;l_tab&amp;gt; INDEX 1 INTO &amp;lt;l_wa&amp;gt;.*         If the record is changed then track its index no.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        and populate it in an internal table for future&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        action&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          IF sy-subrc = 0 AND &amp;lt;dyn_wa&amp;gt; &amp;lt;&amp;gt; &amp;lt;l_wa&amp;gt;.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_wa&amp;gt; = &amp;lt;l_wa&amp;gt;.&lt;/P&gt;&lt;P&gt;            i_index = rs_selfield-tabindex.&lt;/P&gt;&lt;P&gt;            APPEND i_index.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.      ENDIF.*   When save button is pressed&lt;/P&gt;&lt;P&gt;    WHEN 'SAVE'.*     Sort the index table&lt;/P&gt;&lt;P&gt;      SORT i_index.*     Delete all duplicate records&lt;/P&gt;&lt;P&gt;      DELETE ADJACENT DUPLICATES FROM i_index.      LOOP AT i_index.*       Find out the changes in the internal table&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      and populate these changes in another internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        READ TABLE &amp;lt;dyn_table&amp;gt; ASSIGNING &amp;lt;dyn_wa&amp;gt; INDEX i_index.&lt;/P&gt;&lt;P&gt;        IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;          APPEND &amp;lt;dyn_wa&amp;gt; TO &amp;lt;dyn_tab_temp&amp;gt;.&lt;/P&gt;&lt;P&gt;        ENDIF.      ENDLOOP.*     Lock the table&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'ENQUEUE_E_TABLE'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          mode_rstable   = 'E'&lt;/P&gt;&lt;P&gt;          tabname        = p_table&lt;/P&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;          foreign_lock   = 1&lt;/P&gt;&lt;P&gt;          system_failure = 2&lt;/P&gt;&lt;P&gt;          OTHERS         = 3.      IF sy-subrc = 0.*       Modify the database table with these changes&lt;/P&gt;&lt;P&gt;        MODIFY (p_table) FROM TABLE &amp;lt;dyn_tab_temp&amp;gt;.        REFRESH &amp;lt;dyn_tab_temp&amp;gt;.*       Unlock the table&lt;/P&gt;&lt;P&gt;        CALL FUNCTION 'DEQUEUE_E_TABLE'&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            mode_rstable = 'E'&lt;/P&gt;&lt;P&gt;            tabname      = p_table.      ENDIF.&lt;/P&gt;&lt;P&gt;  ENDCASE.  rs_selfield-refresh = 'X'.ENDFORM.                    "user_command&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reference : SAPTechnical.com&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;hope this helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanx,&lt;/P&gt;&lt;P&gt;dhanashri.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Aug 2008 05:22:35 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid-update/m-p/4343044#M1034403</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-08-21T05:22:35Z</dc:date>
    </item>
    <item>
      <title>Re: ALV GRID UPDATE</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid-update/m-p/4343045#M1034404</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;Please arefer to the below program.&lt;/P&gt;&lt;P&gt;YOu will have to define the PF status.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This updates the Sales Order thru ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can add the logic to update Ztable instead.&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; Report  ZSCD_EDIT_ALV_SO&lt;/P&gt;&lt;P&gt;*&amp;amp;&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;&lt;/P&gt;&lt;P&gt;*&amp;amp;&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;REPORT  ZSCD_EDIT_ALV_SO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: VBAK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF TY_VBAK,&lt;/P&gt;&lt;P&gt;        VBELN TYPE BAPIVBELN-VBELN,&lt;/P&gt;&lt;P&gt;        LIFSK TYPE VBAK-LIFSK,&lt;/P&gt;&lt;P&gt;        LIFSK2 TYPE VBAK-LIFSK,&lt;/P&gt;&lt;P&gt;        FAKSK TYPE VBAK-FAKSK ,&lt;/P&gt;&lt;P&gt;        FAKSK2 TYPE VBAK-FAKSK ,&lt;/P&gt;&lt;P&gt;        AUTLF TYPE VBAK-AUTLF,&lt;/P&gt;&lt;P&gt;        AUTLF2 TYPE VBAK-AUTLF,&lt;/P&gt;&lt;P&gt;       END OF TY_VBAK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : IT_VBAK TYPE STANDARD TABLE OF TY_VBAK,&lt;/P&gt;&lt;P&gt;       WA_VBAK TYPE TY_VBAK.&lt;/P&gt;&lt;P&gt;DATA: I_REPID LIKE SY-REPID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: SLIS.&lt;/P&gt;&lt;P&gt;DATA: G_RS_SELFIELD TYPE SLIS_SELFIELD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV. "Field catalogue&lt;/P&gt;&lt;P&gt;DATA: LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: I_LAYOUT TYPE LVC_S_LAYO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-003.&lt;/P&gt;&lt;P&gt;PARAMETERS : P_VBELN LIKE VBAK-VBELN OBLIGATORY default '0000004969' .&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK B1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN : BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-004.&lt;/P&gt;&lt;P&gt;PARAMETERS : P_RAD1  RADIOBUTTON GROUP G1 DEFAULT 'X'.&lt;/P&gt;&lt;P&gt;PARAMETERS : P_RAD2  RADIOBUTTON GROUP G1.&lt;/P&gt;&lt;P&gt;PARAMETERS : P_RAD3  RADIOBUTTON GROUP G1.&lt;/P&gt;&lt;P&gt;PARAMETERS : P_RAD4  RADIOBUTTON GROUP G1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK B2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;  I_REPID = SY-REPID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  I_LAYOUT-CWIDTH_OPT = 'X'.&lt;/P&gt;&lt;P&gt;  I_LAYOUT-COL_OPT = 'X'.&lt;/P&gt;&lt;P&gt;  I_LAYOUT-ZEBRA = 'X'.&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;*SET PF-STATUS 'SAVE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM FETCH_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT IT_VBAK[] IS INITIAL..&lt;/P&gt;&lt;P&gt;    PERFORM CREATE_CATALOG.&lt;/P&gt;&lt;P&gt;    PERFORM DISPLAY_AVL.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    WRITE:/ ' Please check the Sales Order Number'.&lt;/P&gt;&lt;P&gt;  ENDIF.&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  FETCH_DATA&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 FETCH_DATA .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT VBELN LIFSK FAKSK AUTLF FROM VBAK INTO corresponding fields of TABLE IT_VBAK WHERE VBELN = P_VBELN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " FETCH_DATA&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  CREATE_CATALOG&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 CREATE_CATALOG .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA WA_FCAT  TYPE SLIS_FIELDCAT_ALV. "Field catalogue&lt;/P&gt;&lt;P&gt;  .&lt;/P&gt;&lt;P&gt;  CLEAR WA_FCAT .&lt;/P&gt;&lt;P&gt;  WA_FCAT-TABNAME = 'it_vbak'.&lt;/P&gt;&lt;P&gt;  WA_FCAT-FIELDNAME = 'VBELN'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WA_FCAT-HOTSPOT = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_FCAT-SELTEXT_L = 'Sales Order'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FCAT TO GT_FIELDCAT .&lt;/P&gt;&lt;P&gt;  CLEAR WA_FCAT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR WA_FCAT .&lt;/P&gt;&lt;P&gt;  WA_FCAT-TABNAME = 'it_vbak'.&lt;/P&gt;&lt;P&gt;  WA_FCAT-FIELDNAME = 'FAKSK'.&lt;/P&gt;&lt;P&gt;  WA_FCAT-SELTEXT_L = 'Billing block'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FCAT TO GT_FIELDCAT .&lt;/P&gt;&lt;P&gt;  CLEAR WA_FCAT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR WA_FCAT .&lt;/P&gt;&lt;P&gt;  WA_FCAT-TABNAME = 'it_vbak'.&lt;/P&gt;&lt;P&gt;  WA_FCAT-FIELDNAME = 'FAKSK2'.&lt;/P&gt;&lt;P&gt;  WA_FCAT-SELTEXT_L = 'New Billing block'.&lt;/P&gt;&lt;P&gt;  IF P_RAD1 = 'X' or P_RAD4 = 'X'.&lt;/P&gt;&lt;P&gt;    WA_FCAT-EDIT  = 'X'.&lt;/P&gt;&lt;P&gt;    WA_FCAT-INPUT = 'X'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  APPEND WA_FCAT TO GT_FIELDCAT .&lt;/P&gt;&lt;P&gt;  CLEAR WA_FCAT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR WA_FCAT .&lt;/P&gt;&lt;P&gt;  WA_FCAT-TABNAME = 'it_vbak'.&lt;/P&gt;&lt;P&gt;  WA_FCAT-FIELDNAME = 'LIFSK'.&lt;/P&gt;&lt;P&gt;  WA_FCAT-SELTEXT_L = 'Delivery block'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FCAT TO GT_FIELDCAT .&lt;/P&gt;&lt;P&gt;  CLEAR WA_FCAT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR WA_FCAT .&lt;/P&gt;&lt;P&gt;  WA_FCAT-TABNAME = 'it_vbak'.&lt;/P&gt;&lt;P&gt;  WA_FCAT-FIELDNAME = 'LIFSK2'.&lt;/P&gt;&lt;P&gt;  WA_FCAT-SELTEXT_L = 'New Delivery block'.&lt;/P&gt;&lt;P&gt;  IF P_RAD2 = 'X' or P_RAD4 = 'X'.&lt;/P&gt;&lt;P&gt;    WA_FCAT-EDIT  = 'X'.&lt;/P&gt;&lt;P&gt;    WA_FCAT-INPUT = 'X'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  APPEND WA_FCAT TO GT_FIELDCAT .&lt;/P&gt;&lt;P&gt;  CLEAR WA_FCAT .&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;  CLEAR WA_FCAT .&lt;/P&gt;&lt;P&gt;  WA_FCAT-TABNAME = 'it_vbak'.&lt;/P&gt;&lt;P&gt;  WA_FCAT-FIELDNAME = 'AUTLF'.&lt;/P&gt;&lt;P&gt;  WA_FCAT-SELTEXT_L = 'Complete Delivery'.&lt;/P&gt;&lt;P&gt;  APPEND WA_FCAT TO GT_FIELDCAT .&lt;/P&gt;&lt;P&gt;  CLEAR WA_FCAT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR WA_FCAT .&lt;/P&gt;&lt;P&gt;  WA_FCAT-TABNAME = 'it_vbak'.&lt;/P&gt;&lt;P&gt;  WA_FCAT-FIELDNAME = 'AUTLF2'.&lt;/P&gt;&lt;P&gt;  WA_FCAT-SELTEXT_L = 'Complete Delivery'.&lt;/P&gt;&lt;P&gt;  IF P_RAD3 = 'X' or P_RAD4 = 'X'.&lt;/P&gt;&lt;P&gt;    WA_FCAT-EDIT  = 'X'.&lt;/P&gt;&lt;P&gt;    WA_FCAT-INPUT = 'X'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  APPEND WA_FCAT TO GT_FIELDCAT .&lt;/P&gt;&lt;P&gt;  CLEAR WA_FCAT .&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.                    " CREATE_CATALOG&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  DISPLAY_AVL&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 DISPLAY_AVL .&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       = I_REPID&lt;/P&gt;&lt;P&gt;      I_CALLBACK_PF_STATUS_SET = 'STATUS'&lt;/P&gt;&lt;P&gt;      I_CALLBACK_USER_COMMAND  = 'USER_COMMAND'&lt;/P&gt;&lt;P&gt;      IT_FIELDCAT              = GT_FIELDCAT&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      T_OUTTAB                 = IT_VBAK&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      PROGRAM_ERROR            = 1&lt;/P&gt;&lt;P&gt;      OTHERS                   = 2.&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;    WRITE:/ 'Error in ALV Grid Display'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DISPLAY_AVL&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  STATUS&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_EXTAB    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 STATUS USING P_EXTAB TYPE SLIS_T_EXTAB.&lt;/P&gt;&lt;P&gt;*Pf status&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'STATUS'.&lt;/P&gt;&lt;P&gt;ENDFORM. " STATUS&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;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;R_UCOMM      text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;RS_SELFIELD  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 USER_COMMAND 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;  G_RS_SELFIELD = RS_SELFIELD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : L_UCOMM TYPE SY-UCOMM.&lt;/P&gt;&lt;P&gt;  L_UCOMM = SY-UCOMM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE SY-UCOMM.&lt;/P&gt;&lt;P&gt;    WHEN 'EXECUTE' .&lt;/P&gt;&lt;P&gt;      PERFORM PROCESS_SO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'SAVE' .&lt;/P&gt;&lt;P&gt;      PERFORM PROCESS_SO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'BACK'.&lt;/P&gt;&lt;P&gt;      LEAVE TO SCREEN 100.&lt;/P&gt;&lt;P&gt;    WHEN 'LEAV'.&lt;/P&gt;&lt;P&gt;      LEAVE SCREEN.&lt;/P&gt;&lt;P&gt;    WHEN 'CANC'.&lt;/P&gt;&lt;P&gt;      LEAVE PROGRAM.&lt;/P&gt;&lt;P&gt;    WHEN OTHERS.&lt;/P&gt;&lt;P&gt;      MESSAGE 'Error' TYPE 'E'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "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;*&amp;amp;      Form  CHANGE_SALES_ORDER&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 CHANGE_SALES_ORDER .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE IT_VBAK INDEX 1 INTO WA_VBAK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : HEADER_IN TYPE BAPISDH1,&lt;/P&gt;&lt;P&gt;         RETURN TYPE STANDARD TABLE OF BAPIRET2,&lt;/P&gt;&lt;P&gt;         WA_RETURN TYPE BAPIRET2,&lt;/P&gt;&lt;P&gt;         COMM_RET TYPE BAPIRET2,&lt;/P&gt;&lt;P&gt;         HEADER_INX TYPE BAPISDH1X.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear : HEADER_INX, HEADER_IN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  HEADER_INX-UPDATEFLAG = 'U'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if p_rad1 = 'X' or P_RAD4 = 'X'.&lt;/P&gt;&lt;P&gt;  HEADER_IN-BILL_BLOCK = WA_VBAK-FAKSK2.&lt;/P&gt;&lt;P&gt;  HEADER_INX-BILL_BLOCK = 'X'.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if p_rad2 = 'X' or P_RAD4 = 'X'.&lt;/P&gt;&lt;P&gt;  HEADER_IN-DLV_BLOCK = WA_VBAK-LIFSK2.&lt;/P&gt;&lt;P&gt;  HEADER_INX-DLV_BLOCK = 'X'.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if p_rad3 = 'X' or P_RAD4 = 'X'.&lt;/P&gt;&lt;P&gt;  HEADER_IN-COMPL_DLV = WA_VBAK-AUTLF2.&lt;/P&gt;&lt;P&gt;  HEADER_INX-COMPL_DLV = 'X'.&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;  CALL FUNCTION 'BAPI_SALESORDER_CHANGE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      SALESDOCUMENT    = WA_VBAK-VBELN&lt;/P&gt;&lt;P&gt;      ORDER_HEADER_IN  = HEADER_IN&lt;/P&gt;&lt;P&gt;      ORDER_HEADER_INX = HEADER_INX&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      RETURN           = RETURN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE RETURN INTO WA_RETURN WITH KEY TYPE = 'E' .&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;    CALL FUNCTION 'POPUP_WITH_TABLE_DISPLAY_OK'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        ENDPOS_COL   = '120'&lt;/P&gt;&lt;P&gt;        ENDPOS_ROW   = '10'&lt;/P&gt;&lt;P&gt;        STARTPOS_COL = '20'&lt;/P&gt;&lt;P&gt;        STARTPOS_ROW = '10'&lt;/P&gt;&lt;P&gt;        TITLETEXT    = ' Error!!! '&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        VALUETAB     = RETURN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DATA: ANS(1) TYPE C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'POPUP_WITH_2_BUTTONS_TO_CHOOSE'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        DIAGNOSETEXT1 = ' Sales Order is Not Changed.'&lt;/P&gt;&lt;P&gt;        DIAGNOSETEXT2 = ' Would you like to See the Original sales Order?'&lt;/P&gt;&lt;P&gt;        TEXTLINE1     = ' Alternatively you can goto Transaction VA03. '&lt;/P&gt;&lt;P&gt;        TEXT_OPTION1  = ' Yes'&lt;/P&gt;&lt;P&gt;        TEXT_OPTION2  = ' No'&lt;/P&gt;&lt;P&gt;        TITEL         = ' Sales Order Popup'&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        ANSWER        = ANS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF ANS = '1'.&lt;/P&gt;&lt;P&gt;      CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        RETURN = COMM_RET.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'POPUP_WITH_TABLE_DISPLAY_OK'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        ENDPOS_COL   = '120'&lt;/P&gt;&lt;P&gt;        ENDPOS_ROW   = '10'&lt;/P&gt;&lt;P&gt;        STARTPOS_COL = '20'&lt;/P&gt;&lt;P&gt;        STARTPOS_ROW = '10'&lt;/P&gt;&lt;P&gt;        TITLETEXT    = ' Sales Order Changed '&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        VALUETAB     = RETURN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'POPUP_WITH_2_BUTTONS_TO_CHOOSE'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        DIAGNOSETEXT1 = ' Sales Order is Changed.'&lt;/P&gt;&lt;P&gt;        DIAGNOSETEXT2 = ' Would you like to See the Changed sales Order?'&lt;/P&gt;&lt;P&gt;        TEXTLINE1     = ' Alternatively you can goto Transaction VA03. '&lt;/P&gt;&lt;P&gt;        TEXT_OPTION1  = ' Yes'&lt;/P&gt;&lt;P&gt;        TEXT_OPTION2  = ' No'&lt;/P&gt;&lt;P&gt;        TITEL         = ' Sales Order Popup'&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        ANSWER        = ANS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF ANS = '1'.&lt;/P&gt;&lt;P&gt;      CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.&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.                    " CHANGE_SALES_ORDER&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  PROCESS_SO&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 PROCESS_SO .&lt;/P&gt;&lt;P&gt;  DATA: GD_REPID LIKE SY-REPID, "Exists&lt;/P&gt;&lt;P&gt;  REF_GRID TYPE REF TO CL_GUI_ALV_GRID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF REF_GRID IS INITIAL.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        E_GRID = REF_GRID.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF NOT REF_GRID IS INITIAL.&lt;/P&gt;&lt;P&gt;    CALL METHOD REF_GRID-&amp;gt;CHECK_CHANGED_DATA .&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  G_RS_SELFIELD-REFRESH = 'X'.&lt;/P&gt;&lt;P&gt;  PERFORM CHANGE_SALES_ORDER.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " PROCESS_SO&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;=================&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Aug 2008 05:30:22 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid-update/m-p/4343045#M1034404</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-08-21T05:30:22Z</dc:date>
    </item>
    <item>
      <title>Re: ALV GRID UPDATE</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid-update/m-p/4343046#M1034405</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Lavanaya,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I can share the way i did it in my project:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Make two copies of original set of data. Display one internal table data in the ALV, and compare this set of data with the new ALV data when the user updates it. Then whatever has been changed get it into a work area/internal table and update the DB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To identify which row data has been changed, make use of mt_modified_cells property and check this in the event er_data_changed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ashish.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Aug 2008 05:39:00 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-grid-update/m-p/4343046#M1034405</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-08-21T05:39:00Z</dc:date>
    </item>
  </channel>
</rss>

