<?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: data insert through module pool programming in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/data-insert-through-module-pool-programming/m-p/4295308#M1024504</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Wow .. &lt;/P&gt;&lt;P&gt;That's like ... " I have a job to do... Why don't you do it for me while I sit back and relax" ..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Why do you expect us to write the code for you ?&lt;/P&gt;&lt;P&gt;Did you try ?&lt;/P&gt;&lt;P&gt;Please try. .. when you get errors then ask us.. &lt;/P&gt;&lt;P&gt;This way .. you will learn ABAP also ..&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 22 Aug 2008 08:49:29 GMT</pubDate>
    <dc:creator>former_member69765</dc:creator>
    <dc:date>2008-08-22T08:49:29Z</dc:date>
    <item>
      <title>data insert through module pool programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/data-insert-through-module-pool-programming/m-p/4295304#M1024500</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;I want to insert the data  into the data base through module pool programming.I am taking the fields from different tables, I need sample code ,please help me&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 12 Aug 2008 09:53:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/data-insert-through-module-pool-programming/m-p/4295304#M1024500</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-08-12T09:53:12Z</dc:date>
    </item>
    <item>
      <title>Re: data insert through module pool programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/data-insert-through-module-pool-programming/m-p/4295305#M1024501</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Dhanunjay,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT zpe_str_le .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES : zpe_str , zprd_mis1 , mseg , t001l.&lt;/P&gt;&lt;P&gt;*DATA : STR TYPE C VALUE '50'.&lt;/P&gt;&lt;P&gt;data : text(100) VALUE 'DELETED STORAGE LOCATION NO '.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN : BEGIN OF SCREEN 123 AS WINDOW TITLE TEXT-005.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS : S_ZSLOC FOR ZPE_STR-ZSLOC,&lt;/P&gt;&lt;P&gt;S_ZMACD FOR ZPE_STR-ZMACD,&lt;/P&gt;&lt;P&gt;S_ZPGRP FOR ZPE_STR-ZPGRP.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN : END OF SCREEN 123.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : flag(1) TYPE c,&lt;/P&gt;&lt;P&gt;flag1 TYPE c ,&lt;/P&gt;&lt;P&gt;flag3 TYPE c VALUE '1'.&lt;/P&gt;&lt;P&gt;DATA : etab LIKE t001l OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;SELECT * FROM T001L INTO TABLE ETAB.&lt;/P&gt;&lt;P&gt;DATA : ihead LIKE thead.&lt;/P&gt;&lt;P&gt;DATA : prevtab LIKE tline OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : Jtab like TLINE occurs 0 with header line. &lt;/P&gt;&lt;P&gt;DATA : jtab LIKE tline OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : itab LIKE zprd_mis1 OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*SELECT * FROM zprd_mis1 INTO TABLE itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF itab_sloc OCCURS 0,&lt;/P&gt;&lt;P&gt;werks LIKE t001l-werks,&lt;/P&gt;&lt;P&gt;lgort LIKE t001l-lgort,&lt;/P&gt;&lt;P&gt;lgobe LIKE t001l-lgobe,&lt;/P&gt;&lt;P&gt;END OF itab_sloc.&lt;/P&gt;&lt;P&gt;*FLAG = 0.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;CALL SCREEN 100.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;MODULE user_command_0100 INPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CASE sy-ucomm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;WHEN 'RET'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LEAVE TO LIST-PROCESSING AND RETURN TO SCREEN 100.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*PERFORM PREVIEW.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT prevtab.&lt;/P&gt;&lt;P&gt;WRITE : / prevtab.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT JTAB[] INTO ZPRD_MIS1. &lt;/P&gt;&lt;P&gt;WRITE : Jtab-TDFORMAT. &lt;/P&gt;&lt;P&gt;WRITE : Jtab-TDLINE . &lt;/P&gt;&lt;P&gt;*********ZPRD_MIS1-MANDT = Jtab-TDLINE .&lt;/P&gt;&lt;P&gt;*********ZPRD_MIS1-SLOC = Jtab-TDLINE .&lt;/P&gt;&lt;P&gt;*********ZPRD_MIS1-MCODE = Jtab-TDLINE .&lt;/P&gt;&lt;P&gt;*********ZPRD_MIS1-GCODE = Jtab-TDLINE .&lt;/P&gt;&lt;P&gt;*********ZPRD_MIS1-DESCR = Jtab-TDLINE .&lt;/P&gt;&lt;P&gt;*********INSERT ZPRD_MIS1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP. &lt;/P&gt;&lt;P&gt;*********&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WRITE : JTAB-ZSLOC. &lt;/P&gt;&lt;P&gt;*********CALL TRANSACTION 'SO10'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SET CURSOR 2 2. &lt;/P&gt;&lt;P&gt;WHEN 'DET'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT * FROM ZPRD_MIS1 INTO CORRESPONDING FIELDS OF TABLE ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL SCREEN 123 STARTING AT 10 5. &lt;/P&gt;&lt;P&gt;LEAVE TO LIST-PROCESSING AND RETURN TO SCREEN 0. &lt;/P&gt;&lt;P&gt;SKIP 2 . &lt;/P&gt;&lt;P&gt;WRITE :/1(8) 'STR.LOC' ,10(15) 'MRP. CTLR',27(10) 'P.GRP' ,39(40) 'DESCRIPTION OF PRODUCT'. &lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT SLOC MCODE GCODE DESCR FROM zprd_mis1 INTO ZPRD_MIS1 WHERE SLOC IN S_ZSLOC AND &lt;/P&gt;&lt;P&gt;MCODE IN S_ZMACD AND &lt;/P&gt;&lt;P&gt;GCODE IN S_ZPGRP. &lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WRITE :/1(8) zprd_mis1-SLOC ,10(15) zprd_mis1-MCODE ,27(10) zprd_mis1-GCODE ,39(40) zprd_mis1-DESCR . &lt;/P&gt;&lt;P&gt;ENDSELECT. &lt;/P&gt;&lt;P&gt;WHEN 'CLEAR'.&lt;/P&gt;&lt;P&gt;flag = 4.&lt;/P&gt;&lt;P&gt;IF zpe_str-zsloc NE ' '.&lt;/P&gt;&lt;P&gt;CLEAR zpe_str.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;MESSAGE 'ALREADY CLEARED' TYPE 'S'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN 'EXIT'.&lt;/P&gt;&lt;P&gt;LEAVE TO SCREEN 0.&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;IF zpe_str-zdesc NE ' '.&lt;/P&gt;&lt;P&gt;IF zpe_str-zsloc NE ' '.&lt;/P&gt;&lt;P&gt;LOOP AT itab.&lt;/P&gt;&lt;P&gt;READ TABLE itab WITH KEY sloc = zpe_str-zsloc .&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0 AND flag = 5.&lt;/P&gt;&lt;P&gt;zprd_mis1-mandt = sy-mandt.&lt;/P&gt;&lt;P&gt;zprd_mis1-sloc = zpe_str-zsloc .&lt;/P&gt;&lt;P&gt;zprd_mis1-mcode = zpe_str-zmacd .&lt;/P&gt;&lt;P&gt;zprd_mis1-gcode = zpe_str-zpgrp.&lt;/P&gt;&lt;P&gt;zprd_mis1-descr = zpe_str-zdesc .&lt;/P&gt;&lt;P&gt;MODIFY zprd_mis1.&lt;/P&gt;&lt;P&gt;flag1 = 7.&lt;/P&gt;&lt;P&gt;MESSAGE 'STORAGE LOCATION MODIFIED' TYPE 'S'.&lt;/P&gt;&lt;P&gt;EXIT.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;zprd_mis1-mandt = sy-mandt.&lt;/P&gt;&lt;P&gt;zprd_mis1-sloc = zpe_str-zsloc .&lt;/P&gt;&lt;P&gt;zprd_mis1-mcode = zpe_str-zmacd .&lt;/P&gt;&lt;P&gt;zprd_mis1-gcode = zpe_str-zpgrp.&lt;/P&gt;&lt;P&gt;zprd_mis1-descr = zpe_str-zdesc .&lt;/P&gt;&lt;P&gt;INSERT zprd_mis1.&lt;/P&gt;&lt;P&gt;APPEND itab.&lt;/P&gt;&lt;P&gt;flag = 5.&lt;/P&gt;&lt;P&gt;flag1 = 7.&lt;/P&gt;&lt;P&gt;MESSAGE 'STORAGE LOCATION CREATED' TYPE 'S'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*MESSAGE 'DATA ALREADY SAVED' TYPE 'S'.&lt;/P&gt;&lt;P&gt;EXIT.&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;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;flag = 3.&lt;/P&gt;&lt;P&gt;MESSAGE 'PLEASE ENTER THE STORAGE LOCATION' TYPE 'S'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;LOOP AT itab.&lt;/P&gt;&lt;P&gt;READ TABLE itab WITH KEY sloc = zpe_str-zsloc .&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;MESSAGE 'ALREADY SAVED' TYPE 'S'.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MESSAGE 'ENTRIES FOR OTHER FIELDS REQUIRED' TYPE 'S'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN 'CHECK'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT * FROM zprd_mis1 INTO TABLE itab.&lt;/P&gt;&lt;P&gt;IF zpe_str-zsloc NE ' '.&lt;/P&gt;&lt;P&gt;LOOP AT itab.&lt;/P&gt;&lt;P&gt;READ TABLE itab WITH KEY sloc = zpe_str-zsloc .&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;zpe_str-zmandt = itab-mandt.&lt;/P&gt;&lt;P&gt;zpe_str-zsloc = itab-sloc.&lt;/P&gt;&lt;P&gt;zpe_str-zmacd = itab-mcode.&lt;/P&gt;&lt;P&gt;zpe_str-zpgrp = itab-gcode.&lt;/P&gt;&lt;P&gt;zpe_str-zdesc = itab-descr.&lt;/P&gt;&lt;P&gt;flag = 7.&lt;/P&gt;&lt;P&gt;flag1 = 7.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;MESSAGE 'NO SUCH STORAGE LOCATION AVAILABLE' TYPE 'S'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EXIT. &lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;flag = 3.&lt;/P&gt;&lt;P&gt;MESSAGE 'PLEASE ENTER THE STORAGE LOCATION' TYPE 'S'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EXIT. &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;WHEN 'DELETE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF zpe_str-zsloc EQ ' '.&lt;/P&gt;&lt;P&gt;flag = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MESSAGE 'NOSUCH LOCATION AVAILABLE' TYPE 'S'.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;READ TABLE itab WITH KEY sloc = zpe_str-zsloc .&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;zpe_str-zmandt = itab-mandt.&lt;/P&gt;&lt;P&gt;zpe_str-zsloc = itab-sloc.&lt;/P&gt;&lt;P&gt;zpe_str-zmacd = itab-mcode.&lt;/P&gt;&lt;P&gt;zpe_str-zpgrp = itab-gcode.&lt;/P&gt;&lt;P&gt;zpe_str-zdesc = itab-descr.&lt;/P&gt;&lt;P&gt;IF zpe_str-zsloc NE ' '.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'G_CHECK_PASSWORD'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;password = 'PLANT1'&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;not_authorized = 1&lt;/P&gt;&lt;P&gt;canceled = 2&lt;/P&gt;&lt;P&gt;OTHERS = 3.&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM PREVIEW.&lt;/P&gt;&lt;P&gt;DELETE FROM zprd_mis1 WHERE SLOC = zpe_str-zSLOC.&lt;/P&gt;&lt;P&gt;UPDATE zprd_mis1.&lt;/P&gt;&lt;P&gt;APPEND itab.&lt;/P&gt;&lt;P&gt;MESSAGE 'STORAGE LOCATION DELETED' TYPE 'S'.&lt;/P&gt;&lt;P&gt;ELSEIF SY-SUBRC = 2.&lt;/P&gt;&lt;P&gt;MESSAGE 'OPRATION CANCELLED' TYPE 'E'.&lt;/P&gt;&lt;P&gt;ELSEIF SY-SUBRC = 3.&lt;/P&gt;&lt;P&gt;MESSAGE 'UNAUTHORIZED' TYPE 'E'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;MESSAGE 'STORAGE LOCATION CONTAINS NO DATA' TYPE 'S'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;MESSAGE 'STORAGE LOCATION CONTAINS NO DATA' TYPE 'S'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN 'CREATE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FLAG3 = 12. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF zpe_str-zsloc EQ ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MESSAGE 'ENTER THE STORAGE LOCATION' TYPE 'S'.&lt;/P&gt;&lt;P&gt;EXIT.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;LOOP AT etab.&lt;/P&gt;&lt;P&gt;READ TABLE etab WITH KEY lgort = zpe_str-zsloc .&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;read table itab with key sloc = zpe_str-zsloc .&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;zpe_str-zmandt = itab-mandt.&lt;/P&gt;&lt;P&gt;zpe_str-zsloc = itab-sloc.&lt;/P&gt;&lt;P&gt;zpe_str-zmacd = itab-mcode.&lt;/P&gt;&lt;P&gt;zpe_str-zpgrp = itab-gcode.&lt;/P&gt;&lt;P&gt;zpe_str-zdesc = itab-descr.&lt;/P&gt;&lt;P&gt;flag = 7.&lt;/P&gt;&lt;P&gt;flag1 = 7.&lt;/P&gt;&lt;P&gt;clear flag .&lt;/P&gt;&lt;P&gt;clear flag1.&lt;/P&gt;&lt;P&gt;message 'storage location alredy exist' type 'S'.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;FLAG = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MESSAGE 'STORAGE LOCATION ENTIRES DOESNOT EXIST' TYPE 'S'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;message 'no such storage location exist' type 'S'.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;FLAG = 2.&lt;/P&gt;&lt;P&gt;exit.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN 'CHANGE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT * FROM zprd_mis1 INTO TABLE itab.&lt;/P&gt;&lt;P&gt;IF zpe_str-zsloc NE ' '.&lt;/P&gt;&lt;P&gt;LOOP AT itab.&lt;/P&gt;&lt;P&gt;READ TABLE itab WITH KEY sloc = zpe_str-zsloc .&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;flag = 5.&lt;/P&gt;&lt;P&gt;flag1 = 6.&lt;/P&gt;&lt;P&gt;zpe_str-zmandt = itab-mandt.&lt;/P&gt;&lt;P&gt;zpe_str-zsloc = itab-sloc.&lt;/P&gt;&lt;P&gt;zpe_str-zmacd = itab-mcode.&lt;/P&gt;&lt;P&gt;zpe_str-zpgrp = itab-gcode.&lt;/P&gt;&lt;P&gt;zpe_str-zdesc = itab-descr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;MESSAGE 'NO STORAGE LOCATION AVAILABLE' TYPE 'S'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;flag = 3.&lt;/P&gt;&lt;P&gt;MESSAGE 'PLEASE ENTER THE STORAGE LOCATION' TYPE 'S'.&lt;/P&gt;&lt;P&gt;ENDIF.&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_0100 INPUT&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Module STATUS_0100 OUTPUT&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;MODULE status_0100 OUTPUT.&lt;/P&gt;&lt;P&gt;SET PF-STATUS 'AAA'.&lt;/P&gt;&lt;P&gt;SET TITLEBAR 'aaa'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF flag3 = '1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'G_CHECK_PASSWORD'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;password = 'PLANT1'&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;not_authorized = 1&lt;/P&gt;&lt;P&gt;canceled = 2&lt;/P&gt;&lt;P&gt;OTHERS = 3.&lt;/P&gt;&lt;P&gt;IF sy-subrc 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MESSAGE 'un authorized' TYPE 'S'(001). &lt;/P&gt;&lt;P&gt;LEAVE TO SCREEN 0.&lt;/P&gt;&lt;P&gt;ELSEIF SY-SUBRC = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MESSAGE ' OPERATION CANCELLED' TYPE 'S'(001). &lt;/P&gt;&lt;P&gt;LEAVE TO SCREEN 0.&lt;/P&gt;&lt;P&gt;ELSEIF SY-SUBRC = 3.&lt;/P&gt;&lt;P&gt;LEAVE TO SCREEN 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MESSAGE 'RESTRICTED' TYPE 'S'(001). &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;CLEAR flag3.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;SELECT * FROM zprd_mis1 INTO TABLE itab.&lt;/P&gt;&lt;P&gt;LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;IF screen-name = 'ZPE_STR-ZDESC' OR screen-name = 'ZPE_STR-ZPGRP' OR screen-name = 'ZPE_STR-ZMACD'.&lt;/P&gt;&lt;P&gt;screen-input = 0.&lt;/P&gt;&lt;P&gt;MODIFY SCREEN.&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;IF flag = 5 AND flag1 EQ 6.&lt;/P&gt;&lt;P&gt;LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;IF screen-name = 'ZPE_STR-ZDESC' OR screen-name = 'ZPE_STR-ZPGRP' OR screen-name = 'ZPE_STR-ZMACD'.&lt;/P&gt;&lt;P&gt;screen-input = 1.&lt;/P&gt;&lt;P&gt;MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;IF screen-name = 'CREATE' OR screen-name = 'DELETE' OR screen-name = 'CHANGE' OR screen-name = 'CHECK'.&lt;/P&gt;&lt;P&gt;screen-input = 0.&lt;/P&gt;&lt;P&gt;MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;EXIT.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF flag = 2.&lt;/P&gt;&lt;P&gt;LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;IF screen-name = 'ZPE_STR-ZDESC' OR screen-name = 'ZPE_STR-ZPGRP' OR screen-name = 'ZPE_STR-ZMACD'.&lt;/P&gt;&lt;P&gt;screen-input = 1.&lt;/P&gt;&lt;P&gt;MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;IF screen-name = 'CREATE' OR screen-name = 'DELETE' OR screen-name = 'CHANGE' OR screen-name = 'CHECK'.&lt;/P&gt;&lt;P&gt;screen-input = 0.&lt;/P&gt;&lt;P&gt;MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;EXIT.&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;IF flag3 = 12.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT SCREEN. &lt;/P&gt;&lt;P&gt;IF screen-name = 'ZPE_STR-ZDESC' OR screen-name = 'ZPE_STR-ZPGRP' OR screen-name = 'ZPE_STR-ZMACD'. &lt;/P&gt;&lt;P&gt;screen-input = 1. &lt;/P&gt;&lt;P&gt;MODIFY SCREEN. &lt;/P&gt;&lt;P&gt;ENDIF. &lt;/P&gt;&lt;P&gt;IF screen-name = 'CREATE' OR screen-name = 'DELETE' OR screen-name = 'CHANGE' OR screen-name = 'RET' OR screen-name = 'CHECK'.&lt;/P&gt;&lt;P&gt;screen-input = 0.&lt;/P&gt;&lt;P&gt;MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP. &lt;/P&gt;&lt;P&gt;EXIT.&lt;/P&gt;&lt;P&gt;CLEAR FLAG3.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF flag = 4.&lt;/P&gt;&lt;P&gt;IF screen-name CP 'ZPE_*'.&lt;/P&gt;&lt;P&gt;screen-input = 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;IF flag1 = 7 AND flag = 5.&lt;/P&gt;&lt;P&gt;LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;IF screen-name = 'ZPE_STR-ZDESC' OR screen-name = 'ZPE_STR-ZSLOC' OR screen-name = 'ZPE_STR-ZPGRP' OR screen-name = 'ZPE_STR-ZMACD'.&lt;/P&gt;&lt;P&gt;screen-input = 0.&lt;/P&gt;&lt;P&gt;MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;IF screen-name = 'CREATE' OR screen-name = 'DELETE' OR screen-name = 'CHECK' OR screen-name = 'SAVE'.&lt;/P&gt;&lt;P&gt;screen-input = 0.&lt;/P&gt;&lt;P&gt;MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF flag1 = 7 AND flag = 7.&lt;/P&gt;&lt;P&gt;LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;IF screen-name = 'ZPE_STR-ZDESC' OR screen-name = 'ZPE_STR-ZSLOC' OR screen-name = 'ZPE_STR-ZPGRP' OR screen-name = 'ZPE_STR-ZMACD'.&lt;/P&gt;&lt;P&gt;screen-input = 0.&lt;/P&gt;&lt;P&gt;MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF screen-name = 'CREATE' OR screen-name = 'CHECK' OR screen-name = 'SAVE'." OR screen-name = 'DELETE'.&lt;/P&gt;&lt;P&gt;screen-input = 0.&lt;/P&gt;&lt;P&gt;MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&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;IF flag1 = 4 AND flag = 3.&lt;/P&gt;&lt;P&gt;LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;IF screen-name = 'ZPE_STR-ZDESC' OR screen-name = 'ZPE_STR-ZSLOC' OR screen-name = 'ZPE_STR-ZPGRP' OR screen-name = 'ZPE_STR-ZMACD'.&lt;/P&gt;&lt;P&gt;screen-input = 0.&lt;/P&gt;&lt;P&gt;MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF screen-name = 'CREATE' OR screen-name = 'SAVE' OR screen-name = 'DELETE' OR screen-name = 'CHANGE' OR screen-name = 'CHECK'.&lt;/P&gt;&lt;P&gt;screen-input = 0.&lt;/P&gt;&lt;P&gt;MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE. " STATUS_0100 OUTPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF r1 OCCURS 1.&lt;/P&gt;&lt;P&gt;INCLUDE STRUCTURE ddshretval.&lt;/P&gt;&lt;P&gt;DATA: END OF r1.&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 VALUE_SLOC INPUT&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;MODULE value_sloc INPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT lgort werks lgobe FROM t001l INTO CORRESPONDING FIELDS OF TABLE itab_sloc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DELETE ADJACENT DUPLICATES FROM itab_sloc COMPARING lgort.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;retfield = 'LGORT'&lt;/P&gt;&lt;P&gt;value_org = 'S'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;value_tab = itab_sloc&lt;/P&gt;&lt;P&gt;return_tab = r1&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;parameter_error = 1&lt;/P&gt;&lt;P&gt;no_values_found = 2&lt;/P&gt;&lt;P&gt;OTHERS = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;IF r1-fieldval IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;zpe_str-zsloc = r1-fieldval.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EXIT. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE. " VALUE_SLOC INPUT&lt;/P&gt;&lt;P&gt;FORM PREVIEW.&lt;/P&gt;&lt;P&gt;*TABLES : ZPE_STR , ZPRD_MIS1 , MSEG.&lt;/P&gt;&lt;P&gt;data : ihead like thead.&lt;/P&gt;&lt;P&gt;DATA : prevtab like TLINE occurs 0 with header line.&lt;/P&gt;&lt;P&gt;data : Jtab like TLINE occurs 0 with header line.&lt;/P&gt;&lt;P&gt;*data : Jtab like thead occurs 0 with header line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*data : text(100).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'READ_TEXT'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;CLIENT = SY-MANDT&lt;/P&gt;&lt;P&gt;ID = 'ST'&lt;/P&gt;&lt;P&gt;LANGUAGE = sy-langu&lt;/P&gt;&lt;P&gt;NAME = 'ZSLDEL'&lt;/P&gt;&lt;P&gt;OBJECT = 'TEXT'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ARCHIVE_HANDLE = 0 &lt;/P&gt;&lt;P&gt;LOCAL_CAT = ' ' &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IMPORTING &lt;/P&gt;&lt;P&gt;HEADER = &lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;LINES = prevtab[]&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;ID = 1&lt;/P&gt;&lt;P&gt;LANGUAGE = 2&lt;/P&gt;&lt;P&gt;NAME = 3&lt;/P&gt;&lt;P&gt;NOT_FOUND = 4&lt;/P&gt;&lt;P&gt;OBJECT = 5&lt;/P&gt;&lt;P&gt;REFERENCE_CHECK = 6&lt;/P&gt;&lt;P&gt;WRONG_ACCESS_TO_ARCHIVE = 7&lt;/P&gt;&lt;P&gt;OTHERS = 8&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;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 not prevtab[] is initial.&lt;/P&gt;&lt;P&gt;append lines of prevtab to jtab.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;*IHEAD-TDFDATE = SY-DATUM.&lt;/P&gt;&lt;P&gt;*IHEAD-TDFTIME = SY-UZEIT.&lt;/P&gt;&lt;P&gt;ihead-TDOBJECT = 'TEXT'.&lt;/P&gt;&lt;P&gt;ihead-TDNAME = 'ZSLDEL'.&lt;/P&gt;&lt;P&gt;ihead-TDID = 'ST'.&lt;/P&gt;&lt;P&gt;ihead-TDSPRAS = sy-langu.&lt;/P&gt;&lt;P&gt;type-pools : slis.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Jtab-TDFORMAT = '&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;*Jtab-TDLINE = 'SLOCATION'.&lt;/P&gt;&lt;P&gt;*append Jtab.&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;Jtab-TDFORMAT = '&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;Jtab-TDFORMAT = '*'.&lt;/P&gt;&lt;P&gt;Jtab-TDLINE = ZPE_STR-ZSLOC.&lt;/P&gt;&lt;P&gt;append Jtab.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Jtab-TDFORMAT = '&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;*Jtab-TDLINE = 'DATE'.&lt;/P&gt;&lt;P&gt;*append Jtab.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Jtab-TDFORMAT = '&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;*Jtab-TDLINE = SY-DATUM.&lt;/P&gt;&lt;P&gt;*append Jtab.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Jtab-TDFORMAT = '&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;*Jtab-TDLINE = 'TIME'.&lt;/P&gt;&lt;P&gt;*append Jtab.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Jtab-TDFORMAT = '&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;*Jtab-TDLINE = SY-UZEIT.&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;Jtab-TDFORMAT = '&lt;/STRONG&gt;'.&lt;/P&gt;&lt;P&gt;*append Jtab.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'SAVE_TEXT'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;CLIENT = SY-MANDT&lt;/P&gt;&lt;P&gt;HEADER = ihead&lt;/P&gt;&lt;P&gt;INSERT = 'X'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SAVEMODE_DIRECT = ' ' &lt;/P&gt;&lt;P&gt;OWNER_SPECIFIED = ' ' &lt;/P&gt;&lt;P&gt;LOCAL_CAT = ' ' &lt;/P&gt;&lt;P&gt;IMPORTING &lt;/P&gt;&lt;P&gt;FUNCTION = &lt;/P&gt;&lt;P&gt;NEWHEADER = &lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;LINES = Jtab&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;ID = 1&lt;/P&gt;&lt;P&gt;LANGUAGE = 2&lt;/P&gt;&lt;P&gt;NAME = 3&lt;/P&gt;&lt;P&gt;OBJECT = 4&lt;/P&gt;&lt;P&gt;OTHERS = 5&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;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;CALL FUNCTION 'COMMIT_TEXT'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EXPORTING &lt;/P&gt;&lt;P&gt;OBJECT = '*' &lt;/P&gt;&lt;P&gt;NAME = '*' &lt;/P&gt;&lt;P&gt;ID = '*' &lt;/P&gt;&lt;P&gt;LANGUAGE = '*' &lt;/P&gt;&lt;P&gt;SAVEMODE_DIRECT = ' ' &lt;/P&gt;&lt;P&gt;KEEP = ' ' &lt;/P&gt;&lt;P&gt;LOCAL_CAT = ' ' &lt;/P&gt;&lt;P&gt;IMPORTING &lt;/P&gt;&lt;P&gt;COMMIT_COUNT = &lt;/P&gt;&lt;P&gt;TABLES &lt;/P&gt;&lt;P&gt;T_OBJECT = &lt;/P&gt;&lt;P&gt;T_NAME = &lt;/P&gt;&lt;P&gt;T_ID = &lt;/P&gt;&lt;P&gt;T_LANGUAGE = &lt;/P&gt;&lt;P&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;spwizard: declaration of tablecontrol 'TBLECTL' itself&lt;/P&gt;&lt;P&gt;controls: TBLECTL type tableview using screen 0100.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;spwizard: lines of tablecontrol 'TBLECTL'&lt;/P&gt;&lt;P&gt;data: g_TBLECTL_lines like sy-loopc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: OK_CODE like sy-ucomm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;spwizard: output module for tc 'TBLECTL'. do not change this line!&lt;/P&gt;&lt;P&gt;*&amp;amp;spwizard: update lines for equivalent scrollbar&lt;/P&gt;&lt;P&gt;module TBLECTL_change_tc_attr output.&lt;/P&gt;&lt;P&gt;describe table ITAB lines TBLECTL-lines.&lt;/P&gt;&lt;P&gt;endmodule.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;spwizard: output module for tc 'TBLECTL'. 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 TBLECTL_get_lines output.&lt;/P&gt;&lt;P&gt;g_TBLECTL_lines = sy-loopc.&lt;/P&gt;&lt;P&gt;endmodule.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;spwizard: input module for tc 'TBLECTL'. do not change this line!&lt;/P&gt;&lt;P&gt;*&amp;amp;spwizard: process user command&lt;/P&gt;&lt;P&gt;module TBLECTL_user_command input.&lt;/P&gt;&lt;P&gt;OK_CODE = sy-ucomm.&lt;/P&gt;&lt;P&gt;perform user_ok_tc using 'TBLECTL'&lt;/P&gt;&lt;P&gt;'ITAB'&lt;/P&gt;&lt;P&gt;' '&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.&lt;/P&gt;&lt;P&gt;&lt;/P&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;INCLUDE TABLECONTROL_FORMS * &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form USER_OK_TC *&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM USER_OK_TC 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;CHANGING P_OK LIKE SY-UCOMM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;SPWIZARD: BEGIN OF LOCAL DATA----&lt;/P&gt;&lt;HR originaltext="-----------------------------------" /&gt;&lt;P&gt;DATA: L_OK TYPE SY-UCOMM,&lt;/P&gt;&lt;P&gt;L_OFFSET TYPE I.&lt;/P&gt;&lt;P&gt;&amp;amp;SPWIZARD: END OF LOCAL DATA----&lt;/P&gt;&lt;HR originaltext="-------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: Table control specific operations *&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: evaluate TC name and operations *&lt;/P&gt;&lt;P&gt;SEARCH P_OK FOR P_TC_NAME.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC 0.&lt;/P&gt;&lt;P&gt;EXIT.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;L_OFFSET = STRLEN( P_TC_NAME ) + 1.&lt;/P&gt;&lt;P&gt;L_OK = P_OK+L_OFFSET.&lt;/P&gt;&lt;P&gt;*&amp;amp;SPWIZARD: execute general and TC specific operations *&lt;/P&gt;&lt;P&gt;CASE L_OK.&lt;/P&gt;&lt;P&gt;WHEN 'INSR'. "insert row&lt;/P&gt;&lt;P&gt;PERFORM FCODE_INSERT_ROW USING P_TC_NAME&lt;/P&gt;&lt;P&gt;P_TABLE_NAME.&lt;/P&gt;&lt;P&gt;CLEAR P_OK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN 'DELE'. "delete row&lt;/P&gt;&lt;P&gt;PERFORM FCODE_DELETE_ROW 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;CLEAR P_OK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN 'P--' OR "top of list&lt;/P&gt;&lt;P&gt;'P-' OR "previous page&lt;/P&gt;&lt;P&gt;'P+' OR "next page&lt;/P&gt;&lt;P&gt;'P++'. "bottom of list&lt;/P&gt;&lt;P&gt;PERFORM COMPUTE_SCROLLING_IN_TC USING P_TC_NAME&lt;/P&gt;&lt;P&gt;L_OK.&lt;/P&gt;&lt;P&gt;CLEAR P_OK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN 'L--'. "total left &lt;/P&gt;&lt;P&gt;PERFORM FCODE_TOTAL_LEFT USING P_TC_NAME. &lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN 'L-'. "column left &lt;/P&gt;&lt;P&gt;PERFORM FCODE_COLUMN_LEFT USING P_TC_NAME. &lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN 'R+'. "column right &lt;/P&gt;&lt;P&gt;PERFORM FCODE_COLUMN_RIGHT USING P_TC_NAME. &lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN 'R++'. "total right &lt;/P&gt;&lt;P&gt;PERFORM FCODE_TOTAL_RIGHT USING P_TC_NAME. &lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;WHEN 'MARK'. "mark all filled lines&lt;/P&gt;&lt;P&gt;PERFORM 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;CLEAR P_OK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN 'DMRK'. "demark all filled lines&lt;/P&gt;&lt;P&gt;PERFORM 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;CLEAR P_OK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN 'SASCEND' OR &lt;/P&gt;&lt;P&gt;'SDESCEND'. "sort column &lt;/P&gt;&lt;P&gt;PERFORM FCODE_SORT_TC USING P_TC_NAME &lt;/P&gt;&lt;P&gt;l_ok. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " USER_OK_TC&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; Form FCODE_INSERT_ROW *&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&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;&amp;amp;SPWIZARD: BEGIN OF LOCAL DATA----&lt;/P&gt;&lt;HR originaltext="-----------------------------------" /&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;&amp;amp;SPWIZARD: END OF LOCAL DATA----&lt;/P&gt;&lt;HR originaltext="-------------------------------------" /&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 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;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form FCODE_DELETE_ROW *&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&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;&amp;amp;SPWIZARD: BEGIN OF LOCAL DATA----&lt;/P&gt;&lt;HR originaltext="-----------------------------------" /&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;&amp;amp;SPWIZARD: END OF LOCAL DATA----&lt;/P&gt;&lt;HR originaltext="-------------------------------------" /&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;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form COMPUTE_SCROLLING_IN_TC&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt;P_TC_NAME name of tablecontrol &lt;/P&gt;&lt;P&gt;--&amp;gt;P_OK ok code &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&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;&amp;amp;SPWIZARD: BEGIN OF LOCAL DATA----&lt;/P&gt;&lt;HR originaltext="-----------------------------------" /&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;&amp;amp;SPWIZARD: END OF LOCAL DATA----&lt;/P&gt;&lt;HR originaltext="-------------------------------------" /&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;*&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;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NO_ENTRY_OR_PAGE_ACT = 01 &lt;/P&gt;&lt;P&gt;NO_ENTRY_TO = 02 &lt;/P&gt;&lt;P&gt;NO_OK_CODE_OR_PAGE_GO = 03 &lt;/P&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;ENDFORM. " COMPUTE_SCROLLING_IN_TC&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; Form FCODE_TC_MARK_LINES&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;marks all TableControl lines &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt;P_TC_NAME name of tablecontrol &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&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;&amp;amp;SPWIZARD: EGIN OF LOCAL DATA----&lt;/P&gt;&lt;HR originaltext="------------------------------------" /&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;&amp;amp;SPWIZARD: END OF LOCAL DATA----&lt;/P&gt;&lt;HR originaltext="-------------------------------------" /&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;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form FCODE_TC_DEMARK_LINES&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;demarks all TableControl lines &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt;P_TC_NAME name of tablecontrol &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&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;&amp;amp;SPWIZARD: BEGIN OF LOCAL DATA----&lt;/P&gt;&lt;HR originaltext="-----------------------------------" /&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;&amp;amp;SPWIZARD: END OF LOCAL DATA----&lt;/P&gt;&lt;HR originaltext="-------------------------------------" /&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;STRONG&gt;Source&lt;/STRONG&gt; : &lt;A href="https://forums.sdn.sap.com/click.jspa?searchID=15092700&amp;amp;messageID=5654151" target="test_blank"&gt;https://forums.sdn.sap.com/click.jspa?searchID=15092700&amp;amp;messageID=5654151&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Have A Good Day&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Chaitanya.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 12 Aug 2008 09:56:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/data-insert-through-module-pool-programming/m-p/4295305#M1024501</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-08-12T09:56:51Z</dc:date>
    </item>
    <item>
      <title>Re: data insert through module pool programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/data-insert-through-module-pool-programming/m-p/4295306#M1024502</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi..&lt;/P&gt;&lt;P&gt;you can take help from this code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: itab TYPE zvbak_101906 .&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF itab2 ,&lt;/P&gt;&lt;P&gt;    mark  TYPE c,&lt;/P&gt;&lt;P&gt;    zstprs LIKE zmara_101906 -zstprs,&lt;/P&gt;&lt;P&gt;    zposnr LIKE zvbap_101906 -zposnr,&lt;/P&gt;&lt;P&gt;    zmatnr LIKE zvbap_101906 -zmatnr ,&lt;/P&gt;&lt;P&gt;    zbrgew LIKE zvbap_101906 -zbrgew,&lt;/P&gt;&lt;P&gt;    zmeins LIKE zvbap_101906 -zmeins,&lt;/P&gt;&lt;P&gt;    znetwr LIKE zvbap_101906 -znetwr,&lt;/P&gt;&lt;P&gt;    zwaerk LIKE zvbap_101906 -zwaerk,&lt;/P&gt;&lt;P&gt;    zwerks LIKE zvbap_101906 -zwerks,&lt;/P&gt;&lt;P&gt;    zlgort LIKE zvbap_101906 -zlgort,&lt;/P&gt;&lt;P&gt;    zgi_comp LIKE zvbap_101906 -zgi_comp,&lt;/P&gt;&lt;P&gt;    zinv_comp LIKE zvbap_101906 -zinv_comp,&lt;/P&gt;&lt;P&gt;    zmaktx LIKE zmara_101906 -zmaktx,&lt;/P&gt;&lt;P&gt;    zvbeln TYPE zvbak_101906 -zvbeln,&lt;/P&gt;&lt;P&gt;END OF itab2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA  wa_itab LIKE TABLE OF itab WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA  itab_item TYPE TABLE OF itab2 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA  i_item type TABLE OF itab2 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT SINGLE ZMAKTX ZMEINS ZWAERK ZSTPRS FROM ZMARA_101906 &lt;/P&gt;&lt;P&gt;                    INTO CORRESPONDING FIELDS OF ITAB_ITEM&lt;/P&gt;&lt;P&gt;                     WHERE ZMATNR = ITAB_ITEM-ZMATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT SINGLE ZWERKS ZLGORT FROM ZORG_101780&lt;/P&gt;&lt;P&gt;              INTO CORRESPONDING FIELDS OF ITAB_ITEM&lt;/P&gt;&lt;P&gt;              WHERE ZVKORG = ITAB-ZVKORG&lt;/P&gt;&lt;P&gt;               AND ZVTWEG = ITAB-ZVTWEG&lt;/P&gt;&lt;P&gt;               AND ZSPART = ITAB-ZSPART.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ITAB_ITEM-ZNETWR = ITAB_ITEM-ZSTPRS * ITAB_ITEM-ZBRGEW.&lt;/P&gt;&lt;P&gt;  MODIFY ITAB_ITEM from itab_item INDEX SY-TABIX.&lt;/P&gt;&lt;P&gt;  MOVE-CORRESPONDING ITAB_ITEM TO I_ITEM.&lt;/P&gt;&lt;P&gt;  APPEND I_ITEM.&lt;/P&gt;&lt;P&gt;  REFRESH ITAB_ITEM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;hope it will help you.&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;Lokesh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Aug 2008 06:52:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/data-insert-through-module-pool-programming/m-p/4295306#M1024502</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-08-21T06:52:03Z</dc:date>
    </item>
    <item>
      <title>Re: data insert through module pool programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/data-insert-through-module-pool-programming/m-p/4295307#M1024503</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi dhanunjay,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF it_creation OCCURS 0,&lt;/P&gt;&lt;P&gt;      zgi_no TYPE zlikp_101941-zgi_no,&lt;/P&gt;&lt;P&gt;      zvbeln TYPE zlikp_101941-zvbeln,&lt;/P&gt;&lt;P&gt;      zgi_date type zlikp_101941-zgi_date,&lt;/P&gt;&lt;P&gt;      zernam type zlikp_101941-zernam,&lt;/P&gt;&lt;P&gt;      zdispatch type zlikp_101941-zdispatch,&lt;/P&gt;&lt;P&gt;      gi_text(40) TYPE c,&lt;/P&gt;&lt;P&gt;      zktext TYPE zvbak_101941-zktext,&lt;/P&gt;&lt;P&gt;      zgi_comp TYPE zvbap_101941-zgi_comp,&lt;/P&gt;&lt;P&gt;      zposnr TYPE zvbap_101941-zposnr,&lt;/P&gt;&lt;P&gt;      zmatnr TYPE zvbap_101941-zmatnr,&lt;/P&gt;&lt;P&gt;      zbrgew TYPE zvbap_101941-zbrgew,&lt;/P&gt;&lt;P&gt;      zmeins TYPE zvbap_101941-zmeins,&lt;/P&gt;&lt;P&gt;      zwerks TYPE zvbap_101941-zwerks,&lt;/P&gt;&lt;P&gt;      zlgort TYPE zvbap_101941-zlgort,&lt;/P&gt;&lt;P&gt;      zgi_qty TYPE zvbap_101941-zgi_comp,&lt;/P&gt;&lt;P&gt;      zvat TYPE zvbrk_101941-zvat,&lt;/P&gt;&lt;P&gt;      open_qty TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;      pick_qty TYPE p DECIMALS 2,&lt;/P&gt;&lt;P&gt;      titel TYPE i,&lt;/P&gt;&lt;P&gt;      END OF it_creation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;it_creation-zvbeln = wa_creation-zvbeln.&lt;/P&gt;&lt;P&gt;  it_creation-zernam = sy-uname.&lt;/P&gt;&lt;P&gt;  it_creation-zgi_date = sy-datum.&lt;/P&gt;&lt;P&gt;  it_creation-zdispatch = ' '.&lt;/P&gt;&lt;P&gt;  MOVE-CORRESPONDING it_creation TO zvbap_101941.&lt;/P&gt;&lt;P&gt;  MOVE-CORRESPONDING it_creation TO zlikp_101941.&lt;/P&gt;&lt;P&gt;  MODIFY zvbap_101941.&lt;/P&gt;&lt;P&gt;  MODIFY zlikp_101941.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 21 Aug 2008 07:05:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/data-insert-through-module-pool-programming/m-p/4295307#M1024503</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-08-21T07:05:33Z</dc:date>
    </item>
    <item>
      <title>Re: data insert through module pool programming</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/data-insert-through-module-pool-programming/m-p/4295308#M1024504</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Wow .. &lt;/P&gt;&lt;P&gt;That's like ... " I have a job to do... Why don't you do it for me while I sit back and relax" ..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Why do you expect us to write the code for you ?&lt;/P&gt;&lt;P&gt;Did you try ?&lt;/P&gt;&lt;P&gt;Please try. .. when you get errors then ask us.. &lt;/P&gt;&lt;P&gt;This way .. you will learn ABAP also ..&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Aug 2008 08:49:29 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/data-insert-through-module-pool-programming/m-p/4295308#M1024504</guid>
      <dc:creator>former_member69765</dc:creator>
      <dc:date>2008-08-22T08:49:29Z</dc:date>
    </item>
  </channel>
</rss>

