<?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: Custom Table updation thru table control in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/custom-table-updation-thru-table-control/m-p/1646967#M287709</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;PROGRAM  ZSD_REBATE_MASTER MESSAGE-ID FV&lt;/P&gt;&lt;P&gt;         NO STANDARD PAGE HEADING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: KONA,&lt;/P&gt;&lt;P&gt;        ZSD_BILLINFO,&lt;/P&gt;&lt;P&gt;        ZSD_RBT_ELG_INV,&lt;/P&gt;&lt;P&gt;        KNVV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: OK_CODE LIKE SY-UCOMM,&lt;/P&gt;&lt;P&gt;      L_CODE LIKE SY-UCOMM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF I_KNVV_DATA OCCURS 0,&lt;/P&gt;&lt;P&gt;       GJAHR LIKE ZSD_RBT_MAS_DATA-GJAHR,&lt;/P&gt;&lt;P&gt;       KNUMA LIKE ZSD_RBT_MAS_DATA-KNUMA,&lt;/P&gt;&lt;P&gt;       VKBUR LIKE ZSD_RBT_MAS_DATA-VKBUR,&lt;/P&gt;&lt;P&gt;       VKORG LIKE ZSD_RBT_MAS_DATA-VKORG,&lt;/P&gt;&lt;P&gt;       VTWEG LIKE ZSD_RBT_MAS_DATA-VTWEG,&lt;/P&gt;&lt;P&gt;       SPART LIKE ZSD_RBT_MAS_DATA-SPART,&lt;/P&gt;&lt;P&gt;       OTQTY LIKE ZSD_RBT_MAS_DATA-OTQTY,&lt;/P&gt;&lt;P&gt;       PCPDAYS LIKE ZSD_RBT_MAS_DATA-PCPDAYS,&lt;/P&gt;&lt;P&gt;       OTPC LIKE ZSD_RBT_MAS_DATA-OTPC,&lt;/P&gt;&lt;P&gt;       MATKL LIKE ZSD_RBT_MAS_DATA-MATKL,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      EBDFROM LIKE ZSD_RBT_MAS_DATA-EBDFROM,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      EBDTO LIKE ZSD_RBT_MAS_DATA-EBDTO,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       STATUS LIKE ZSD_RBT_MAS_DATA-STATUS,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     END OF I_KNVV_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : G_ANS(1), GR1, FLAG(1),LS(1).&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;      Module  STATUS_1500  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;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE STATUS_1500 OUTPUT.&lt;/P&gt;&lt;P&gt;  SET PF-STATUS '1500'.&lt;/P&gt;&lt;P&gt;  SET TITLEBAR 'HEADING_1500'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " STATUS_1500  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  USER_COMMAND_1500  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_1500 INPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  OK_CODE = SY-UCOMM.&lt;/P&gt;&lt;P&gt;  L_CODE = OK_CODE.&lt;/P&gt;&lt;P&gt;  IF L_CODE = 'EXIT'.&lt;/P&gt;&lt;P&gt;    LEAVE PROGRAM.&lt;/P&gt;&lt;P&gt;  ELSEIF L_CODE = 'OK'.&lt;/P&gt;&lt;P&gt;    PERFORM ERROR_MESSGE.&lt;/P&gt;&lt;P&gt;    IF FLAG &amp;lt;&amp;gt; '1'.&lt;/P&gt;&lt;P&gt;      SELECT SINGLE * FROM ZSD_RBT_ELG_INV WHERE KNUMA = KONA-KNUMA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        UPDATE ZSD_RBT_MAS_DATA SET STATUS = 'C'&lt;/P&gt;&lt;P&gt;                       WHERE KNUMA = KONA-KNUMA.&lt;/P&gt;&lt;P&gt;        COMMIT WORK.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      CALL SCREEN 1600.&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;ENDMODULE.                 " USER_COMMAND_1500  INPUT&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  MOD_CHECK_INPUT  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 MOD_CHECK_INPUT INPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM KONA WHERE KNUMA = KONA-KNUMA.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE E999 WITH 'Agreement No. ' KONA-KNUMA 'does not exists'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " MOD_CHECK_INPUT  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;      Module  EXIT  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 INPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  OK_CODE = SY-UCOMM.&lt;/P&gt;&lt;P&gt;  L_CODE = OK_CODE.&lt;/P&gt;&lt;P&gt;  CLEAR OK_CODE.&lt;/P&gt;&lt;P&gt;  IF L_CODE = 'EXIT'.&lt;/P&gt;&lt;P&gt;    LEAVE PROGRAM.&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;ENDMODULE.                 " EXIT  INPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***&amp;amp;SPWIZARD: DATA DECLARATION FOR TABLECONTROL 'GRID_MAST'&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: DEFINITION OF DDIC-TABLE&lt;/P&gt;&lt;P&gt;TABLES:   ZSD_RBT_MAS_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: TYPE FOR THE DATA OF TABLECONTROL 'GRID_MAST'&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF T_GRID_MAST,&lt;/P&gt;&lt;P&gt;         GJAHR LIKE ZSD_RBT_MAS_DATA-GJAHR,&lt;/P&gt;&lt;P&gt;         KNUMA LIKE ZSD_RBT_MAS_DATA-KNUMA,&lt;/P&gt;&lt;P&gt;         VKBUR LIKE ZSD_RBT_MAS_DATA-VKBUR,&lt;/P&gt;&lt;P&gt;         VKORG LIKE ZSD_RBT_MAS_DATA-VKORG,&lt;/P&gt;&lt;P&gt;         VTWEG LIKE ZSD_RBT_MAS_DATA-VTWEG,&lt;/P&gt;&lt;P&gt;         SPART LIKE ZSD_RBT_MAS_DATA-SPART,&lt;/P&gt;&lt;P&gt;         OTQTY LIKE ZSD_RBT_MAS_DATA-OTQTY,&lt;/P&gt;&lt;P&gt;         PCPDAYS LIKE ZSD_RBT_MAS_DATA-PCPDAYS,&lt;/P&gt;&lt;P&gt;         OTPC LIKE ZSD_RBT_MAS_DATA-OTPC,&lt;/P&gt;&lt;P&gt;         MATKL LIKE ZSD_RBT_MAS_DATA-MATKL,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        EBDFROM LIKE ZSD_RBT_MAS_DATA-EBDFROM,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        EBDTO LIKE ZSD_RBT_MAS_DATA-EBDTO,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         STATUS LIKE ZSD_RBT_MAS_DATA-STATUS,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       END OF T_GRID_MAST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: INTERNAL TABLE FOR TABLECONTROL 'GRID_MAST'&lt;/P&gt;&lt;P&gt;DATA:     G_GRID_MAST_ITAB   TYPE T_GRID_MAST OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;          G_GRID_MAST_WA     TYPE T_GRID_MAST. "work area&lt;/P&gt;&lt;P&gt;DATA:     G_GRID_MAST_COPIED.           "copy flag&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: DECLARATION OF TABLECONTROL 'GRID_MAST' ITSELF&lt;/P&gt;&lt;P&gt;CONTROLS: GRID_MAST TYPE TABLEVIEW USING SCREEN 1600.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: LINES OF TABLECONTROL 'GRID_MAST'&lt;/P&gt;&lt;P&gt;DATA:     G_GRID_MAST_LINES  LIKE SY-LOOPC.&lt;/P&gt;&lt;P&gt;DATA: L_LINE LIKE GRID_MAST-CURRENT_LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: OUTPUT MODULE FOR TC 'GRID_MAST'. DO NOT CHANGE THIS LINE!&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: COPY DDIC-TABLE TO ITAB&lt;/P&gt;&lt;P&gt;&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  GRID_INACT  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;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE GRID_MAST_INIT OUTPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: L_FLAG(1).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF G_GRID_MAST_COPIED IS INITIAL.&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: COPY DDIC-TABLE 'ZSD_RBT_MAS_DATA'&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: INTO INTERNAL TABLE 'g_GRID_MAST_itab'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM GET_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT I_KNVV_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      G_GRID_MAST_ITAB-GJAHR = I_KNVV_DATA-GJAHR.&lt;/P&gt;&lt;P&gt;      G_GRID_MAST_ITAB-KNUMA = I_KNVV_DATA-KNUMA.&lt;/P&gt;&lt;P&gt;      G_GRID_MAST_ITAB-VKBUR = I_KNVV_DATA-VKBUR.&lt;/P&gt;&lt;P&gt;      G_GRID_MAST_ITAB-VKORG = I_KNVV_DATA-VKORG.&lt;/P&gt;&lt;P&gt;      G_GRID_MAST_ITAB-VTWEG = I_KNVV_DATA-VTWEG.&lt;/P&gt;&lt;P&gt;      G_GRID_MAST_ITAB-SPART = I_KNVV_DATA-SPART.&lt;/P&gt;&lt;P&gt;      G_GRID_MAST_ITAB-OTQTY = I_KNVV_DATA-OTQTY.&lt;/P&gt;&lt;P&gt;      G_GRID_MAST_ITAB-PCPDAYS = I_KNVV_DATA-PCPDAYS.&lt;/P&gt;&lt;P&gt;      G_GRID_MAST_ITAB-OTPC = I_KNVV_DATA-OTPC.&lt;/P&gt;&lt;P&gt;      G_GRID_MAST_ITAB-MATKL = I_KNVV_DATA-MATKL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     G_GRID_MAST_ITAB-EBDFROM = I_KNVV_DATA-EBDFROM.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     G_GRID_MAST_ITAB-EBDTO = I_KNVV_DATA-EBDTO.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      G_GRID_MAST_ITAB-STATUS = I_KNVV_DATA-STATUS.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     G_GRID_MAST_ITAB-OTPC = I_KNVV_DATA-OTPC.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      APPEND G_GRID_MAST_ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    L_FLAG = 'X'.&lt;/P&gt;&lt;P&gt;    G_GRID_MAST_COPIED = 'X'.&lt;/P&gt;&lt;P&gt;    REFRESH CONTROL 'GRID_MAST' FROM SCREEN '1600'.&lt;/P&gt;&lt;P&gt;&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;  IF L_FLAG IS INITIAL.&lt;/P&gt;&lt;P&gt;    L_LINE = GRID_MAST-CURRENT_LINE.&lt;/P&gt;&lt;P&gt;    IF NOT G_GRID_MAST_WA IS INITIAL.&lt;/P&gt;&lt;P&gt;     READ TABLE G_GRID_MAST_ITAB INDEX GRID_MAST-CURRENT_LINE.&lt;/P&gt;&lt;P&gt;     IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MOVE-CORRESPONDING G_GRID_MAST_WA TO G_GRID_MAST_ITAB.&lt;/P&gt;&lt;P&gt;      APPEND G_GRID_MAST_ITAB.&lt;/P&gt;&lt;P&gt;      REFRESH CONTROL 'GRID_MAST' FROM SCREEN '1600'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR G_GRID_MAST_WA.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     ENDIF.&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;    CLEAR L_FLAG.&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;/P&gt;&lt;P&gt;ENDMODULE.                    "GRID_MAST_INIT OUTPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: OUTPUT MODULE FOR TC 'GRID_MAST'. DO NOT CHANGE THIS LINE!&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: MOVE ITAB TO DYNPRO&lt;/P&gt;&lt;P&gt;MODULE GRID_MAST_MOVE OUTPUT.&lt;/P&gt;&lt;P&gt;  IF NOT G_GRID_MAST_WA IS INITIAL.&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING G_GRID_MAST_WA TO ZSD_RBT_MAS_DATA.&lt;/P&gt;&lt;P&gt;    CLEAR G_GRID_MAST_WA.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  GRID_MAST-LINES = G_GRID_MAST_LINES + 100.&lt;/P&gt;&lt;P&gt;ENDMODULE.                    "GRID_MAST_MOVE OUTPUT&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**&amp;amp;SPWIZARD: OUTPUT MODULE FOR TC 'GRID_MAST'. DO NOT CHANGE THIS LINE!&lt;/P&gt;&lt;P&gt;**&amp;amp;SPWIZARD: GET LINES OF TABLECONTROL&lt;/P&gt;&lt;P&gt;MODULE GRID_MAST_GET_LINES OUTPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM ZSD_RBT_ELG_INV WHERE KNUMA = KONA-KNUMA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    UPDATE ZSD_RBT_MAS_DATA SET STATUS = 'C'&lt;/P&gt;&lt;P&gt;                   WHERE KNUMA = KONA-KNUMA.&lt;/P&gt;&lt;P&gt;    COMMIT WORK.&lt;/P&gt;&lt;P&gt;    IF ZSD_RBT_ELG_INV-ZFLAG = 'C'.&lt;/P&gt;&lt;P&gt;      LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;        IF SCREEN-GROUP1 = 'GR1'.&lt;/P&gt;&lt;P&gt;          SCREEN-INPUT = '0'.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        MODIFY SCREEN.&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;  G_GRID_MAST_LINES = SY-LOOPC.&lt;/P&gt;&lt;P&gt;ENDMODULE.                    "GRID_MAST_GET_LINES OUTPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: INPUT MODULE FOR TC 'GRID_MAST'. DO NOT CHANGE THIS LINE!&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: MODIFY TABLE&lt;/P&gt;&lt;P&gt;MODULE GRID_MAST_MODIFY INPUT.&lt;/P&gt;&lt;P&gt;  MOVE-CORRESPONDING ZSD_RBT_MAS_DATA TO G_GRID_MAST_WA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF L_FLAG IS INITIAL.&lt;/P&gt;&lt;P&gt;    L_LINE = GRID_MAST-CURRENT_LINE.&lt;/P&gt;&lt;P&gt;    IF NOT G_GRID_MAST_WA IS INITIAL.&lt;/P&gt;&lt;P&gt;    IF L_LINE = GRID_MAST-CURRENT_LINE.&lt;/P&gt;&lt;P&gt;     READ TABLE G_GRID_MAST_ITAB INDEX GRID_MAST-CURRENT_LINE.&lt;/P&gt;&lt;P&gt;     IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      MODIFY G_GRID_MAST_ITAB    FROM G_GRID_MAST_WA&lt;/P&gt;&lt;P&gt;    INDEX GRID_MAST-CURRENT_LINE.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      MOVE-CORRESPONDING G_GRID_MAST_WA TO G_GRID_MAST_ITAB.&lt;/P&gt;&lt;P&gt;      APPEND G_GRID_MAST_ITAB.&lt;/P&gt;&lt;P&gt;      REFRESH CONTROL 'GRID_MAST' FROM SCREEN '1600'.&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;      MOVE-CORRESPONDING G_GRID_MAST_WA TO G_GRID_MAST_ITAB.&lt;/P&gt;&lt;P&gt;      APPEND G_GRID_MAST_ITAB.&lt;/P&gt;&lt;P&gt;      REFRESH CONTROL 'GRID_MAST' FROM SCREEN '1600'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR G_GRID_MAST_WA.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     ENDIF.&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;    CLEAR L_FLAG.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; MODIFY G_GRID_MAST_ITAB&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   FROM G_GRID_MAST_WA&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   INDEX GRID_MAST-CURRENT_LINE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE.                    "GRID_MAST_MODIFY INPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: INPUT MODULE FOR TC 'GRID_MAST'. DO NOT CHANGE THIS LINE!&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: PROCESS USER COMMAND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE GRID_MAST_USER_COMMAND INPUT.&lt;/P&gt;&lt;P&gt;  OK_CODE = SY-UCOMM.&lt;/P&gt;&lt;P&gt;  PERFORM USER_OK_TC USING    'SY-UCOMM'&lt;/P&gt;&lt;P&gt;                              'G_GRID_MAST_ITAB'&lt;/P&gt;&lt;P&gt;                              'FLAG'&lt;/P&gt;&lt;P&gt;                     CHANGING OK_CODE.&lt;/P&gt;&lt;P&gt;  SY-UCOMM = OK_CODE.&lt;/P&gt;&lt;P&gt;ENDMODULE.                    "GRID_MAST_USER_COMMAND INPUT&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  STATUS_1600  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;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE STATUS_1600 OUTPUT.&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'STATUS_1600'.&lt;/P&gt;&lt;P&gt;  SET TITLEBAR 'HEADING_1600'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " STATUS_1600  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  USER_COMMAND_1600  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_1600 INPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE SY-UCOMM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'CAN'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR: G_GRID_MAST_COPIED, G_GRID_MAST_ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      LEAVE TO SCREEN '1500'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'BACK'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR: G_GRID_MAST_COPIED, G_GRID_MAST_ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      LEAVE TO SCREEN '1500'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'EXIT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      LEAVE TO SCREEN '1500'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'SAVE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DELETE FROM ZSD_RBT_MAS_DATA WHERE KNUMA EQ KONA-KNUMA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM SAVE_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   WHEN 'DELE'.&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;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " USER_COMMAND_1600  INPUT&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  FCODE_INSERT_ROW                                         *&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 fcode_insert_row&lt;/P&gt;&lt;P&gt;              USING    P_TC_NAME           TYPE DYNFNAM&lt;/P&gt;&lt;P&gt;                       P_TABLE_NAME             .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;SPWIZARD: BEGIN OF LOCAL DATA----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA L_LINES_NAME       LIKE FELD-NAME.&lt;/P&gt;&lt;P&gt;  DATA L_SELLINE          LIKE SY-STEPL.&lt;/P&gt;&lt;P&gt;  DATA L_LASTLINE         TYPE I.&lt;/P&gt;&lt;P&gt;  DATA L_LINE             TYPE I.&lt;/P&gt;&lt;P&gt;  DATA L_TABLE_NAME       LIKE FELD-NAME.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;TC&amp;gt;                 TYPE CXTAB_CONTROL.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;TABLE&amp;gt;              TYPE STANDARD TABLE.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;LINES&amp;gt;              TYPE I.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;SPWIZARD: END OF LOCAL DATA----&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;  ASSIGN (P_TC_NAME) TO &amp;lt;TC&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: get the table, which belongs to the tc                     *&lt;/P&gt;&lt;P&gt;  CONCATENATE P_TABLE_NAME '[]' INTO L_TABLE_NAME. "table body&lt;/P&gt;&lt;P&gt;  ASSIGN (L_TABLE_NAME) TO &amp;lt;TABLE&amp;gt;.                "not headerline&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: get looplines of TableControl                              *&lt;/P&gt;&lt;P&gt;  CONCATENATE 'G_' P_TC_NAME '_LINES' INTO L_LINES_NAME.&lt;/P&gt;&lt;P&gt;  ASSIGN (L_LINES_NAME) TO &amp;lt;LINES&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: get current line                                           *&lt;/P&gt;&lt;P&gt;  GET CURSOR LINE L_SELLINE.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.                   " append line to table&lt;/P&gt;&lt;P&gt;    L_SELLINE = &amp;lt;TC&amp;gt;-LINES + 1.&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: set top line                                               *&lt;/P&gt;&lt;P&gt;    IF L_SELLINE &amp;gt; &amp;lt;LINES&amp;gt;.&lt;/P&gt;&lt;P&gt;      &amp;lt;TC&amp;gt;-TOP_LINE = L_SELLINE - &amp;lt;LINES&amp;gt; + 1 .&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      &amp;lt;TC&amp;gt;-TOP_LINE = 1.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.                               " insert line into table&lt;/P&gt;&lt;P&gt;    L_SELLINE = &amp;lt;TC&amp;gt;-TOP_LINE + L_SELLINE - 1.&lt;/P&gt;&lt;P&gt;    L_LASTLINE = &amp;lt;TC&amp;gt;-TOP_LINE + &amp;lt;LINES&amp;gt; - 1.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: set new cursor line                                        *&lt;/P&gt;&lt;P&gt;  L_LINE = L_SELLINE - &amp;lt;TC&amp;gt;-TOP_LINE + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: insert initial line                                        *&lt;/P&gt;&lt;P&gt;  INSERT INITIAL LINE INTO &amp;lt;TABLE&amp;gt; INDEX L_SELLINE.&lt;/P&gt;&lt;P&gt;  &amp;lt;TC&amp;gt;-LINES = &amp;lt;TC&amp;gt;-LINES + 1.&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: set cursor                                                 *&lt;/P&gt;&lt;P&gt;  SET CURSOR LINE L_LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                              " FCODE_INSERT_ROW&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  FCODE_DELETE_ROW                                         *&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 fcode_delete_row&lt;/P&gt;&lt;P&gt;              USING    P_TC_NAME           TYPE DYNFNAM&lt;/P&gt;&lt;P&gt;                       P_TABLE_NAME&lt;/P&gt;&lt;P&gt;                       P_MARK_NAME   .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;SPWIZARD: BEGIN OF LOCAL DATA----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA L_TABLE_NAME       LIKE FELD-NAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;TC&amp;gt;         TYPE cxtab_control.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;TABLE&amp;gt;      TYPE STANDARD TABLE.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;WA&amp;gt;.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;MARK_FIELD&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;SPWIZARD: END OF LOCAL DATA----&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;  ASSIGN (P_TC_NAME) TO &amp;lt;TC&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: get the table, which belongs to the tc                     *&lt;/P&gt;&lt;P&gt;  CONCATENATE P_TABLE_NAME '[]' INTO L_TABLE_NAME. "table body&lt;/P&gt;&lt;P&gt;  ASSIGN (L_TABLE_NAME) TO &amp;lt;TABLE&amp;gt;.                "not headerline&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: delete marked lines                                        *&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE &amp;lt;TABLE&amp;gt; LINES &amp;lt;TC&amp;gt;-LINES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT &amp;lt;TABLE&amp;gt; ASSIGNING &amp;lt;WA&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: access to the component 'FLAG' of the table header         *&lt;/P&gt;&lt;P&gt;    ASSIGN COMPONENT P_MARK_NAME OF STRUCTURE &amp;lt;WA&amp;gt; TO &amp;lt;MARK_FIELD&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF &amp;lt;MARK_FIELD&amp;gt; = 'X'.&lt;/P&gt;&lt;P&gt;      DELETE &amp;lt;TABLE&amp;gt; INDEX SYST-TABIX.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        &amp;lt;TC&amp;gt;-LINES = &amp;lt;TC&amp;gt;-LINES - 1.&lt;/P&gt;&lt;P&gt;      ENDIF.&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;ENDFORM.                              " FCODE_DELETE_ROW&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  COMPUTE_SCROLLING_IN_TC&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_TC_NAME  name of tablecontrol&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_OK       ok code&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 COMPUTE_SCROLLING_IN_TC USING    P_TC_NAME&lt;/P&gt;&lt;P&gt;                                      P_OK.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;SPWIZARD: BEGIN OF LOCAL DATA----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA L_TC_NEW_TOP_LINE     TYPE I.&lt;/P&gt;&lt;P&gt;  DATA L_TC_NAME             LIKE FELD-NAME.&lt;/P&gt;&lt;P&gt;  DATA L_TC_LINES_NAME       LIKE FELD-NAME.&lt;/P&gt;&lt;P&gt;  DATA L_TC_FIELD_NAME       LIKE FELD-NAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;TC&amp;gt;         TYPE cxtab_control.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;LINES&amp;gt;      TYPE I.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;SPWIZARD: END OF LOCAL DATA----&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;  ASSIGN (P_TC_NAME) TO &amp;lt;TC&amp;gt;.&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: get looplines of TableControl                              *&lt;/P&gt;&lt;P&gt;  CONCATENATE 'G_' P_TC_NAME '_LINES' INTO L_TC_LINES_NAME.&lt;/P&gt;&lt;P&gt;  ASSIGN (L_TC_LINES_NAME) TO &amp;lt;LINES&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: is no line filled?                                         *&lt;/P&gt;&lt;P&gt;  IF &amp;lt;TC&amp;gt;-LINES = 0.&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: yes, ...                                                   *&lt;/P&gt;&lt;P&gt;    L_TC_NEW_TOP_LINE = 1.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: no, ...                                                    *&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'SCROLLING_IN_TABLE'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              ENTRY_ACT             = &amp;lt;TC&amp;gt;-TOP_LINE&lt;/P&gt;&lt;P&gt;              ENTRY_FROM            = 1&lt;/P&gt;&lt;P&gt;              ENTRY_TO              = &amp;lt;TC&amp;gt;-LINES&lt;/P&gt;&lt;P&gt;              LAST_PAGE_FULL        = 'X'&lt;/P&gt;&lt;P&gt;              LOOPS                 = &amp;lt;LINES&amp;gt;&lt;/P&gt;&lt;P&gt;              OK_CODE               = P_OK&lt;/P&gt;&lt;P&gt;              OVERLAPPING           = 'X'&lt;/P&gt;&lt;P&gt;         IMPORTING&lt;/P&gt;&lt;P&gt;              ENTRY_NEW             = L_TC_NEW_TOP_LINE&lt;/P&gt;&lt;P&gt;         EXCEPTIONS&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             NO_ENTRY_OR_PAGE_ACT  = 01&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             NO_ENTRY_TO           = 02&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             NO_OK_CODE_OR_PAGE_GO = 03&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              OTHERS                = 0.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: get actual tc and column                                   *&lt;/P&gt;&lt;P&gt;  GET CURSOR FIELD L_TC_FIELD_NAME&lt;/P&gt;&lt;P&gt;             AREA  L_TC_NAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SYST-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    IF L_TC_NAME = P_TC_NAME.&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: et actual column                                           *&lt;/P&gt;&lt;P&gt;      SET CURSOR FIELD L_TC_FIELD_NAME LINE 1.&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;*&amp;amp;SPWIZARD: set the new top line                                       *&lt;/P&gt;&lt;P&gt;  &amp;lt;TC&amp;gt;-TOP_LINE = L_TC_NEW_TOP_LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                              " COMPUTE_SCROLLING_IN_TC&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  FCODE_TC_MARK_LINES&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;      marks all TableControl lines&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_TC_NAME  name of tablecontrol&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 FCODE_TC_MARK_LINES USING P_TC_NAME&lt;/P&gt;&lt;P&gt;                               P_TABLE_NAME&lt;/P&gt;&lt;P&gt;                               P_MARK_NAME.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;SPWIZARD: EGIN OF LOCAL DATA----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA L_TABLE_NAME       LIKE FELD-NAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;TC&amp;gt;         TYPE cxtab_control.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;TABLE&amp;gt;      TYPE STANDARD TABLE.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;WA&amp;gt;.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;MARK_FIELD&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;SPWIZARD: END OF LOCAL DATA----&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;  ASSIGN (P_TC_NAME) TO &amp;lt;TC&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: get the table, which belongs to the tc                     *&lt;/P&gt;&lt;P&gt;  CONCATENATE P_TABLE_NAME '[]' INTO L_TABLE_NAME. "table body&lt;/P&gt;&lt;P&gt;  ASSIGN (L_TABLE_NAME) TO &amp;lt;TABLE&amp;gt;.                "not headerline&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: mark all filled lines                                      *&lt;/P&gt;&lt;P&gt;  LOOP AT &amp;lt;TABLE&amp;gt; ASSIGNING &amp;lt;WA&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: access to the component 'FLAG' of the table header         *&lt;/P&gt;&lt;P&gt;    ASSIGN COMPONENT P_MARK_NAME OF STRUCTURE &amp;lt;WA&amp;gt; TO &amp;lt;MARK_FIELD&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    &amp;lt;MARK_FIELD&amp;gt; = 'X'.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                                          "fcode_tc_mark_lines&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  FCODE_TC_DEMARK_LINES&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;      demarks all TableControl lines&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_TC_NAME  name of tablecontrol&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 FCODE_TC_DEMARK_LINES USING P_TC_NAME&lt;/P&gt;&lt;P&gt;                                 P_TABLE_NAME&lt;/P&gt;&lt;P&gt;                                 P_MARK_NAME .&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;SPWIZARD: BEGIN OF LOCAL DATA----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA L_TABLE_NAME       LIKE FELD-NAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;TC&amp;gt;         TYPE cxtab_control.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;TABLE&amp;gt;      TYPE STANDARD TABLE.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;WA&amp;gt;.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;MARK_FIELD&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;SPWIZARD: END OF LOCAL DATA----&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;  ASSIGN (P_TC_NAME) TO &amp;lt;TC&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: get the table, which belongs to the tc                     *&lt;/P&gt;&lt;P&gt;  CONCATENATE P_TABLE_NAME '[]' INTO L_TABLE_NAME. "table body&lt;/P&gt;&lt;P&gt;  ASSIGN (L_TABLE_NAME) TO &amp;lt;TABLE&amp;gt;.                "not headerline&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: demark all filled lines                                    *&lt;/P&gt;&lt;P&gt;  LOOP AT &amp;lt;TABLE&amp;gt; ASSIGNING &amp;lt;WA&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: access to the component 'FLAG' of the table header         *&lt;/P&gt;&lt;P&gt;    ASSIGN COMPONENT P_MARK_NAME OF STRUCTURE &amp;lt;WA&amp;gt; TO &amp;lt;MARK_FIELD&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    &amp;lt;MARK_FIELD&amp;gt; = SPACE.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                                          "fcode_tc_mark_lines&lt;/P&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;FORM GET_DATA...&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;/P&gt;&lt;P&gt;FORM GET_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR : I_KNVV_DATA, ZSD_BILLINFO, G_GRID_MAST_COPIED,&lt;/P&gt;&lt;P&gt;  G_GRID_MAST_ITAB, ZSD_RBT_MAS_DATA, KNVV, ZSD_RBT_ELG_INV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH: I_KNVV_DATA, G_GRID_MAST_ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM KONA WHERE KNUMA = KONA-KNUMA.&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 * FROM ZSD_RBT_MAS_DATA&lt;/P&gt;&lt;P&gt;           INTO&lt;/P&gt;&lt;P&gt;           CORRESPONDING FIELDS OF&lt;/P&gt;&lt;P&gt;           TABLE I_KNVV_DATA&lt;/P&gt;&lt;P&gt;           WHERE KNUMA = KONA-KNUMA.&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;&lt;/P&gt;&lt;P&gt;      SELECT * INTO CORRESPONDING FIELDS OF TABLE I_KNVV_DATA&lt;/P&gt;&lt;P&gt;      FROM KNVV&lt;/P&gt;&lt;P&gt;      WHERE KUNNR = KONA-BONEM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT SINGLE * FROM ZSD_BILLINFO WHERE KUNAG = KONA-BONEM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      LOOP AT I_KNVV_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        SELECT SINGLE * FROM ZSD_RBT_ELG_INV&lt;/P&gt;&lt;P&gt;            WHERE KNUMA = KONA-KNUMA&lt;/P&gt;&lt;P&gt;              AND VKORG = I_KNVV_DATA-VKORG&lt;/P&gt;&lt;P&gt;              AND VTWEG = I_KNVV_DATA-VTWEG&lt;/P&gt;&lt;P&gt;              AND SPART = I_KNVV_DATA-SPART.&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;          I_KNVV_DATA-STATUS = ZSD_RBT_ELG_INV-ZFLAG.&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;        I_KNVV_DATA-GJAHR = ZSD_BILLINFO-GJAHR.&lt;/P&gt;&lt;P&gt;        I_KNVV_DATA-KNUMA = KONA-KNUMA.&lt;/P&gt;&lt;P&gt;        MODIFY I_KNVV_DATA INDEX SY-TABIX.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&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.                    "GET_DATA&lt;/P&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;FORM SAVE_DATA...&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;/P&gt;&lt;P&gt;FORM SAVE_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT G_GRID_MAST_ITAB IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'POPUP_TO_CONFIRM'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;        TITLEBAR                    = 'Confirmation'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DIAGNOSE_OBJECT             = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   TEXT_QUESTION               = 'Do you want to save the document?'&lt;/P&gt;&lt;P&gt;        TEXT_BUTTON_1               = 'YES'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ICON_BUTTON_1               = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        TEXT_BUTTON_2               = 'NO'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ICON_BUTTON_2               = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         DEFAULT_BUTTON              = '1'&lt;/P&gt;&lt;P&gt;         DISPLAY_CANCEL_BUTTON       = ''&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  USERDEFINED_F1_HELP         = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  START_COLUMN                = 25&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  START_ROW                   = 6&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  POPUP_TYPE                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IV_QUICKINFO_BUTTON_1       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IV_QUICKINFO_BUTTON_2       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        ANSWER                      = G_ANS&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PARAMETER                   =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        TEXT_NOT_FOUND              = 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;      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;    IF G_ANS = '1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT SINGLE * FROM ZSD_RBT_MAS_DATA&lt;/P&gt;&lt;P&gt;          WHERE KNUMA = KONA-KNUMA.&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;&lt;/P&gt;&lt;P&gt;        LOOP AT G_GRID_MAST_ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         IF G_GRID_MAST_ITAB-OTQTY &amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              I_KNVV_DATA-PCPDAYS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              I_KNVV_DATA-OTPC&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              I_KNVV_DATA-EBDFROM&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              I_KNVV_DATA-EBDTO&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-GJAHR = G_GRID_MAST_ITAB-GJAHR.&lt;/P&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-KNUMA = G_GRID_MAST_ITAB-KNUMA.&lt;/P&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-VKBUR = G_GRID_MAST_ITAB-VKBUR.&lt;/P&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-VKORG = G_GRID_MAST_ITAB-VKORG.&lt;/P&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-VTWEG = G_GRID_MAST_ITAB-VTWEG.&lt;/P&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-SPART = G_GRID_MAST_ITAB-SPART.&lt;/P&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-MATKL = G_GRID_MAST_ITAB-MATKL.&lt;/P&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-OTQTY = G_GRID_MAST_ITAB-OTQTY.&lt;/P&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-PCPDAYS = G_GRID_MAST_ITAB-PCPDAYS.&lt;/P&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-OTPC = G_GRID_MAST_ITAB-OTPC.&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;         ZSD_RBT_MAS_DATA-EBDFROM = G_GRID_MAST_ITAB-EBDFROM.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ZSD_RBT_MAS_DATA-EBDTO = G_GRID_MAST_ITAB-EBDTO.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          MODIFY ZSD_RBT_MAS_DATA.&lt;/P&gt;&lt;P&gt;          COMMIT WORK.&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;        ENDLOOP.&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;        LOOP AT G_GRID_MAST_ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         IF G_GRID_MAST_ITAB-OTQTY &amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              I_KNVV_DATA-PCPDAYS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              I_KNVV_DATA-OTPC&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              I_KNVV_DATA-EBDFROM&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              I_KNVV_DATA-EBDTO&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-GJAHR = G_GRID_MAST_ITAB-GJAHR.&lt;/P&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-KNUMA = G_GRID_MAST_ITAB-KNUMA.&lt;/P&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-VKBUR = G_GRID_MAST_ITAB-VKBUR.&lt;/P&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-VKORG = G_GRID_MAST_ITAB-VKORG.&lt;/P&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-VTWEG = G_GRID_MAST_ITAB-VTWEG.&lt;/P&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-SPART = G_GRID_MAST_ITAB-SPART.&lt;/P&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-OTQTY = G_GRID_MAST_ITAB-OTQTY.&lt;/P&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-PCPDAYS = G_GRID_MAST_ITAB-PCPDAYS.&lt;/P&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-OTPC = G_GRID_MAST_ITAB-OTPC.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ZSD_RBT_MAS_DATA-EBDFROM = G_GRID_MAST_ITAB-EBDFROM.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ZSD_RBT_MAS_DATA-EBDTO = G_GRID_MAST_ITAB-EBDTO.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-STATUS = G_GRID_MAST_ITAB-STATUS.&lt;/P&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-MATKL = G_GRID_MAST_ITAB-MATKL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          INSERT ZSD_RBT_MAS_DATA.&lt;/P&gt;&lt;P&gt;          COMMIT WORK.&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;        ENDLOOP.&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;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "SAVE_DATA&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " GRID_CHECK  OUTPUT&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 27 Nov 2006 05:19:23 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-11-27T05:19:23Z</dc:date>
    <item>
      <title>Custom Table updation thru table control</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/custom-table-updation-thru-table-control/m-p/1646965#M287707</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My requirement is to update the custom table by creating a custom screen with table control,say my z table has 2 fields name1 and bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if i enter the value in table control then i click the save icon these fields should get updated in the z table .can any one send me the piece of code for this,since i have not worked on table control i need it in detail.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Useful answers will be rewarded....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in Advance.....&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Nov 2006 05:06:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/custom-table-updation-thru-table-control/m-p/1646965#M287707</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-11-27T05:06:30Z</dc:date>
    </item>
    <item>
      <title>Re: Custom Table updation thru table control</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/custom-table-updation-thru-table-control/m-p/1646966#M287708</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;kindly chk this.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;PROCESS BEFORE OUTPUT.
MODULE status_9010.

LOOP WITH CONTROL tab_control.
MODULE move_data_to_table.
ENDLOOP.


PROCESS AFTER INPUT.

LOOP WITH CONTROL tab_control.
MODULE move_data_from_table.
ENDLOOP.


****************************


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Module move_data_to_table OUTPUT
*&amp;amp;---------------------------------------------------------------------*
* This is to move the data from the internal table to the table control
*----------------------------------------------------------------------*
MODULE move_data_to_table OUTPUT.

* This is to move the data from the internal table to the table control
*zmpets_mode-modecode,zmpets_range-*rangeid,zmpets_servfacto-factor are column name of table control

READ TABLE int_factor INDEX tab_control-current_line.
IF sy-subrc = 0.
zmpets_mode-modecode = int_factor-modecode.
zmpets_range-rangeid = int_factor-rangeid.
zmpets_servfacto-factor = int_factor-factor.
ENDIF.

ENDMODULE. " move_data_to_table OUTPUT



**********************



*&amp;amp;---------------------------------------------------------------------*
*&amp;amp; Module move_data_from_table INPUT
*&amp;amp;---------------------------------------------------------------------*
* Date is moved from the table control to the Internal Table
*----------------------------------------------------------------------*
MODULE move_data_from_table INPUT.

* To move the data from the table control to internal table 'INT_FACTOR'.

int_factor-modecode = zmpets_mode-modecode.
int_factor-rangeid = zmpets_range-rangeid.
int_factor-factor = zmpets_servfacto-factor.
*here if the data is there, it will modify
MODIFY int_factor INDEX tab_control-current_line.
IF sy-subrc NE 0. "data not exixting in table control . ie new data, then append it
APPEND int_factor.
CLEAR int_factor.
ENDIF.

ENDMODULE. " move_data_from_table INPUT&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;&amp;lt;i&amp;gt;from internal table u can update the ztable&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;for reference chk this thread.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://forums.sdn.sap.com/click.jspa?searchID=181747&amp;amp;messageID=2743746" target="test_blank"&gt;https://forums.sdn.sap.com/click.jspa?searchID=181747&amp;amp;messageID=2743746&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;anver&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Nov 2006 05:18:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/custom-table-updation-thru-table-control/m-p/1646966#M287708</guid>
      <dc:creator>anversha_s</dc:creator>
      <dc:date>2006-11-27T05:18:10Z</dc:date>
    </item>
    <item>
      <title>Re: Custom Table updation thru table control</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/custom-table-updation-thru-table-control/m-p/1646967#M287709</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;PROGRAM  ZSD_REBATE_MASTER MESSAGE-ID FV&lt;/P&gt;&lt;P&gt;         NO STANDARD PAGE HEADING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: KONA,&lt;/P&gt;&lt;P&gt;        ZSD_BILLINFO,&lt;/P&gt;&lt;P&gt;        ZSD_RBT_ELG_INV,&lt;/P&gt;&lt;P&gt;        KNVV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: OK_CODE LIKE SY-UCOMM,&lt;/P&gt;&lt;P&gt;      L_CODE LIKE SY-UCOMM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF I_KNVV_DATA OCCURS 0,&lt;/P&gt;&lt;P&gt;       GJAHR LIKE ZSD_RBT_MAS_DATA-GJAHR,&lt;/P&gt;&lt;P&gt;       KNUMA LIKE ZSD_RBT_MAS_DATA-KNUMA,&lt;/P&gt;&lt;P&gt;       VKBUR LIKE ZSD_RBT_MAS_DATA-VKBUR,&lt;/P&gt;&lt;P&gt;       VKORG LIKE ZSD_RBT_MAS_DATA-VKORG,&lt;/P&gt;&lt;P&gt;       VTWEG LIKE ZSD_RBT_MAS_DATA-VTWEG,&lt;/P&gt;&lt;P&gt;       SPART LIKE ZSD_RBT_MAS_DATA-SPART,&lt;/P&gt;&lt;P&gt;       OTQTY LIKE ZSD_RBT_MAS_DATA-OTQTY,&lt;/P&gt;&lt;P&gt;       PCPDAYS LIKE ZSD_RBT_MAS_DATA-PCPDAYS,&lt;/P&gt;&lt;P&gt;       OTPC LIKE ZSD_RBT_MAS_DATA-OTPC,&lt;/P&gt;&lt;P&gt;       MATKL LIKE ZSD_RBT_MAS_DATA-MATKL,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      EBDFROM LIKE ZSD_RBT_MAS_DATA-EBDFROM,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      EBDTO LIKE ZSD_RBT_MAS_DATA-EBDTO,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;       STATUS LIKE ZSD_RBT_MAS_DATA-STATUS,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     END OF I_KNVV_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : G_ANS(1), GR1, FLAG(1),LS(1).&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;      Module  STATUS_1500  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;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE STATUS_1500 OUTPUT.&lt;/P&gt;&lt;P&gt;  SET PF-STATUS '1500'.&lt;/P&gt;&lt;P&gt;  SET TITLEBAR 'HEADING_1500'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " STATUS_1500  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  USER_COMMAND_1500  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_1500 INPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  OK_CODE = SY-UCOMM.&lt;/P&gt;&lt;P&gt;  L_CODE = OK_CODE.&lt;/P&gt;&lt;P&gt;  IF L_CODE = 'EXIT'.&lt;/P&gt;&lt;P&gt;    LEAVE PROGRAM.&lt;/P&gt;&lt;P&gt;  ELSEIF L_CODE = 'OK'.&lt;/P&gt;&lt;P&gt;    PERFORM ERROR_MESSGE.&lt;/P&gt;&lt;P&gt;    IF FLAG &amp;lt;&amp;gt; '1'.&lt;/P&gt;&lt;P&gt;      SELECT SINGLE * FROM ZSD_RBT_ELG_INV WHERE KNUMA = KONA-KNUMA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        UPDATE ZSD_RBT_MAS_DATA SET STATUS = 'C'&lt;/P&gt;&lt;P&gt;                       WHERE KNUMA = KONA-KNUMA.&lt;/P&gt;&lt;P&gt;        COMMIT WORK.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      CALL SCREEN 1600.&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;ENDMODULE.                 " USER_COMMAND_1500  INPUT&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  MOD_CHECK_INPUT  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 MOD_CHECK_INPUT INPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM KONA WHERE KNUMA = KONA-KNUMA.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE E999 WITH 'Agreement No. ' KONA-KNUMA 'does not exists'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " MOD_CHECK_INPUT  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;      Module  EXIT  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 INPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  OK_CODE = SY-UCOMM.&lt;/P&gt;&lt;P&gt;  L_CODE = OK_CODE.&lt;/P&gt;&lt;P&gt;  CLEAR OK_CODE.&lt;/P&gt;&lt;P&gt;  IF L_CODE = 'EXIT'.&lt;/P&gt;&lt;P&gt;    LEAVE PROGRAM.&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;ENDMODULE.                 " EXIT  INPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***&amp;amp;SPWIZARD: DATA DECLARATION FOR TABLECONTROL 'GRID_MAST'&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: DEFINITION OF DDIC-TABLE&lt;/P&gt;&lt;P&gt;TABLES:   ZSD_RBT_MAS_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: TYPE FOR THE DATA OF TABLECONTROL 'GRID_MAST'&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF T_GRID_MAST,&lt;/P&gt;&lt;P&gt;         GJAHR LIKE ZSD_RBT_MAS_DATA-GJAHR,&lt;/P&gt;&lt;P&gt;         KNUMA LIKE ZSD_RBT_MAS_DATA-KNUMA,&lt;/P&gt;&lt;P&gt;         VKBUR LIKE ZSD_RBT_MAS_DATA-VKBUR,&lt;/P&gt;&lt;P&gt;         VKORG LIKE ZSD_RBT_MAS_DATA-VKORG,&lt;/P&gt;&lt;P&gt;         VTWEG LIKE ZSD_RBT_MAS_DATA-VTWEG,&lt;/P&gt;&lt;P&gt;         SPART LIKE ZSD_RBT_MAS_DATA-SPART,&lt;/P&gt;&lt;P&gt;         OTQTY LIKE ZSD_RBT_MAS_DATA-OTQTY,&lt;/P&gt;&lt;P&gt;         PCPDAYS LIKE ZSD_RBT_MAS_DATA-PCPDAYS,&lt;/P&gt;&lt;P&gt;         OTPC LIKE ZSD_RBT_MAS_DATA-OTPC,&lt;/P&gt;&lt;P&gt;         MATKL LIKE ZSD_RBT_MAS_DATA-MATKL,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        EBDFROM LIKE ZSD_RBT_MAS_DATA-EBDFROM,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        EBDTO LIKE ZSD_RBT_MAS_DATA-EBDTO,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         STATUS LIKE ZSD_RBT_MAS_DATA-STATUS,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       END OF T_GRID_MAST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: INTERNAL TABLE FOR TABLECONTROL 'GRID_MAST'&lt;/P&gt;&lt;P&gt;DATA:     G_GRID_MAST_ITAB   TYPE T_GRID_MAST OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;          G_GRID_MAST_WA     TYPE T_GRID_MAST. "work area&lt;/P&gt;&lt;P&gt;DATA:     G_GRID_MAST_COPIED.           "copy flag&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: DECLARATION OF TABLECONTROL 'GRID_MAST' ITSELF&lt;/P&gt;&lt;P&gt;CONTROLS: GRID_MAST TYPE TABLEVIEW USING SCREEN 1600.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: LINES OF TABLECONTROL 'GRID_MAST'&lt;/P&gt;&lt;P&gt;DATA:     G_GRID_MAST_LINES  LIKE SY-LOOPC.&lt;/P&gt;&lt;P&gt;DATA: L_LINE LIKE GRID_MAST-CURRENT_LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: OUTPUT MODULE FOR TC 'GRID_MAST'. DO NOT CHANGE THIS LINE!&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: COPY DDIC-TABLE TO ITAB&lt;/P&gt;&lt;P&gt;&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  GRID_INACT  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;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;**&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE GRID_MAST_INIT OUTPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: L_FLAG(1).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF G_GRID_MAST_COPIED IS INITIAL.&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: COPY DDIC-TABLE 'ZSD_RBT_MAS_DATA'&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: INTO INTERNAL TABLE 'g_GRID_MAST_itab'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM GET_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT I_KNVV_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      G_GRID_MAST_ITAB-GJAHR = I_KNVV_DATA-GJAHR.&lt;/P&gt;&lt;P&gt;      G_GRID_MAST_ITAB-KNUMA = I_KNVV_DATA-KNUMA.&lt;/P&gt;&lt;P&gt;      G_GRID_MAST_ITAB-VKBUR = I_KNVV_DATA-VKBUR.&lt;/P&gt;&lt;P&gt;      G_GRID_MAST_ITAB-VKORG = I_KNVV_DATA-VKORG.&lt;/P&gt;&lt;P&gt;      G_GRID_MAST_ITAB-VTWEG = I_KNVV_DATA-VTWEG.&lt;/P&gt;&lt;P&gt;      G_GRID_MAST_ITAB-SPART = I_KNVV_DATA-SPART.&lt;/P&gt;&lt;P&gt;      G_GRID_MAST_ITAB-OTQTY = I_KNVV_DATA-OTQTY.&lt;/P&gt;&lt;P&gt;      G_GRID_MAST_ITAB-PCPDAYS = I_KNVV_DATA-PCPDAYS.&lt;/P&gt;&lt;P&gt;      G_GRID_MAST_ITAB-OTPC = I_KNVV_DATA-OTPC.&lt;/P&gt;&lt;P&gt;      G_GRID_MAST_ITAB-MATKL = I_KNVV_DATA-MATKL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     G_GRID_MAST_ITAB-EBDFROM = I_KNVV_DATA-EBDFROM.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     G_GRID_MAST_ITAB-EBDTO = I_KNVV_DATA-EBDTO.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      G_GRID_MAST_ITAB-STATUS = I_KNVV_DATA-STATUS.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     G_GRID_MAST_ITAB-OTPC = I_KNVV_DATA-OTPC.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      APPEND G_GRID_MAST_ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    L_FLAG = 'X'.&lt;/P&gt;&lt;P&gt;    G_GRID_MAST_COPIED = 'X'.&lt;/P&gt;&lt;P&gt;    REFRESH CONTROL 'GRID_MAST' FROM SCREEN '1600'.&lt;/P&gt;&lt;P&gt;&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;  IF L_FLAG IS INITIAL.&lt;/P&gt;&lt;P&gt;    L_LINE = GRID_MAST-CURRENT_LINE.&lt;/P&gt;&lt;P&gt;    IF NOT G_GRID_MAST_WA IS INITIAL.&lt;/P&gt;&lt;P&gt;     READ TABLE G_GRID_MAST_ITAB INDEX GRID_MAST-CURRENT_LINE.&lt;/P&gt;&lt;P&gt;     IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MOVE-CORRESPONDING G_GRID_MAST_WA TO G_GRID_MAST_ITAB.&lt;/P&gt;&lt;P&gt;      APPEND G_GRID_MAST_ITAB.&lt;/P&gt;&lt;P&gt;      REFRESH CONTROL 'GRID_MAST' FROM SCREEN '1600'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR G_GRID_MAST_WA.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     ENDIF.&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;    CLEAR L_FLAG.&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;/P&gt;&lt;P&gt;ENDMODULE.                    "GRID_MAST_INIT OUTPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: OUTPUT MODULE FOR TC 'GRID_MAST'. DO NOT CHANGE THIS LINE!&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: MOVE ITAB TO DYNPRO&lt;/P&gt;&lt;P&gt;MODULE GRID_MAST_MOVE OUTPUT.&lt;/P&gt;&lt;P&gt;  IF NOT G_GRID_MAST_WA IS INITIAL.&lt;/P&gt;&lt;P&gt;    MOVE-CORRESPONDING G_GRID_MAST_WA TO ZSD_RBT_MAS_DATA.&lt;/P&gt;&lt;P&gt;    CLEAR G_GRID_MAST_WA.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  GRID_MAST-LINES = G_GRID_MAST_LINES + 100.&lt;/P&gt;&lt;P&gt;ENDMODULE.                    "GRID_MAST_MOVE OUTPUT&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**&amp;amp;SPWIZARD: OUTPUT MODULE FOR TC 'GRID_MAST'. DO NOT CHANGE THIS LINE!&lt;/P&gt;&lt;P&gt;**&amp;amp;SPWIZARD: GET LINES OF TABLECONTROL&lt;/P&gt;&lt;P&gt;MODULE GRID_MAST_GET_LINES OUTPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM ZSD_RBT_ELG_INV WHERE KNUMA = KONA-KNUMA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    UPDATE ZSD_RBT_MAS_DATA SET STATUS = 'C'&lt;/P&gt;&lt;P&gt;                   WHERE KNUMA = KONA-KNUMA.&lt;/P&gt;&lt;P&gt;    COMMIT WORK.&lt;/P&gt;&lt;P&gt;    IF ZSD_RBT_ELG_INV-ZFLAG = 'C'.&lt;/P&gt;&lt;P&gt;      LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;        IF SCREEN-GROUP1 = 'GR1'.&lt;/P&gt;&lt;P&gt;          SCREEN-INPUT = '0'.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        MODIFY SCREEN.&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;  G_GRID_MAST_LINES = SY-LOOPC.&lt;/P&gt;&lt;P&gt;ENDMODULE.                    "GRID_MAST_GET_LINES OUTPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: INPUT MODULE FOR TC 'GRID_MAST'. DO NOT CHANGE THIS LINE!&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: MODIFY TABLE&lt;/P&gt;&lt;P&gt;MODULE GRID_MAST_MODIFY INPUT.&lt;/P&gt;&lt;P&gt;  MOVE-CORRESPONDING ZSD_RBT_MAS_DATA TO G_GRID_MAST_WA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF L_FLAG IS INITIAL.&lt;/P&gt;&lt;P&gt;    L_LINE = GRID_MAST-CURRENT_LINE.&lt;/P&gt;&lt;P&gt;    IF NOT G_GRID_MAST_WA IS INITIAL.&lt;/P&gt;&lt;P&gt;    IF L_LINE = GRID_MAST-CURRENT_LINE.&lt;/P&gt;&lt;P&gt;     READ TABLE G_GRID_MAST_ITAB INDEX GRID_MAST-CURRENT_LINE.&lt;/P&gt;&lt;P&gt;     IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      MODIFY G_GRID_MAST_ITAB    FROM G_GRID_MAST_WA&lt;/P&gt;&lt;P&gt;    INDEX GRID_MAST-CURRENT_LINE.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      MOVE-CORRESPONDING G_GRID_MAST_WA TO G_GRID_MAST_ITAB.&lt;/P&gt;&lt;P&gt;      APPEND G_GRID_MAST_ITAB.&lt;/P&gt;&lt;P&gt;      REFRESH CONTROL 'GRID_MAST' FROM SCREEN '1600'.&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;      MOVE-CORRESPONDING G_GRID_MAST_WA TO G_GRID_MAST_ITAB.&lt;/P&gt;&lt;P&gt;      APPEND G_GRID_MAST_ITAB.&lt;/P&gt;&lt;P&gt;      REFRESH CONTROL 'GRID_MAST' FROM SCREEN '1600'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR G_GRID_MAST_WA.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     ENDIF.&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;    CLEAR L_FLAG.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; MODIFY G_GRID_MAST_ITAB&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   FROM G_GRID_MAST_WA&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   INDEX GRID_MAST-CURRENT_LINE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE.                    "GRID_MAST_MODIFY INPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: INPUT MODULE FOR TC 'GRID_MAST'. DO NOT CHANGE THIS LINE!&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: PROCESS USER COMMAND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE GRID_MAST_USER_COMMAND INPUT.&lt;/P&gt;&lt;P&gt;  OK_CODE = SY-UCOMM.&lt;/P&gt;&lt;P&gt;  PERFORM USER_OK_TC USING    'SY-UCOMM'&lt;/P&gt;&lt;P&gt;                              'G_GRID_MAST_ITAB'&lt;/P&gt;&lt;P&gt;                              'FLAG'&lt;/P&gt;&lt;P&gt;                     CHANGING OK_CODE.&lt;/P&gt;&lt;P&gt;  SY-UCOMM = OK_CODE.&lt;/P&gt;&lt;P&gt;ENDMODULE.                    "GRID_MAST_USER_COMMAND INPUT&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  STATUS_1600  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;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE STATUS_1600 OUTPUT.&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'STATUS_1600'.&lt;/P&gt;&lt;P&gt;  SET TITLEBAR 'HEADING_1600'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " STATUS_1600  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  USER_COMMAND_1600  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_1600 INPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE SY-UCOMM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'CAN'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR: G_GRID_MAST_COPIED, G_GRID_MAST_ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      LEAVE TO SCREEN '1500'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'BACK'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR: G_GRID_MAST_COPIED, G_GRID_MAST_ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      LEAVE TO SCREEN '1500'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'EXIT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      LEAVE TO SCREEN '1500'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'SAVE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DELETE FROM ZSD_RBT_MAS_DATA WHERE KNUMA EQ KONA-KNUMA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      PERFORM SAVE_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   WHEN 'DELE'.&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;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " USER_COMMAND_1600  INPUT&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  FCODE_INSERT_ROW                                         *&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 fcode_insert_row&lt;/P&gt;&lt;P&gt;              USING    P_TC_NAME           TYPE DYNFNAM&lt;/P&gt;&lt;P&gt;                       P_TABLE_NAME             .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;SPWIZARD: BEGIN OF LOCAL DATA----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA L_LINES_NAME       LIKE FELD-NAME.&lt;/P&gt;&lt;P&gt;  DATA L_SELLINE          LIKE SY-STEPL.&lt;/P&gt;&lt;P&gt;  DATA L_LASTLINE         TYPE I.&lt;/P&gt;&lt;P&gt;  DATA L_LINE             TYPE I.&lt;/P&gt;&lt;P&gt;  DATA L_TABLE_NAME       LIKE FELD-NAME.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;TC&amp;gt;                 TYPE CXTAB_CONTROL.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;TABLE&amp;gt;              TYPE STANDARD TABLE.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;LINES&amp;gt;              TYPE I.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;SPWIZARD: END OF LOCAL DATA----&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;  ASSIGN (P_TC_NAME) TO &amp;lt;TC&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: get the table, which belongs to the tc                     *&lt;/P&gt;&lt;P&gt;  CONCATENATE P_TABLE_NAME '[]' INTO L_TABLE_NAME. "table body&lt;/P&gt;&lt;P&gt;  ASSIGN (L_TABLE_NAME) TO &amp;lt;TABLE&amp;gt;.                "not headerline&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: get looplines of TableControl                              *&lt;/P&gt;&lt;P&gt;  CONCATENATE 'G_' P_TC_NAME '_LINES' INTO L_LINES_NAME.&lt;/P&gt;&lt;P&gt;  ASSIGN (L_LINES_NAME) TO &amp;lt;LINES&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: get current line                                           *&lt;/P&gt;&lt;P&gt;  GET CURSOR LINE L_SELLINE.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.                   " append line to table&lt;/P&gt;&lt;P&gt;    L_SELLINE = &amp;lt;TC&amp;gt;-LINES + 1.&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: set top line                                               *&lt;/P&gt;&lt;P&gt;    IF L_SELLINE &amp;gt; &amp;lt;LINES&amp;gt;.&lt;/P&gt;&lt;P&gt;      &amp;lt;TC&amp;gt;-TOP_LINE = L_SELLINE - &amp;lt;LINES&amp;gt; + 1 .&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      &amp;lt;TC&amp;gt;-TOP_LINE = 1.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.                               " insert line into table&lt;/P&gt;&lt;P&gt;    L_SELLINE = &amp;lt;TC&amp;gt;-TOP_LINE + L_SELLINE - 1.&lt;/P&gt;&lt;P&gt;    L_LASTLINE = &amp;lt;TC&amp;gt;-TOP_LINE + &amp;lt;LINES&amp;gt; - 1.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: set new cursor line                                        *&lt;/P&gt;&lt;P&gt;  L_LINE = L_SELLINE - &amp;lt;TC&amp;gt;-TOP_LINE + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: insert initial line                                        *&lt;/P&gt;&lt;P&gt;  INSERT INITIAL LINE INTO &amp;lt;TABLE&amp;gt; INDEX L_SELLINE.&lt;/P&gt;&lt;P&gt;  &amp;lt;TC&amp;gt;-LINES = &amp;lt;TC&amp;gt;-LINES + 1.&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: set cursor                                                 *&lt;/P&gt;&lt;P&gt;  SET CURSOR LINE L_LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                              " FCODE_INSERT_ROW&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  FCODE_DELETE_ROW                                         *&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 fcode_delete_row&lt;/P&gt;&lt;P&gt;              USING    P_TC_NAME           TYPE DYNFNAM&lt;/P&gt;&lt;P&gt;                       P_TABLE_NAME&lt;/P&gt;&lt;P&gt;                       P_MARK_NAME   .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;SPWIZARD: BEGIN OF LOCAL DATA----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA L_TABLE_NAME       LIKE FELD-NAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;TC&amp;gt;         TYPE cxtab_control.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;TABLE&amp;gt;      TYPE STANDARD TABLE.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;WA&amp;gt;.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;MARK_FIELD&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;SPWIZARD: END OF LOCAL DATA----&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;  ASSIGN (P_TC_NAME) TO &amp;lt;TC&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: get the table, which belongs to the tc                     *&lt;/P&gt;&lt;P&gt;  CONCATENATE P_TABLE_NAME '[]' INTO L_TABLE_NAME. "table body&lt;/P&gt;&lt;P&gt;  ASSIGN (L_TABLE_NAME) TO &amp;lt;TABLE&amp;gt;.                "not headerline&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: delete marked lines                                        *&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE &amp;lt;TABLE&amp;gt; LINES &amp;lt;TC&amp;gt;-LINES.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT &amp;lt;TABLE&amp;gt; ASSIGNING &amp;lt;WA&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: access to the component 'FLAG' of the table header         *&lt;/P&gt;&lt;P&gt;    ASSIGN COMPONENT P_MARK_NAME OF STRUCTURE &amp;lt;WA&amp;gt; TO &amp;lt;MARK_FIELD&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF &amp;lt;MARK_FIELD&amp;gt; = 'X'.&lt;/P&gt;&lt;P&gt;      DELETE &amp;lt;TABLE&amp;gt; INDEX SYST-TABIX.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        &amp;lt;TC&amp;gt;-LINES = &amp;lt;TC&amp;gt;-LINES - 1.&lt;/P&gt;&lt;P&gt;      ENDIF.&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;ENDFORM.                              " FCODE_DELETE_ROW&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  COMPUTE_SCROLLING_IN_TC&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_TC_NAME  name of tablecontrol&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_OK       ok code&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 COMPUTE_SCROLLING_IN_TC USING    P_TC_NAME&lt;/P&gt;&lt;P&gt;                                      P_OK.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;SPWIZARD: BEGIN OF LOCAL DATA----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA L_TC_NEW_TOP_LINE     TYPE I.&lt;/P&gt;&lt;P&gt;  DATA L_TC_NAME             LIKE FELD-NAME.&lt;/P&gt;&lt;P&gt;  DATA L_TC_LINES_NAME       LIKE FELD-NAME.&lt;/P&gt;&lt;P&gt;  DATA L_TC_FIELD_NAME       LIKE FELD-NAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;TC&amp;gt;         TYPE cxtab_control.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;LINES&amp;gt;      TYPE I.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;SPWIZARD: END OF LOCAL DATA----&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;  ASSIGN (P_TC_NAME) TO &amp;lt;TC&amp;gt;.&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: get looplines of TableControl                              *&lt;/P&gt;&lt;P&gt;  CONCATENATE 'G_' P_TC_NAME '_LINES' INTO L_TC_LINES_NAME.&lt;/P&gt;&lt;P&gt;  ASSIGN (L_TC_LINES_NAME) TO &amp;lt;LINES&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: is no line filled?                                         *&lt;/P&gt;&lt;P&gt;  IF &amp;lt;TC&amp;gt;-LINES = 0.&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: yes, ...                                                   *&lt;/P&gt;&lt;P&gt;    L_TC_NEW_TOP_LINE = 1.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: no, ...                                                    *&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'SCROLLING_IN_TABLE'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              ENTRY_ACT             = &amp;lt;TC&amp;gt;-TOP_LINE&lt;/P&gt;&lt;P&gt;              ENTRY_FROM            = 1&lt;/P&gt;&lt;P&gt;              ENTRY_TO              = &amp;lt;TC&amp;gt;-LINES&lt;/P&gt;&lt;P&gt;              LAST_PAGE_FULL        = 'X'&lt;/P&gt;&lt;P&gt;              LOOPS                 = &amp;lt;LINES&amp;gt;&lt;/P&gt;&lt;P&gt;              OK_CODE               = P_OK&lt;/P&gt;&lt;P&gt;              OVERLAPPING           = 'X'&lt;/P&gt;&lt;P&gt;         IMPORTING&lt;/P&gt;&lt;P&gt;              ENTRY_NEW             = L_TC_NEW_TOP_LINE&lt;/P&gt;&lt;P&gt;         EXCEPTIONS&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             NO_ENTRY_OR_PAGE_ACT  = 01&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             NO_ENTRY_TO           = 02&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             NO_OK_CODE_OR_PAGE_GO = 03&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              OTHERS                = 0.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: get actual tc and column                                   *&lt;/P&gt;&lt;P&gt;  GET CURSOR FIELD L_TC_FIELD_NAME&lt;/P&gt;&lt;P&gt;             AREA  L_TC_NAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SYST-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    IF L_TC_NAME = P_TC_NAME.&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: et actual column                                           *&lt;/P&gt;&lt;P&gt;      SET CURSOR FIELD L_TC_FIELD_NAME LINE 1.&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;*&amp;amp;SPWIZARD: set the new top line                                       *&lt;/P&gt;&lt;P&gt;  &amp;lt;TC&amp;gt;-TOP_LINE = L_TC_NEW_TOP_LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                              " COMPUTE_SCROLLING_IN_TC&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  FCODE_TC_MARK_LINES&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;      marks all TableControl lines&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_TC_NAME  name of tablecontrol&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 FCODE_TC_MARK_LINES USING P_TC_NAME&lt;/P&gt;&lt;P&gt;                               P_TABLE_NAME&lt;/P&gt;&lt;P&gt;                               P_MARK_NAME.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;SPWIZARD: EGIN OF LOCAL DATA----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA L_TABLE_NAME       LIKE FELD-NAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;TC&amp;gt;         TYPE cxtab_control.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;TABLE&amp;gt;      TYPE STANDARD TABLE.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;WA&amp;gt;.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;MARK_FIELD&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;SPWIZARD: END OF LOCAL DATA----&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;  ASSIGN (P_TC_NAME) TO &amp;lt;TC&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: get the table, which belongs to the tc                     *&lt;/P&gt;&lt;P&gt;  CONCATENATE P_TABLE_NAME '[]' INTO L_TABLE_NAME. "table body&lt;/P&gt;&lt;P&gt;  ASSIGN (L_TABLE_NAME) TO &amp;lt;TABLE&amp;gt;.                "not headerline&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: mark all filled lines                                      *&lt;/P&gt;&lt;P&gt;  LOOP AT &amp;lt;TABLE&amp;gt; ASSIGNING &amp;lt;WA&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: access to the component 'FLAG' of the table header         *&lt;/P&gt;&lt;P&gt;    ASSIGN COMPONENT P_MARK_NAME OF STRUCTURE &amp;lt;WA&amp;gt; TO &amp;lt;MARK_FIELD&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    &amp;lt;MARK_FIELD&amp;gt; = 'X'.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                                          "fcode_tc_mark_lines&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  FCODE_TC_DEMARK_LINES&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;      demarks all TableControl lines&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_TC_NAME  name of tablecontrol&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 FCODE_TC_DEMARK_LINES USING P_TC_NAME&lt;/P&gt;&lt;P&gt;                                 P_TABLE_NAME&lt;/P&gt;&lt;P&gt;                                 P_MARK_NAME .&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;SPWIZARD: BEGIN OF LOCAL DATA----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA L_TABLE_NAME       LIKE FELD-NAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;TC&amp;gt;         TYPE cxtab_control.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;TABLE&amp;gt;      TYPE STANDARD TABLE.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;WA&amp;gt;.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;MARK_FIELD&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;SPWIZARD: END OF LOCAL DATA----&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;  ASSIGN (P_TC_NAME) TO &amp;lt;TC&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: get the table, which belongs to the tc                     *&lt;/P&gt;&lt;P&gt;  CONCATENATE P_TABLE_NAME '[]' INTO L_TABLE_NAME. "table body&lt;/P&gt;&lt;P&gt;  ASSIGN (L_TABLE_NAME) TO &amp;lt;TABLE&amp;gt;.                "not headerline&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: demark all filled lines                                    *&lt;/P&gt;&lt;P&gt;  LOOP AT &amp;lt;TABLE&amp;gt; ASSIGNING &amp;lt;WA&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: access to the component 'FLAG' of the table header         *&lt;/P&gt;&lt;P&gt;    ASSIGN COMPONENT P_MARK_NAME OF STRUCTURE &amp;lt;WA&amp;gt; TO &amp;lt;MARK_FIELD&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    &amp;lt;MARK_FIELD&amp;gt; = SPACE.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                                          "fcode_tc_mark_lines&lt;/P&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;FORM GET_DATA...&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;/P&gt;&lt;P&gt;FORM GET_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR : I_KNVV_DATA, ZSD_BILLINFO, G_GRID_MAST_COPIED,&lt;/P&gt;&lt;P&gt;  G_GRID_MAST_ITAB, ZSD_RBT_MAS_DATA, KNVV, ZSD_RBT_ELG_INV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH: I_KNVV_DATA, G_GRID_MAST_ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM KONA WHERE KNUMA = KONA-KNUMA.&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 * FROM ZSD_RBT_MAS_DATA&lt;/P&gt;&lt;P&gt;           INTO&lt;/P&gt;&lt;P&gt;           CORRESPONDING FIELDS OF&lt;/P&gt;&lt;P&gt;           TABLE I_KNVV_DATA&lt;/P&gt;&lt;P&gt;           WHERE KNUMA = KONA-KNUMA.&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;&lt;/P&gt;&lt;P&gt;      SELECT * INTO CORRESPONDING FIELDS OF TABLE I_KNVV_DATA&lt;/P&gt;&lt;P&gt;      FROM KNVV&lt;/P&gt;&lt;P&gt;      WHERE KUNNR = KONA-BONEM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT SINGLE * FROM ZSD_BILLINFO WHERE KUNAG = KONA-BONEM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      LOOP AT I_KNVV_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        SELECT SINGLE * FROM ZSD_RBT_ELG_INV&lt;/P&gt;&lt;P&gt;            WHERE KNUMA = KONA-KNUMA&lt;/P&gt;&lt;P&gt;              AND VKORG = I_KNVV_DATA-VKORG&lt;/P&gt;&lt;P&gt;              AND VTWEG = I_KNVV_DATA-VTWEG&lt;/P&gt;&lt;P&gt;              AND SPART = I_KNVV_DATA-SPART.&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;          I_KNVV_DATA-STATUS = ZSD_RBT_ELG_INV-ZFLAG.&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;        I_KNVV_DATA-GJAHR = ZSD_BILLINFO-GJAHR.&lt;/P&gt;&lt;P&gt;        I_KNVV_DATA-KNUMA = KONA-KNUMA.&lt;/P&gt;&lt;P&gt;        MODIFY I_KNVV_DATA INDEX SY-TABIX.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&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.                    "GET_DATA&lt;/P&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;FORM SAVE_DATA...&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;/P&gt;&lt;P&gt;FORM SAVE_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT G_GRID_MAST_ITAB IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'POPUP_TO_CONFIRM'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;        TITLEBAR                    = 'Confirmation'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DIAGNOSE_OBJECT             = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   TEXT_QUESTION               = 'Do you want to save the document?'&lt;/P&gt;&lt;P&gt;        TEXT_BUTTON_1               = 'YES'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ICON_BUTTON_1               = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        TEXT_BUTTON_2               = 'NO'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ICON_BUTTON_2               = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         DEFAULT_BUTTON              = '1'&lt;/P&gt;&lt;P&gt;         DISPLAY_CANCEL_BUTTON       = ''&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  USERDEFINED_F1_HELP         = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  START_COLUMN                = 25&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  START_ROW                   = 6&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  POPUP_TYPE                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IV_QUICKINFO_BUTTON_1       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IV_QUICKINFO_BUTTON_2       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        ANSWER                      = G_ANS&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PARAMETER                   =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        TEXT_NOT_FOUND              = 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;      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;    IF G_ANS = '1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT SINGLE * FROM ZSD_RBT_MAS_DATA&lt;/P&gt;&lt;P&gt;          WHERE KNUMA = KONA-KNUMA.&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;&lt;/P&gt;&lt;P&gt;        LOOP AT G_GRID_MAST_ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         IF G_GRID_MAST_ITAB-OTQTY &amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              I_KNVV_DATA-PCPDAYS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              I_KNVV_DATA-OTPC&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              I_KNVV_DATA-EBDFROM&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              I_KNVV_DATA-EBDTO&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-GJAHR = G_GRID_MAST_ITAB-GJAHR.&lt;/P&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-KNUMA = G_GRID_MAST_ITAB-KNUMA.&lt;/P&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-VKBUR = G_GRID_MAST_ITAB-VKBUR.&lt;/P&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-VKORG = G_GRID_MAST_ITAB-VKORG.&lt;/P&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-VTWEG = G_GRID_MAST_ITAB-VTWEG.&lt;/P&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-SPART = G_GRID_MAST_ITAB-SPART.&lt;/P&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-MATKL = G_GRID_MAST_ITAB-MATKL.&lt;/P&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-OTQTY = G_GRID_MAST_ITAB-OTQTY.&lt;/P&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-PCPDAYS = G_GRID_MAST_ITAB-PCPDAYS.&lt;/P&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-OTPC = G_GRID_MAST_ITAB-OTPC.&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;         ZSD_RBT_MAS_DATA-EBDFROM = G_GRID_MAST_ITAB-EBDFROM.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ZSD_RBT_MAS_DATA-EBDTO = G_GRID_MAST_ITAB-EBDTO.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          MODIFY ZSD_RBT_MAS_DATA.&lt;/P&gt;&lt;P&gt;          COMMIT WORK.&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;        ENDLOOP.&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;        LOOP AT G_GRID_MAST_ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         IF G_GRID_MAST_ITAB-OTQTY &amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              I_KNVV_DATA-PCPDAYS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              I_KNVV_DATA-OTPC&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              I_KNVV_DATA-EBDFROM&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              I_KNVV_DATA-EBDTO&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-GJAHR = G_GRID_MAST_ITAB-GJAHR.&lt;/P&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-KNUMA = G_GRID_MAST_ITAB-KNUMA.&lt;/P&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-VKBUR = G_GRID_MAST_ITAB-VKBUR.&lt;/P&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-VKORG = G_GRID_MAST_ITAB-VKORG.&lt;/P&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-VTWEG = G_GRID_MAST_ITAB-VTWEG.&lt;/P&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-SPART = G_GRID_MAST_ITAB-SPART.&lt;/P&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-OTQTY = G_GRID_MAST_ITAB-OTQTY.&lt;/P&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-PCPDAYS = G_GRID_MAST_ITAB-PCPDAYS.&lt;/P&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-OTPC = G_GRID_MAST_ITAB-OTPC.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ZSD_RBT_MAS_DATA-EBDFROM = G_GRID_MAST_ITAB-EBDFROM.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         ZSD_RBT_MAS_DATA-EBDTO = G_GRID_MAST_ITAB-EBDTO.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-STATUS = G_GRID_MAST_ITAB-STATUS.&lt;/P&gt;&lt;P&gt;          ZSD_RBT_MAS_DATA-MATKL = G_GRID_MAST_ITAB-MATKL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          INSERT ZSD_RBT_MAS_DATA.&lt;/P&gt;&lt;P&gt;          COMMIT WORK.&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;        ENDLOOP.&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;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "SAVE_DATA&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " GRID_CHECK  OUTPUT&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Nov 2006 05:19:23 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/custom-table-updation-thru-table-control/m-p/1646967#M287709</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-11-27T05:19:23Z</dc:date>
    </item>
    <item>
      <title>Re: Custom Table updation thru table control</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/custom-table-updation-thru-table-control/m-p/1646968#M287710</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;Here is the sample.&lt;/P&gt;&lt;P&gt;Fields                FieldType&lt;/P&gt;&lt;P&gt;ZMANDT	MANDT&lt;/P&gt;&lt;P&gt;ZMATNR	MATNR(Key field)&lt;/P&gt;&lt;P&gt;ZMAKTX	MAKTX&lt;/P&gt;&lt;P&gt;PICK	            CHAR1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the flow logic of the screen 9000, write the following code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROCESS BEFORE OUTPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MODULE set_status.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MODULE get_t_ctrl_lines.&lt;/P&gt;&lt;P&gt;  LOOP AT i_makt WITH CONTROL t_ctrl CURSOR t_ctrl-current_line.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Dynamic screen modifications&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    MODULE set_screen_fields.&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;PROCESS AFTER INPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT i_makt.&lt;/P&gt;&lt;P&gt;    FIELD i_makt-pick MODULE check.&lt;/P&gt;&lt;P&gt;    FIELD i_makt-zmatnr MODULE zmatnr .&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MODULE user_command_9000.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the program, write the following code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROGRAM SAPMZTC MESSAGE-ID zz.&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;Tables Declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;TABLES: zzz_makt.&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;Internal table Declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;DATA : i_makt TYPE STANDARD TABLE OF zzz_makt WITH HEADER LINE.&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;Table control Declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;CONTROLS: t_ctrl TYPE TABLEVIEW USING SCREEN '9000'.&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;Variable Declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;DATA : flg,           "Flag to set the change mode&lt;/P&gt;&lt;P&gt;       ln TYPE i.     "No. of records&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  get_T_CTRL_lines  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; Populating data&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 get_t_ctrl_lines OUTPUT.&lt;/P&gt;&lt;P&gt;  SELECT zmatnr zmaktx&lt;/P&gt;&lt;P&gt;         INTO CORRESPONDING FIELDS OF TABLE i_makt&lt;/P&gt;&lt;P&gt;         FROM zzz_makt.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE i_makt LINES ln.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To make the vertical scroll bar to come on runtime&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  t_ctrl-lines = ln + 100.&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " get_T_CTRL_lines  OUTPUT&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  USER_COMMAND_9000  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;Triggering event according to the user command&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_9000 INPUT.&lt;/P&gt;&lt;P&gt;  DATA :lv_fcode LIKE sy-ucomm,    "Function Code&lt;/P&gt;&lt;P&gt;        lv_answer(1) type c.       "Storing the answer&lt;/P&gt;&lt;P&gt;  lv_fcode = sy-ucomm.&lt;/P&gt;&lt;P&gt;  CASE lv_fcode.&lt;/P&gt;&lt;P&gt;    WHEN 'CHANGE'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Setting the flag to make the table control in editable mode[excluding&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;primary key].&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      flg = 'Y'.&lt;/P&gt;&lt;P&gt;    WHEN 'DELETE'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Setting the flag to make the table control in editable mode after&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;deleting the selected line&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      flg = 'Y'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Confirmation of delete&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CALL FUNCTION 'POPUP_TO_CONFIRM'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;         TITLEBAR       = 'Confirm'&lt;/P&gt;&lt;P&gt;         text_question  = 'Are you sure to delete from database?'&lt;/P&gt;&lt;P&gt;         TEXT_BUTTON_1  = 'Yes'(001)&lt;/P&gt;&lt;P&gt;         TEXT_BUTTON_2  = 'No'(002)&lt;/P&gt;&lt;P&gt;        IMPORTING&lt;/P&gt;&lt;P&gt;         ANSWER         =  lv_answer.&lt;/P&gt;&lt;P&gt;      if lv_answer eq '1'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Updating the database table from the internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        UPDATE zzz_makt FROM TABLE i_makt.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Deleting the selected row from the internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        DELETE i_makt WHERE pick = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Deleting the selected row from the database table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        DELETE FROM zzz_makt WHERE pick = 'X'.&lt;/P&gt;&lt;P&gt;        MESSAGE s005 WITH 'Deleted Successfully'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    WHEN 'SAVE'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Inserting new record or updating existing record in database table&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;from the internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      MODIFY zzz_makt FROM TABLE i_makt.&lt;/P&gt;&lt;P&gt;      MESSAGE s005 WITH 'Saved Successfully'.&lt;/P&gt;&lt;P&gt;    WHEN 'BACK'.&lt;/P&gt;&lt;P&gt;      SET SCREEN '0'.&lt;/P&gt;&lt;P&gt;    WHEN 'EXIT' OR 'CANCEL'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Leaving the program&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      LEAVE PROGRAM.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " USER_COMMAND_9000  INPUT&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  set_screen_fields  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;Setting the screen fields&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 set_screen_fields OUTPUT.&lt;/P&gt;&lt;P&gt;  LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;    IF flg IS INITIAL.&lt;/P&gt;&lt;P&gt;      screen-input = 0.&lt;/P&gt;&lt;P&gt;    ELSEIF ( flg EQ 'Y' ).&lt;/P&gt;&lt;P&gt;      IF ( ( screen-name = 'I_MAKT-ZMAKTX'&lt;/P&gt;&lt;P&gt;             OR screen-name = 'I_MAKT-CHECK1' )&lt;/P&gt;&lt;P&gt;            AND t_ctrl-current_line LE ln ) .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Making the screen fields as editable&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        screen-input = 1.&lt;/P&gt;&lt;P&gt;      ELSEIF ( ( screen-name = 'I_MAKT-ZMATNR' )&lt;/P&gt;&lt;P&gt;                 AND t_ctrl-current_line LE ln ).&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Making the screen field as uneditable&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        screen-input = 0.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Modifying the screen after making changes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " set_screen_fields  OUTPUT&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  zmatnr  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;Appending records to the internal 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;MODULE zmatnr INPUT.&lt;/P&gt;&lt;P&gt;  MODIFY i_makt INDEX t_ctrl-current_line.&lt;/P&gt;&lt;P&gt;  IF t_ctrl-current_line GT ln.&lt;/P&gt;&lt;P&gt;    READ TABLE i_makt WITH KEY zmatnr = i_makt-zmatnr.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Inserting record if it does not exist in database&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      APPEND i_makt.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;     MESSAGE i005 WITH 'Material Number' i_makt-zmatnr 'already exists'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " zmatnr  INPUT&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  set_status  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;Setting the GUI 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;P&gt;MODULE set_status OUTPUT.&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'ZSTATUS'.&lt;/P&gt;&lt;P&gt;  SET TITLEBAR  'ZTITLE'.&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " set_status  OUTPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp;      Module  CHECK  INPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Modify the internal table using the current line in table control&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 check INPUT.&lt;/P&gt;&lt;P&gt;  MODIFY i_makt INDEX t_ctrl-current_line.&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " CHECK  INPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For step-by-step information,check this link.&lt;/P&gt;&lt;P&gt;&lt;A href="https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/abap/abap-code-samples/table%20control%20in%20abap.pdf" target="test_blank"&gt;https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/abap/abap-code-samples/table%20control%20in%20abap.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;I have explained things step-by-step here.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Nov 2006 05:21:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/custom-table-updation-thru-table-control/m-p/1646968#M287710</guid>
      <dc:creator>jayanthi_jayaraman</dc:creator>
      <dc:date>2006-11-27T05:21:31Z</dc:date>
    </item>
    <item>
      <title>Re: Custom Table updation thru table control</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/custom-table-updation-thru-table-control/m-p/1646969#M287711</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;saving the record is based on creation of ur table control.&lt;/P&gt;&lt;P&gt;while creating the table control if u have used the option Get from dictionary for getting the fields  then use this code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE USER_COMMAND_9001 INPUT.&lt;/P&gt;&lt;P&gt;CASE SY-UCOMM.&lt;/P&gt;&lt;P&gt;WHEN 'SAVE'.&lt;/P&gt;&lt;P&gt;INSERT ZPMAS.&lt;/P&gt;&lt;P&gt;endcase.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;else if u have used the option Get from program first u have to assign the internal table field to ur database fiels and save it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN 'SAVE'.&lt;/P&gt;&lt;P&gt; Zpuchasdetails-ZQTY = ITAB-QTY.&lt;/P&gt;&lt;P&gt;  ZPUCHASDETAILS-ZAMT = ITAB-AMT.&lt;/P&gt;&lt;P&gt;INSERT ZPUCHASDETAILS.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;MESSAGE 'SAVED SUCCEESSFULLY' TYPE 'I'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;this module must be before the loop at itab in flow logic.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: &lt;/P&gt;&lt;P&gt;        Kalpanashri Rajendran&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Nov 2006 05:37:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/custom-table-updation-thru-table-control/m-p/1646969#M287711</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-11-27T05:37:31Z</dc:date>
    </item>
  </channel>
</rss>

