<?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: Need sample table control program in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/need-sample-table-control-program/m-p/1095970#M102129</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;looking at your requirement.&lt;/P&gt;&lt;P&gt;i think instead of breaking your head.&lt;/P&gt;&lt;P&gt;Just create the table maintenance in your se11,&lt;/P&gt;&lt;P&gt;use the 2 step process and give 2 screen nos.&lt;/P&gt;&lt;P&gt;then in se38 create a simple program and call the function module&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;VIEW_MAINTENANCE_CALL&lt;/P&gt;&lt;P&gt;and pass the parameters&lt;/P&gt;&lt;P&gt;Action = 'S' or as per your requirement&lt;/P&gt;&lt;P&gt;view_name = z table name&lt;/P&gt;&lt;P&gt; TABLES &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DBA_SELLIST                          = &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   EXCL_CUA_FUNCT                       = I_VIMEXCLFUN &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;contains the functions codes of what you want to do.&lt;/P&gt;&lt;P&gt;just append them into the function modules.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Murali&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 13 Dec 2005 12:11:04 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2005-12-13T12:11:04Z</dc:date>
    <item>
      <title>Need sample table control program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/need-sample-table-control-program/m-p/1095962#M102121</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Friends,&lt;/P&gt;&lt;P&gt;           Can any one give me the sample table control program for changing,displaying and creating multiple entries for fields in a table.when i click new entries it should allow me to create multiple values instead of one.Change should allow me to change the field value and display should to display the field values in disable mode.Sure i will reward points for the correct program.&lt;/P&gt;&lt;P&gt;            It is very urgent requirement.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rgds,&lt;/P&gt;&lt;P&gt;Rama&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 12 Dec 2005 14:54:13 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/need-sample-table-control-program/m-p/1095962#M102121</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-12-12T14:54:13Z</dc:date>
    </item>
    <item>
      <title>Re: Need sample table control program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/need-sample-table-control-program/m-p/1095963#M102122</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;see below example demo_dynpro_tabcont_loop_at&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 12 Dec 2005 14:57:13 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/need-sample-table-control-program/m-p/1095963#M102122</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-12-12T14:57:13Z</dc:date>
    </item>
    <item>
      <title>Re: Need sample table control program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/need-sample-table-control-program/m-p/1095964#M102123</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;look here (with se38):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DEMO_DYNPRO_TABLE_CONTROL_1  &lt;/P&gt;&lt;P&gt;DEMO_DYNPRO_TABLE_CONTROL_2  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Andreas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 12 Dec 2005 15:01:07 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/need-sample-table-control-program/m-p/1095964#M102123</guid>
      <dc:creator>andreas_mann3</dc:creator>
      <dc:date>2005-12-12T15:01:07Z</dc:date>
    </item>
    <item>
      <title>Re: Need sample table control program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/need-sample-table-control-program/m-p/1095965#M102124</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 see the Example programs in SAP itself.&lt;/P&gt;&lt;P&gt;goto &amp;lt;b&amp;gt;SE38 --&amp;gt; Environment --&amp;gt; Examples --&amp;gt; ABAP exa&amp;lt;/b&amp;gt;mples&lt;/P&gt;&lt;P&gt;then&lt;/P&gt;&lt;P&gt;press &amp;lt;b&amp;gt;BC-ABAP Programming --&amp;gt; ABAP User Dialogs --&amp;gt; SCREENS&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;in this on e see &amp;lt;b&amp;gt;Processing screen&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;Complex Screen elements&amp;lt;/b&amp;gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You will get all the programs here with e Sample example.  hope you get what you want here&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Sudheer&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 12 Dec 2005 20:02:28 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/need-sample-table-control-program/m-p/1095965#M102124</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-12-12T20:02:28Z</dc:date>
    </item>
    <item>
      <title>Re: Need sample table control program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/need-sample-table-control-program/m-p/1095966#M102125</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I need sample table control program for creating multiple entries for the table.For example zemployee is the table.If i click on create new entries it should allow me to create multiple records instead of 1.If i click on change button it should allow me to change the existing records &amp;amp; it should not allow me to create new records and for display it should allow me to display the records in disable mode.&lt;/P&gt;&lt;P&gt;The existing SAP examples doesn't have create entries.So Can any one send me the sample program for the above.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Dec 2005 01:18:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/need-sample-table-control-program/m-p/1095966#M102125</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-12-13T01:18:51Z</dc:date>
    </item>
    <item>
      <title>Re: Need sample table control program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/need-sample-table-control-program/m-p/1095967#M102126</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ramadevi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please try this test program :&lt;/P&gt;&lt;P&gt;&lt;A href="http://members.aol.com/_ht_a/skarkada/sap/table_control/table_control.htm" target="test_blank"&gt;http://members.aol.com/_ht_a/skarkada/sap/table_control/table_control.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hopr this helps you.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Dec 2005 01:30:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/need-sample-table-control-program/m-p/1095967#M102126</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-12-13T01:30:12Z</dc:date>
    </item>
    <item>
      <title>Re: Need sample table control program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/need-sample-table-control-program/m-p/1095968#M102127</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;refer the following part:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Process Before Output Event , this will fires before output and also&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;after giving any input from user&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROCESS BEFORE OUTPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This module contains the PF status of screen and also input help&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;fields binding&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MODULE status_0100.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;In this step we are moving data from internal table to table control&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;work area to display&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP WITH CONTROL tc1.&lt;/P&gt;&lt;P&gt;    MODULE read_table_control.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&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;Process After user input&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;*This module will fires when the user presses exit or back or cancel&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;buttons&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MODULE exit_screen AT EXIT-COMMAND.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*This will  help to validate header level details&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHAIN.&lt;/P&gt;&lt;P&gt;    FIELD : wk_werks,&lt;/P&gt;&lt;P&gt;            wk_plant,&lt;/P&gt;&lt;P&gt;            wk_shift,&lt;/P&gt;&lt;P&gt;            wk_dept,&lt;/P&gt;&lt;P&gt;            wk_date.&lt;/P&gt;&lt;P&gt;    MODULE data_validation.&lt;/P&gt;&lt;P&gt;  ENDCHAIN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This will help to validate table control fields validation&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP WITH CONTROL tc1.&lt;/P&gt;&lt;P&gt;    CHAIN.&lt;/P&gt;&lt;P&gt;      FIELD :&lt;/P&gt;&lt;P&gt;               it_tc1-matnr,&lt;/P&gt;&lt;P&gt;               it_tc1-vornr,&lt;/P&gt;&lt;P&gt;               it_tc1-opdes,&lt;/P&gt;&lt;P&gt;               it_tc1-plnnr,&lt;/P&gt;&lt;P&gt;               it_tc1-plnal,&lt;/P&gt;&lt;P&gt;               it_tc1-arbpl,&lt;/P&gt;&lt;P&gt;               it_tc1-pernr,&lt;/P&gt;&lt;P&gt;               it_tc1-sertype,&lt;/P&gt;&lt;P&gt;               it_tc1-quantity,&lt;/P&gt;&lt;P&gt;               it_tc1-time,&lt;/P&gt;&lt;P&gt;               it_tc1-targqty,&lt;/P&gt;&lt;P&gt;               it_tc1-rejqty,&lt;/P&gt;&lt;P&gt;               it_tc1-ot,&lt;/P&gt;&lt;P&gt;               it_tc1-remarks.&lt;/P&gt;&lt;P&gt;      MODULE validate_data .&lt;/P&gt;&lt;P&gt;    ENDCHAIN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This module uses when the user presses any button&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MODULE user_command_0100.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This module is used to get the F4 help for screen fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROCESS ON VALUE-REQUEST.&lt;/P&gt;&lt;P&gt;  FIELD wk_shift MODULE shift_values.&lt;/P&gt;&lt;P&gt;  FIELD wk_dept MODULE dept_values.&lt;/P&gt;&lt;P&gt;  FIELD it_tc1-pernr MODULE pernr_values.&lt;/P&gt;&lt;P&gt;  FIELD it_tc1-vornr MODULE vornr_values.&lt;/P&gt;&lt;P&gt;  FIELD it_tc1-sertype MODULE sertype_values.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and the coding inside would look like this!!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROGRAM  zppm001_proddet  MESSAGE-ID zpp   .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES : zppt001_prod,        " PRODUCTION INCENTIVE DETAILS TABLE&lt;/P&gt;&lt;P&gt;         t001w,               " PLANT MASTER TABLE&lt;/P&gt;&lt;P&gt;         mapl,                " MATERIAL TASK LIST TABLE&lt;/P&gt;&lt;P&gt;         plas,                " TASK LIST&lt;/P&gt;&lt;P&gt;         plpo,                " TASK LIST / OPERATIONS&lt;/P&gt;&lt;P&gt;         crhd,                " WORK CENTER HEADER&lt;/P&gt;&lt;P&gt;         tc37a,               " SHIFT DEFINITION&lt;/P&gt;&lt;P&gt;         t552a,               " MONTHLY WORK SCHEDULE&lt;/P&gt;&lt;P&gt;         pa0001,              " ORG.ASSIGNMENT&lt;/P&gt;&lt;P&gt;         pa0000,              " ACTION INFO TYPE&lt;/P&gt;&lt;P&gt;         hrp1008,             " ORG.UNITS&lt;/P&gt;&lt;P&gt;         hrp1000.             " DEPARTMENT TEXTS&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;CONTROLS tc1 TYPE TABLEVIEW USING SCREEN 100.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Table control column declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: cols LIKE LINE OF tc1-cols.&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;*Internal Table Declaration&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;DATA : BEGIN OF it_tc1,&lt;/P&gt;&lt;P&gt;        sel,&lt;/P&gt;&lt;P&gt;        matnr LIKE zppt001_prod-matnr,&lt;/P&gt;&lt;P&gt;        plnnr LIKE zppt001_prod-plnnr,&lt;/P&gt;&lt;P&gt;        plnal LIKE mapl-plnal,&lt;/P&gt;&lt;P&gt;        vornr LIKE zppt001_prod-vornr,&lt;/P&gt;&lt;P&gt;        opdes LIKE plpo-ltxa1,&lt;/P&gt;&lt;P&gt;        arbpl LIKE zppt001_prod-arbpl,&lt;/P&gt;&lt;P&gt;        targqty LIKE zppt001_prod-quantity,&lt;/P&gt;&lt;P&gt;        sertype LIKE zppt001_prod-sertype,&lt;/P&gt;&lt;P&gt;        pernr LIKE pa0000-pernr,&lt;/P&gt;&lt;P&gt;        quantity LIKE zppt001_prod-quantity,&lt;/P&gt;&lt;P&gt;        time LIKE zppt001_prod-time,&lt;/P&gt;&lt;P&gt;        downtime LIKE zppt001_prod-downtime,&lt;/P&gt;&lt;P&gt;        rejqty LIKE zppt001_prod-quantity,&lt;/P&gt;&lt;P&gt;        ot,&lt;/P&gt;&lt;P&gt;        remarks LIKE zppt001_prod-remarks,&lt;/P&gt;&lt;P&gt;       END OF it_tc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for Table control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : it_tc1_temp LIKE it_tc1 OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Work area used to for COPY &amp;amp; PASTE buttons&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA : wk_tc1 LIKE it_tc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table to store production details before saving into database&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : it_zppt001 LIKE zppt001_prod OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for Material tasklist details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF it_mapl OCCURS 0,&lt;/P&gt;&lt;P&gt;        matnr LIKE mapl-matnr,&lt;/P&gt;&lt;P&gt;        werks LIKE mapl-werks,&lt;/P&gt;&lt;P&gt;        plnty LIKE mapl-plnty,&lt;/P&gt;&lt;P&gt;        plnnr LIKE mapl-plnnr,&lt;/P&gt;&lt;P&gt;        plnal LIKE mapl-plnal,&lt;/P&gt;&lt;P&gt;        zkriz LIKE mapl-zkriz,&lt;/P&gt;&lt;P&gt;        zaehl LIKE mapl-zaehl,&lt;/P&gt;&lt;P&gt;        loekz LIKE mapl-loekz,&lt;/P&gt;&lt;P&gt;       END OF it_mapl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for operations of tasklist&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF it_plas OCCURS 0,&lt;/P&gt;&lt;P&gt;        plnty LIKE plas-plnty,&lt;/P&gt;&lt;P&gt;        plnnr LIKE plas-plnnr,&lt;/P&gt;&lt;P&gt;        plnal LIKE plas-plnal,&lt;/P&gt;&lt;P&gt;        plnfl LIKE plas-plnfl,&lt;/P&gt;&lt;P&gt;        plnkn LIKE plas-plnkn,&lt;/P&gt;&lt;P&gt;        zaehl LIKE plas-zaehl,&lt;/P&gt;&lt;P&gt;        loekz LIKE plas-loekz,&lt;/P&gt;&lt;P&gt;       END OF it_plas.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for operation tasklist activity&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF it_plpo OCCURS 0,&lt;/P&gt;&lt;P&gt;        plnty LIKE plpo-plnty,&lt;/P&gt;&lt;P&gt;        plnnr LIKE plpo-plnnr,&lt;/P&gt;&lt;P&gt;        plnkn LIKE plpo-plnkn,&lt;/P&gt;&lt;P&gt;        zaehl LIKE plpo-zaehl,&lt;/P&gt;&lt;P&gt;        loekz LIKE plpo-loekz,&lt;/P&gt;&lt;P&gt;        vornr LIKE plpo-vornr,&lt;/P&gt;&lt;P&gt;        arbid LIKE plpo-arbid,&lt;/P&gt;&lt;P&gt;        ltxa1 LIKE plpo-ltxa1,&lt;/P&gt;&lt;P&gt;        usr04 LIKE plpo-usr04,&lt;/P&gt;&lt;P&gt;       END OF it_plpo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for Work Centre&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF it_crhd OCCURS 0,&lt;/P&gt;&lt;P&gt;        objty LIKE crhd-objty,&lt;/P&gt;&lt;P&gt;        objid LIKE crhd-objid,&lt;/P&gt;&lt;P&gt;        arbpl LIKE crhd-arbpl,&lt;/P&gt;&lt;P&gt;       END OF it_crhd.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               DATA DECLARATION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : v_ucomm LIKE sy-ucomm,&lt;/P&gt;&lt;P&gt;       v_lines TYPE i,&lt;/P&gt;&lt;P&gt;       wk_date LIKE zppt001_prod-audat,&lt;/P&gt;&lt;P&gt;       wk_werks LIKE zppt001_prod-werks,&lt;/P&gt;&lt;P&gt;       wk_plant LIKE t001w-name1,&lt;/P&gt;&lt;P&gt;       wk_dept LIKE zppt001_prod-orgeh,&lt;/P&gt;&lt;P&gt;       wk_pernr LIKE zppt001_prod-pernr,&lt;/P&gt;&lt;P&gt;       wk_empname LIKE pa0001-ename,&lt;/P&gt;&lt;P&gt;       wk_deptname LIKE hrp1000-stext,&lt;/P&gt;&lt;P&gt;       wk_start LIKE t550a-sobeg,&lt;/P&gt;&lt;P&gt;       wk_end LIKE t550a-soend,&lt;/P&gt;&lt;P&gt;       wk_motpr LIKE t550a-motpr,&lt;/P&gt;&lt;P&gt;       wk_shift LIKE t550a-tprog,&lt;/P&gt;&lt;P&gt;       v_persa LIKE hrp1008-persa,&lt;/P&gt;&lt;P&gt;       v_btrtl LIKE hrp1008-btrtl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : wk_year(4) TYPE c,&lt;/P&gt;&lt;P&gt;       wk_month(2) TYPE c,&lt;/P&gt;&lt;P&gt;       wk_day(2) TYPE c,&lt;/P&gt;&lt;P&gt;       wk_days(31) TYPE c,&lt;/P&gt;&lt;P&gt;       wk_flag,&lt;/P&gt;&lt;P&gt;       wk_tot_rec TYPE i,&lt;/P&gt;&lt;P&gt;       wk_persk LIKE pa0001-persk.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Internal Table Declaration for F4 help for screen fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Structure for Shift help&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF values,&lt;/P&gt;&lt;P&gt;          motpr LIKE t550a-motpr,&lt;/P&gt;&lt;P&gt;          sobeg LIKE t550a-sobeg,&lt;/P&gt;&lt;P&gt;          soend LIKE t550a-soend,&lt;/P&gt;&lt;P&gt;          tprog LIKE t550a-tprog,&lt;/P&gt;&lt;P&gt;        END OF values.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Structure for Material help&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF values1,&lt;/P&gt;&lt;P&gt;         maktx LIKE makt-maktx,&lt;/P&gt;&lt;P&gt;         matnr LIKE makt-matnr,&lt;/P&gt;&lt;P&gt;        END OF values1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Structure for Department help&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF values2,&lt;/P&gt;&lt;P&gt;         stext LIKE hrp1000-stext,&lt;/P&gt;&lt;P&gt;         objid LIKE hrp1000-objid,&lt;/P&gt;&lt;P&gt;        END OF values2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Structure for Employee help&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF values3,&lt;/P&gt;&lt;P&gt;         ename LIKE pa0001-ename,&lt;/P&gt;&lt;P&gt;         pernr LIKE pa0001-pernr,&lt;/P&gt;&lt;P&gt;        END OF values3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Structure for Operation help&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF values4,&lt;/P&gt;&lt;P&gt;         matnr LIKE mapl-matnr,&lt;/P&gt;&lt;P&gt;         plnnr LIKE mapl-plnnr,&lt;/P&gt;&lt;P&gt;         plnal LIKE mapl-plnal,&lt;/P&gt;&lt;P&gt;         arbpl LIKE crhd-arbpl,&lt;/P&gt;&lt;P&gt;         usr04 LIKE plpo-usr04,&lt;/P&gt;&lt;P&gt;         ltxa1 LIKE plpo-ltxa1,&lt;/P&gt;&lt;P&gt;         vornr LIKE plpo-vornr,&lt;/P&gt;&lt;P&gt;        END OF values4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Structure for type of employee help ( Operator , Helper or Others )&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF values5,&lt;/P&gt;&lt;P&gt;         sno TYPE i,&lt;/P&gt;&lt;P&gt;         text LIKE zppt001_prod-plnnr,&lt;/P&gt;&lt;P&gt;         sertype LIKE zppt001_prod-sertype,&lt;/P&gt;&lt;P&gt;        END OF values5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal tables used in F4 help&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF it_matnr OCCURS 0,&lt;/P&gt;&lt;P&gt;        matnr LIKE mara-matnr,&lt;/P&gt;&lt;P&gt;       END OF it_matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF it_hrp1008 OCCURS 0,&lt;/P&gt;&lt;P&gt;        objid LIKE hrp1008-objid,&lt;/P&gt;&lt;P&gt;       END OF it_hrp1008.&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF it_pa0001 OCCURS 0,&lt;/P&gt;&lt;P&gt;        pernr LIKE pa0001-pernr,&lt;/P&gt;&lt;P&gt;        ename LIKE pa0001-ename,&lt;/P&gt;&lt;P&gt;       END OF it_pa0001.&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF it_pa0000 OCCURS 0,&lt;/P&gt;&lt;P&gt;        pernr LIKE pa0000-pernr,&lt;/P&gt;&lt;P&gt;       END OF it_pa0000.&lt;/P&gt;&lt;P&gt;DATA: progname LIKE sy-repid,&lt;/P&gt;&lt;P&gt;      dynnum   LIKE sy-dynnr,&lt;/P&gt;&lt;P&gt;      dynpro_values TYPE TABLE OF dynpread,&lt;/P&gt;&lt;P&gt;      field_value LIKE LINE OF dynpro_values,&lt;/P&gt;&lt;P&gt;      values_tab TYPE TABLE OF values WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      values_tab1 TYPE TABLE OF values1 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      values_tab2 TYPE TABLE OF values2 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      values_tab3 TYPE TABLE OF values3 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      values_tab4 TYPE TABLE OF values4 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      values_tab5 TYPE TABLE OF values5 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : person_tab LIKE rhldapp OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       orgunits LIKE rhldapo OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA : return_tab  LIKE ddshretval OCCURS 0 WITH HEADER LINE.&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_0100  OUTPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE status_0100 OUTPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PF status of screen ( Application tool bar settings )&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SET PF-STATUS 'ZPPM_TOOL'.&lt;/P&gt;&lt;P&gt;  SET TITLEBAR 'ZPPM_TITLE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  progname = sy-repid.&lt;/P&gt;&lt;P&gt;  dynnum   = sy-dynnr.&lt;/P&gt;&lt;P&gt;  CLEAR: field_value, dynpro_values.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Screen Fields for F4 help&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  field_value-fieldname = 'WK_SHIFT'.&lt;/P&gt;&lt;P&gt;  APPEND field_value TO dynpro_values.&lt;/P&gt;&lt;P&gt;  field_value-fieldname = 'IT_TC1-MATNR'.&lt;/P&gt;&lt;P&gt;  APPEND field_value TO dynpro_values.&lt;/P&gt;&lt;P&gt;  field_value-fieldname = 'WK_DEPT'.&lt;/P&gt;&lt;P&gt;  APPEND field_value TO dynpro_values.&lt;/P&gt;&lt;P&gt;  field_value-fieldname = 'IT_TC1-PERNR'.&lt;/P&gt;&lt;P&gt;  APPEND field_value TO dynpro_values.&lt;/P&gt;&lt;P&gt;  field_value-fieldname = 'IT_TC1-VORNR'.&lt;/P&gt;&lt;P&gt;  APPEND field_value TO dynpro_values.&lt;/P&gt;&lt;P&gt;  field_value-fieldname = 'IT_TC1-SERTYPE'.&lt;/P&gt;&lt;P&gt;  APPEND field_value TO dynpro_values.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  tc1-lines = 400.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Moving the cursor field by field&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF wk_werks IS INITIAL.&lt;/P&gt;&lt;P&gt;    SET CURSOR FIELD 'WK_WERKS'.&lt;/P&gt;&lt;P&gt;  ELSEIF wk_date IS INITIAL.&lt;/P&gt;&lt;P&gt;    SET CURSOR FIELD 'WK_DATE'.&lt;/P&gt;&lt;P&gt;  ELSEIF wk_shift IS INITIAL.&lt;/P&gt;&lt;P&gt;    SET CURSOR FIELD 'WK_SHIFT'.&lt;/P&gt;&lt;P&gt;  ELSEIF wk_dept IS INITIAL.&lt;/P&gt;&lt;P&gt;    SET CURSOR FIELD 'WK_DEPT'.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Making the table control inactive , till the header data&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;entered completely.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF wk_werks IS INITIAL OR&lt;/P&gt;&lt;P&gt;     wk_date IS INITIAL OR&lt;/P&gt;&lt;P&gt;     wk_shift IS INITIAL OR&lt;/P&gt;&lt;P&gt;     wk_dept IS INITIAL.&lt;/P&gt;&lt;P&gt;    LOOP AT tc1-cols INTO cols WHERE index GT 0.&lt;/P&gt;&lt;P&gt;      cols-screen-input = '0'.&lt;/P&gt;&lt;P&gt;      MODIFY tc1-cols FROM cols INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    LOOP AT tc1-cols INTO cols WHERE index GE 0.&lt;/P&gt;&lt;P&gt;      IF cols-index = '1' OR&lt;/P&gt;&lt;P&gt;         cols-index = '8' OR&lt;/P&gt;&lt;P&gt;         cols-index = '9' OR&lt;/P&gt;&lt;P&gt;         cols-index = '10' OR&lt;/P&gt;&lt;P&gt;         cols-index = '11' OR&lt;/P&gt;&lt;P&gt;         cols-index = '12' OR&lt;/P&gt;&lt;P&gt;         cols-index = '13' OR&lt;/P&gt;&lt;P&gt;         cols-index = '14' OR&lt;/P&gt;&lt;P&gt;         cols-index = '15'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        cols-screen-input = '1'.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        cols-screen-input = '0'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      MODIFY tc1-cols FROM cols 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;ENDMODULE.                 " STATUS_0100  OUTPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  READ_TABLE_CONTROL  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 read_table_control OUTPUT.&lt;/P&gt;&lt;P&gt;  READ TABLE it_tc1_temp INTO it_tc1 INDEX tc1-current_line.&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " READ_TABLE_CONTROL  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_0100  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE user_command_0100 INPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR v_ucomm.&lt;/P&gt;&lt;P&gt;  v_ucomm = sy-ucomm.&lt;/P&gt;&lt;P&gt;  CASE v_ucomm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;When the user presses the SAVE Button, the following action will&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;taken.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Moving all entered data to internal table and then modifying the data&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;in the database table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'WK_SAV'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      it_zppt001-mandt = sy-mandt.&lt;/P&gt;&lt;P&gt;      it_zppt001-werks = wk_werks.&lt;/P&gt;&lt;P&gt;      it_zppt001-audat = wk_date.&lt;/P&gt;&lt;P&gt;      it_zppt001-tprog = wk_shift.&lt;/P&gt;&lt;P&gt;      it_zppt001-orgeh = wk_dept.&lt;/P&gt;&lt;P&gt;      IF NOT it_tc1_temp[] IS INITIAL.&lt;/P&gt;&lt;P&gt;        LOOP AT it_tc1_temp WHERE quantity GT 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          it_zppt001-matnr = it_tc1_temp-matnr.&lt;/P&gt;&lt;P&gt;          it_zppt001-plnnr = it_tc1_temp-plnnr.&lt;/P&gt;&lt;P&gt;          it_zppt001-plnal = it_tc1_temp-plnal.&lt;/P&gt;&lt;P&gt;          it_zppt001-vornr = it_tc1_temp-vornr.&lt;/P&gt;&lt;P&gt;          it_zppt001-arbpl = it_tc1_temp-arbpl.&lt;/P&gt;&lt;P&gt;          it_zppt001-sertype = it_tc1_temp-sertype.&lt;/P&gt;&lt;P&gt;          it_zppt001-pernr = it_tc1_temp-pernr.&lt;/P&gt;&lt;P&gt;          it_zppt001-targqty = it_tc1_temp-targqty.&lt;/P&gt;&lt;P&gt;          it_zppt001-quantity = it_tc1_temp-quantity.&lt;/P&gt;&lt;P&gt;          it_zppt001-time = it_tc1_temp-time.&lt;/P&gt;&lt;P&gt;          it_zppt001-downtime = it_tc1_temp-downtime.&lt;/P&gt;&lt;P&gt;          it_zppt001-rejqty = it_tc1_temp-rejqty.&lt;/P&gt;&lt;P&gt;          it_zppt001-otime = it_tc1_temp-ot.&lt;/P&gt;&lt;P&gt;          it_zppt001-remarks = it_tc1_temp-remarks.&lt;/P&gt;&lt;P&gt;          APPEND it_zppt001.&lt;/P&gt;&lt;P&gt;        ENDLOOP.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      DESCRIBE TABLE it_zppt001 LINES v_lines.&lt;/P&gt;&lt;P&gt;      IF v_lines GT 0.&lt;/P&gt;&lt;P&gt;        MODIFY zppt001_prod FROM TABLE it_zppt001.&lt;/P&gt;&lt;P&gt;        IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;          COMMIT WORK.&lt;/P&gt;&lt;P&gt;          MESSAGE s003.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          ROLLBACK WORK.&lt;/P&gt;&lt;P&gt;          MESSAGE e004.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      REFRESH : it_tc1_temp.&lt;/P&gt;&lt;P&gt;      CLEAR : it_tc1_temp.&lt;/P&gt;&lt;P&gt;      CLEAR : wk_pernr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;When User presses the DELETE button , the selected rows will be&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;deleted.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'DELETE'.&lt;/P&gt;&lt;P&gt;      DELETE it_tc1_temp WHERE sel = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;When User presses the CLEAR button , all the fields should be clear.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'WK_CLR' .&lt;/P&gt;&lt;P&gt;      CLEAR wk_werks.&lt;/P&gt;&lt;P&gt;      CLEAR wk_date.&lt;/P&gt;&lt;P&gt;      CLEAR wk_shift.&lt;/P&gt;&lt;P&gt;      CLEAR  wk_dept.&lt;/P&gt;&lt;P&gt;      CLEAR it_tc1_temp .&lt;/P&gt;&lt;P&gt;      CLEAR wk_plant.&lt;/P&gt;&lt;P&gt;      CLEAR wk_pernr.&lt;/P&gt;&lt;P&gt;      CLEAR wk_start.&lt;/P&gt;&lt;P&gt;      CLEAR wk_end.&lt;/P&gt;&lt;P&gt;      CLEAR : wk_empname,&lt;/P&gt;&lt;P&gt;              wk_deptname.&lt;/P&gt;&lt;P&gt;      REFRESH it_tc1_temp .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;When the User presses the exit button, the program should terminate.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'WK_EXIT'.&lt;/P&gt;&lt;P&gt;      LEAVE PROGRAM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;When the user presses the COPY button, that row details&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;should be stored in work area&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'COPY'.&lt;/P&gt;&lt;P&gt;      READ TABLE it_tc1_temp WITH KEY sel = 'X'.&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        CLEAR wk_tc1.&lt;/P&gt;&lt;P&gt;        MOVE-CORRESPONDING it_tc1_temp TO wk_tc1.&lt;/P&gt;&lt;P&gt;        MOVE space TO wk_tc1-pernr.&lt;/P&gt;&lt;P&gt;        it_tc1_temp-sel = ' '.&lt;/P&gt;&lt;P&gt;        MODIFY it_tc1_temp TRANSPORTING sel WHERE sel = 'X'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;When the user presses the PASTE button, that copied row should&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;be pasted on that row&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'PASTE'.&lt;/P&gt;&lt;P&gt;      READ TABLE it_tc1_temp WITH KEY sel = 'X'.&lt;/P&gt;&lt;P&gt;      MOVE-CORRESPONDING wk_tc1 TO it_tc1_temp.&lt;/P&gt;&lt;P&gt;      APPEND it_tc1_temp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " USER_COMMAND_0100  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  DATA_VALIDATION  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 data_validation INPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT SINGLE name1 FROM t001w INTO wk_plant WHERE werks = wk_werks.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e000(zpp) WITH wk_werks.&lt;/P&gt;&lt;P&gt;    SET CURSOR FIELD 'WK_WERKS'.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    SET CURSOR FIELD 'WK_DATE'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To get the Work Schedule details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF wk_werks = '1010'.&lt;/P&gt;&lt;P&gt;    wk_motpr = '93'.&lt;/P&gt;&lt;P&gt;  ELSEIF wk_werks = '1020'.&lt;/P&gt;&lt;P&gt;    wk_motpr = '92'.&lt;/P&gt;&lt;P&gt;  ELSEIF wk_werks = '1030'.&lt;/P&gt;&lt;P&gt;    wk_motpr = '94'.&lt;/P&gt;&lt;P&gt;  ELSEIF wk_werks = '1040'.&lt;/P&gt;&lt;P&gt;    wk_motpr = '97'.&lt;/P&gt;&lt;P&gt;  ELSEIF wk_werks = '1050'.&lt;/P&gt;&lt;P&gt;    wk_motpr = '95'.&lt;/P&gt;&lt;P&gt;  ELSEIF wk_werks = '1060'.&lt;/P&gt;&lt;P&gt;    wk_motpr = '91'.&lt;/P&gt;&lt;P&gt;  ELSEIF wk_werks = '1070'.&lt;/P&gt;&lt;P&gt;    wk_motpr = '96'.&lt;/P&gt;&lt;P&gt;  ELSEIF wk_werks = '1080'.&lt;/P&gt;&lt;P&gt;    wk_motpr = '98'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH: values_tab.&lt;/P&gt;&lt;P&gt;  CLEAR : values_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Getting the Plant shift details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT motpr&lt;/P&gt;&lt;P&gt;         tprog&lt;/P&gt;&lt;P&gt;         sobeg&lt;/P&gt;&lt;P&gt;         soend FROM t550a INTO CORRESPONDING FIELDS OF&lt;/P&gt;&lt;P&gt;         TABLE values_tab WHERE&lt;/P&gt;&lt;P&gt;         motpr = wk_motpr AND&lt;/P&gt;&lt;P&gt;         begda LE sy-datum AND&lt;/P&gt;&lt;P&gt;         endda GE sy-datum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validating the Shift&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT wk_shift IS INITIAL.&lt;/P&gt;&lt;P&gt;    READ TABLE values_tab WITH KEY tprog = wk_shift.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      MESSAGE e002 WITH text-013.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      wk_start = values_tab-sobeg.&lt;/P&gt;&lt;P&gt;      wk_end = values_tab-soend.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validating the Department&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT wk_dept IS INITIAL.&lt;/P&gt;&lt;P&gt;    READ TABLE values_tab2 WITH KEY objid = wk_dept.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;      MESSAGE e002 WITH text-012.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      wk_deptname = values_tab2-stext.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " DATA_VALIDATION  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  VALIDATE_DATA  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 validate_data INPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE it_tc1_temp INDEX tc1-current_line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If record exits in table control , modify the contents&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    MODIFY it_tc1_temp FROM it_tc1 INDEX tc1-current_line.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If new record append the record to table control&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If user gives the material, the table control should get&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;all the operations of that material as row wise.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT matnr&lt;/P&gt;&lt;P&gt;           werks&lt;/P&gt;&lt;P&gt;           plnty&lt;/P&gt;&lt;P&gt;           plnnr&lt;/P&gt;&lt;P&gt;           plnal&lt;/P&gt;&lt;P&gt;           zkriz&lt;/P&gt;&lt;P&gt;           zaehl&lt;/P&gt;&lt;P&gt;           loekz FROM mapl INTO TABLE it_mapl&lt;/P&gt;&lt;P&gt;           WHERE matnr = it_tc1-matnr&lt;/P&gt;&lt;P&gt;           AND   werks = wk_werks&lt;/P&gt;&lt;P&gt;           AND   plnty = 'N'&lt;/P&gt;&lt;P&gt;           AND   loekz NE 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT plnty&lt;/P&gt;&lt;P&gt;             plnnr&lt;/P&gt;&lt;P&gt;             plnal&lt;/P&gt;&lt;P&gt;             plnfl&lt;/P&gt;&lt;P&gt;             plnkn&lt;/P&gt;&lt;P&gt;             zaehl&lt;/P&gt;&lt;P&gt;             loekz FROM plas INTO TABLE it_plas&lt;/P&gt;&lt;P&gt;             FOR ALL ENTRIES IN it_mapl&lt;/P&gt;&lt;P&gt;             WHERE plnty = it_mapl-plnty AND&lt;/P&gt;&lt;P&gt;                   plnnr = it_mapl-plnnr AND&lt;/P&gt;&lt;P&gt;                   plnal = it_mapl-plnal AND&lt;/P&gt;&lt;P&gt;                   loekz NE 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT plnty&lt;/P&gt;&lt;P&gt;             plnnr&lt;/P&gt;&lt;P&gt;             plnkn&lt;/P&gt;&lt;P&gt;             zaehl&lt;/P&gt;&lt;P&gt;             loekz&lt;/P&gt;&lt;P&gt;             vornr&lt;/P&gt;&lt;P&gt;             arbid&lt;/P&gt;&lt;P&gt;             ltxa1&lt;/P&gt;&lt;P&gt;             usr04 FROM plpo INTO TABLE it_plpo&lt;/P&gt;&lt;P&gt;             FOR ALL ENTRIES IN it_plas&lt;/P&gt;&lt;P&gt;             WHERE plnty = it_plas-plnty&lt;/P&gt;&lt;P&gt;             AND   plnnr = it_plas-plnnr&lt;/P&gt;&lt;P&gt;             AND   plnkn = it_plas-plnkn&lt;/P&gt;&lt;P&gt;             AND   zaehl = it_plas-zaehl&lt;/P&gt;&lt;P&gt;             AND   loekz NE 'X'.&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        SORT it_plpo BY vornr.&lt;/P&gt;&lt;P&gt;        SELECT objty&lt;/P&gt;&lt;P&gt;               objid&lt;/P&gt;&lt;P&gt;               arbpl FROM crhd INTO TABLE it_crhd&lt;/P&gt;&lt;P&gt;               FOR ALL ENTRIES IN it_plpo&lt;/P&gt;&lt;P&gt;               WHERE objty = 'A'&lt;/P&gt;&lt;P&gt;                AND  objid = it_plpo-arbid.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Appending all the operation of material to table control internal&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT it_mapl.&lt;/P&gt;&lt;P&gt;      it_tc1-plnnr = it_mapl-plnnr.&lt;/P&gt;&lt;P&gt;      it_tc1-plnal = it_mapl-plnal.&lt;/P&gt;&lt;P&gt;      LOOP AT it_plpo WHERE plnty = it_mapl-plnty&lt;/P&gt;&lt;P&gt;                       AND   plnnr = it_mapl-plnnr.&lt;/P&gt;&lt;P&gt;        it_tc1-vornr = it_plpo-vornr.&lt;/P&gt;&lt;P&gt;        it_tc1-opdes = it_plpo-ltxa1.&lt;/P&gt;&lt;P&gt;        it_tc1-targqty = it_plpo-usr04.&lt;/P&gt;&lt;P&gt;        READ TABLE it_crhd WITH KEY objid = it_plpo-arbid.&lt;/P&gt;&lt;P&gt;        IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;          it_tc1-arbpl = it_crhd-arbpl.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        it_tc1-sertype = 'L'.&lt;/P&gt;&lt;P&gt;        APPEND it_tc1 TO it_tc1_temp.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Displaying the Employee name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT it_tc1-pernr IS INITIAL.&lt;/P&gt;&lt;P&gt;    READ TABLE values_tab3 WITH KEY pernr = it_tc1-pernr.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      wk_empname = values_tab3-ename.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      MESSAGE e002 WITH text-011.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If production Qty is there, checking the employee code and time&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT it_tc1-quantity IS INITIAL.&lt;/P&gt;&lt;P&gt;    IF it_tc1-pernr EQ ' '.&lt;/P&gt;&lt;P&gt;      MESSAGE e002 WITH text-005.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF it_tc1-time EQ ' '.&lt;/P&gt;&lt;P&gt;      MESSAGE e002 WITH text-007.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Checking whether rejection quantity is less than the production qty&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT it_tc1-quantity IS INITIAL AND&lt;/P&gt;&lt;P&gt;     NOT it_tc1-rejqty IS INITIAL.&lt;/P&gt;&lt;P&gt;    IF it_tc1-quantity LT it_tc1-rejqty.&lt;/P&gt;&lt;P&gt;      MESSAGE e002 WITH text-014.&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.                 " VALIDATE_DATA  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  SHIFT_VALUES  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 shift_values INPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Getting the Work Schedule rule for the plant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR : wk_motpr.&lt;/P&gt;&lt;P&gt;  IF wk_werks = '1010'.&lt;/P&gt;&lt;P&gt;    wk_motpr = '93'.&lt;/P&gt;&lt;P&gt;  ELSEIF wk_werks = '1020'.&lt;/P&gt;&lt;P&gt;    wk_motpr = '92'.&lt;/P&gt;&lt;P&gt;  ELSEIF wk_werks = '1030'.&lt;/P&gt;&lt;P&gt;    wk_motpr = '94'.&lt;/P&gt;&lt;P&gt;  ELSEIF wk_werks = '1040'.&lt;/P&gt;&lt;P&gt;    wk_motpr = '97'.&lt;/P&gt;&lt;P&gt;  ELSEIF wk_werks = '1050'.&lt;/P&gt;&lt;P&gt;    wk_motpr = '95'.&lt;/P&gt;&lt;P&gt;  ELSEIF wk_werks = '1060'.&lt;/P&gt;&lt;P&gt;    wk_motpr = '91'.&lt;/P&gt;&lt;P&gt;  ELSEIF wk_werks = '1070'.&lt;/P&gt;&lt;P&gt;    wk_motpr = '96'.&lt;/P&gt;&lt;P&gt;  ELSEIF wk_werks = '1080'.&lt;/P&gt;&lt;P&gt;    wk_motpr = '98'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR : values_tab.&lt;/P&gt;&lt;P&gt;  REFRESH : values_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Getting the Shift for the Plant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT motpr&lt;/P&gt;&lt;P&gt;         tprog&lt;/P&gt;&lt;P&gt;         sobeg&lt;/P&gt;&lt;P&gt;         soend FROM t550a INTO CORRESPONDING FIELDS OF&lt;/P&gt;&lt;P&gt;         TABLE values_tab WHERE&lt;/P&gt;&lt;P&gt;         motpr = wk_motpr AND&lt;/P&gt;&lt;P&gt;         begda LE sy-datum AND&lt;/P&gt;&lt;P&gt;         endda GE sy-datum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;F4 help for Shift&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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        = 'WK_SHIFT'&lt;/P&gt;&lt;P&gt;      dynpprog        = progname&lt;/P&gt;&lt;P&gt;      dynpnr          = dynnum&lt;/P&gt;&lt;P&gt;      dynprofield     = 'WK_SHIFT'&lt;/P&gt;&lt;P&gt;      value_org       = 'S'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      value_tab       = values_tab&lt;/P&gt;&lt;P&gt;      return_tab      = return_tab&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;&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " SHIFT_VALUES  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  MATNR_VALUES  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 matnr_values INPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selection of Materials in that plant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT matnr FROM marc&lt;/P&gt;&lt;P&gt;         INTO TABLE  it_matnr&lt;/P&gt;&lt;P&gt;         WHERE werks = wk_werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT matnr maktx FROM makt&lt;/P&gt;&lt;P&gt;           INTO CORRESPONDING FIELDS OF TABLE values_tab1&lt;/P&gt;&lt;P&gt;           FOR ALL ENTRIES IN it_matnr&lt;/P&gt;&lt;P&gt;           WHERE matnr = it_matnr-matnr&lt;/P&gt;&lt;P&gt;           AND spras = 'E'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;F4 help for Material&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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        = 'IT_TC1-MATNR'&lt;/P&gt;&lt;P&gt;      dynpprog        = progname&lt;/P&gt;&lt;P&gt;      dynpnr          = dynnum&lt;/P&gt;&lt;P&gt;      dynprofield     = 'IT_TC1-MATNR'&lt;/P&gt;&lt;P&gt;      value_org       = 'S'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      value_tab       = values_tab1&lt;/P&gt;&lt;P&gt;      return_tab      = return_tab&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;&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " MATNR_VALUES  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  DEPT_VALUES  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 dept_values INPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Getting the personal area , sub area details of plant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF wk_werks = '1020'.&lt;/P&gt;&lt;P&gt;    v_persa = 'OMHR'.&lt;/P&gt;&lt;P&gt;    v_btrtl = '0001'.&lt;/P&gt;&lt;P&gt;  ELSEIF wk_werks = '1010'.&lt;/P&gt;&lt;P&gt;    v_persa = 'OMHR'.&lt;/P&gt;&lt;P&gt;    v_btrtl = '0002'.&lt;/P&gt;&lt;P&gt;  ELSEIF wk_werks = '1030'.&lt;/P&gt;&lt;P&gt;    v_persa = 'OMHR'.&lt;/P&gt;&lt;P&gt;    v_btrtl = '0003'.&lt;/P&gt;&lt;P&gt;  ELSEIF wk_werks = '1040'.&lt;/P&gt;&lt;P&gt;    v_persa = 'OMHR'.&lt;/P&gt;&lt;P&gt;    v_btrtl = '0006'.&lt;/P&gt;&lt;P&gt;  ELSEIF wk_werks = '1050'.&lt;/P&gt;&lt;P&gt;    v_persa = 'OMHR'.&lt;/P&gt;&lt;P&gt;    v_btrtl = '0004'.&lt;/P&gt;&lt;P&gt;  ELSEIF wk_werks = '1070'.&lt;/P&gt;&lt;P&gt;    v_persa = 'OMHR'.&lt;/P&gt;&lt;P&gt;    v_btrtl = '0005'.&lt;/P&gt;&lt;P&gt;  ELSEIF wk_werks = '1080'.&lt;/P&gt;&lt;P&gt;    v_persa = 'OMHR'.&lt;/P&gt;&lt;P&gt;    v_btrtl = '0007'.&lt;/P&gt;&lt;P&gt;  ELSEIF wk_werks = '1060'.&lt;/P&gt;&lt;P&gt;    v_persa = 'OMBN'.&lt;/P&gt;&lt;P&gt;    v_btrtl = '0001'.&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;  SELECT objid FROM hrp1008&lt;/P&gt;&lt;P&gt;   INTO TABLE it_hrp1008&lt;/P&gt;&lt;P&gt;   WHERE plvar EQ '01' AND&lt;/P&gt;&lt;P&gt;   otype EQ 'O' AND begda LE sy-datum AND&lt;/P&gt;&lt;P&gt;   endda GE sy-datum AND&lt;/P&gt;&lt;P&gt;   persa = v_persa AND btrtl = v_btrtl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Getting the department details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT it_hrp1008[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT objid stext FROM hrp1000&lt;/P&gt;&lt;P&gt;            INTO CORRESPONDING FIELDS OF&lt;/P&gt;&lt;P&gt;            TABLE values_tab2  FOR ALL ENTRIES IN&lt;/P&gt;&lt;P&gt;            it_hrp1008 WHERE plvar EQ '01' AND&lt;/P&gt;&lt;P&gt;            otype EQ 'O' AND objid = it_hrp1008-objid AND&lt;/P&gt;&lt;P&gt;            begda LE sy-datum AND endda GE sy-datum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;F4 help for department&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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        = 'WK_DEPT'&lt;/P&gt;&lt;P&gt;      dynpprog        = progname&lt;/P&gt;&lt;P&gt;      dynpnr          = dynnum&lt;/P&gt;&lt;P&gt;      dynprofield     = 'WK_DEPT'&lt;/P&gt;&lt;P&gt;      value_org       = 'S'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      value_tab       = values_tab2&lt;/P&gt;&lt;P&gt;      return_tab      = return_tab&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;  CLEAR values_tab3.&lt;/P&gt;&lt;P&gt;  REFRESH values_tab3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " DEPT_VALUES  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  PERNR_VALUES  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 pernr_values INPUT.&lt;/P&gt;&lt;P&gt;  CLEAR : values_tab3.&lt;/P&gt;&lt;P&gt;  REFRESH : values_tab3.&lt;/P&gt;&lt;P&gt;  CLEAR : person_tab , orgunits.&lt;/P&gt;&lt;P&gt;  REFRESH : person_tab , orgunits.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Getting all the departments that are lying under given department&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Getting all the employees lying in all departments&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'RH_DIR_ORG_STRUC_GET'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            act_orgunit     = wk_dept&lt;/P&gt;&lt;P&gt;            act_plvar       = '01'&lt;/P&gt;&lt;P&gt;           act_date        = wk_date&lt;/P&gt;&lt;P&gt;           sort_flag       = ''&lt;/P&gt;&lt;P&gt;           add_flag_pdata  = ''&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;           org_units       = orgunits&lt;/P&gt;&lt;P&gt;         person_tab      =   person_tab&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          org_pers_rel    = org_pers_rel&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;           no_active_plvar = 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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT person_tab.&lt;/P&gt;&lt;P&gt;    values_tab3-ename = person_tab-editname.&lt;/P&gt;&lt;P&gt;    values_tab3-pernr = person_tab-objid.&lt;/P&gt;&lt;P&gt;    APPEND values_tab3.&lt;/P&gt;&lt;P&gt;    CLEAR values_tab3.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  LOOP AT orgunits.&lt;/P&gt;&lt;P&gt;    SELECT pernr ename FROM pa0001 INTO TABLE&lt;/P&gt;&lt;P&gt;             it_pa0001 WHERE begda LE wk_date AND&lt;/P&gt;&lt;P&gt;                             endda GE wk_date AND&lt;/P&gt;&lt;P&gt;                             orgeh EQ orgunits-orgid AND&lt;/P&gt;&lt;P&gt;                             persk IN ('I1','I2','I3','I4','I5',&lt;/P&gt;&lt;P&gt;                                       'W1','W2','W3','W4','W5').&lt;/P&gt;&lt;P&gt;    IF NOT it_pa0001[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      SELECT pernr FROM pa0000 INTO TABLE it_pa0000&lt;/P&gt;&lt;P&gt;                   FOR ALL ENTRIES IN it_pa0001&lt;/P&gt;&lt;P&gt;                   WHERE pernr = it_pa0001-pernr&lt;/P&gt;&lt;P&gt;                    AND  begda LE wk_date AND&lt;/P&gt;&lt;P&gt;                         endda GE wk_date AND&lt;/P&gt;&lt;P&gt;                         stat2 EQ '3'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT it_pa0000.&lt;/P&gt;&lt;P&gt;      READ TABLE it_pa0001 WITH KEY pernr = it_pa0000-pernr.&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        values_tab3-ename = it_pa0001-ename.&lt;/P&gt;&lt;P&gt;        values_tab3-pernr = it_pa0001-pernr.&lt;/P&gt;&lt;P&gt;        APPEND values_tab3.&lt;/P&gt;&lt;P&gt;        CLEAR values_tab3.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    CLEAR : it_pa0000 , it_pa0001.&lt;/P&gt;&lt;P&gt;    REFRESH : it_pa0000 , it_pa0001.&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;  SORT values_tab3 BY ename.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;F4 help for employee&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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        = 'IT_TC1-PERNR'&lt;/P&gt;&lt;P&gt;      dynpprog        = progname&lt;/P&gt;&lt;P&gt;      dynpnr          = dynnum&lt;/P&gt;&lt;P&gt;      dynprofield     = 'IT_TC1-PERNR'&lt;/P&gt;&lt;P&gt;      value_org       = 'S'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      value_tab       = values_tab3&lt;/P&gt;&lt;P&gt;      return_tab      = return_tab&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " PERNR_VALUES  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_SCREEN  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE exit_screen INPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If user presses BACK OR CANCEL OR EXIT button, leave the program.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 'BACK' OR 'CANC' OR 'EXIT' OR 'WK_EXIT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      LEAVE PROGRAM.&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;ENDMODULE.                 " EXIT_SCREEN  INPUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  VORNR_VALUES  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 vornr_values INPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Getting the operation codes for given material&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR : values_tab4.&lt;/P&gt;&lt;P&gt;  REFRESH : values_tab4.&lt;/P&gt;&lt;P&gt;  LOOP AT it_mapl.&lt;/P&gt;&lt;P&gt;    values_tab4-matnr = it_mapl-matnr.&lt;/P&gt;&lt;P&gt;    values_tab4-plnnr = it_mapl-plnnr.&lt;/P&gt;&lt;P&gt;    values_tab4-plnal = it_mapl-plnal.&lt;/P&gt;&lt;P&gt;    LOOP AT it_plpo WHERE plnty = it_mapl-plnty&lt;/P&gt;&lt;P&gt;                     AND   plnnr = it_mapl-plnnr.&lt;/P&gt;&lt;P&gt;      values_tab4-vornr = it_plpo-vornr.&lt;/P&gt;&lt;P&gt;      values_tab4-ltxa1 = it_plpo-ltxa1.&lt;/P&gt;&lt;P&gt;      values_tab4-usr04 = it_plpo-usr04.&lt;/P&gt;&lt;P&gt;      READ TABLE it_crhd WITH KEY objid = it_plpo-arbid.&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        values_tab4-arbpl = it_crhd-arbpl.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND values_tab4.&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;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  SORT values_tab4 BY vornr.&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM values_tab4 COMPARING vornr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;F4 help for operation code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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        = 'IT_TC1-VORNR'&lt;/P&gt;&lt;P&gt;      dynpprog        = progname&lt;/P&gt;&lt;P&gt;      dynpnr          = dynnum&lt;/P&gt;&lt;P&gt;      dynprofield     = 'IT_TC1-VORNR'&lt;/P&gt;&lt;P&gt;      value_org       = 'S'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      value_tab       = values_tab4&lt;/P&gt;&lt;P&gt;      return_tab      = return_tab&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;ENDMODULE.                 " VORNR_VALUES  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  TYPE_VALUES  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 sertype_values INPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Different type of employee services like Operator, Helper or others&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR : values_tab5.&lt;/P&gt;&lt;P&gt;  REFRESH : values_tab5.&lt;/P&gt;&lt;P&gt;  values_tab5-sno = 1.&lt;/P&gt;&lt;P&gt;  values_tab5-text = 'Operator'.&lt;/P&gt;&lt;P&gt;  values_tab5-sertype = 'L'.&lt;/P&gt;&lt;P&gt;  APPEND values_tab5.&lt;/P&gt;&lt;P&gt;  values_tab5-sno = 2.&lt;/P&gt;&lt;P&gt;  values_tab5-text = 'Helper'.&lt;/P&gt;&lt;P&gt;  values_tab5-sertype = 'H'.&lt;/P&gt;&lt;P&gt;  APPEND values_tab5.&lt;/P&gt;&lt;P&gt;  values_tab5-sno = 3.&lt;/P&gt;&lt;P&gt;  values_tab5-text = 'Other work'.&lt;/P&gt;&lt;P&gt;  values_tab5-sertype = 'O'.&lt;/P&gt;&lt;P&gt;  APPEND values_tab5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;F4 help for different Service types&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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        = 'IT_TC1-SERTYPE'&lt;/P&gt;&lt;P&gt;      dynpprog        = progname&lt;/P&gt;&lt;P&gt;      dynpnr          = dynnum&lt;/P&gt;&lt;P&gt;      dynprofield     = 'IT_TC1-SERTYPE'&lt;/P&gt;&lt;P&gt;      value_org       = 'S'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      value_tab       = values_tab5&lt;/P&gt;&lt;P&gt;      return_tab      = return_tab&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;ENDMODULE.                 " TYPE_VALUES  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;modify it according to ur need!!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PLease reward points by clicking on the star if it helps!!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Gunjan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Dec 2005 06:07:45 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/need-sample-table-control-program/m-p/1095968#M102127</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-12-13T06:07:45Z</dc:date>
    </item>
    <item>
      <title>Re: Need sample table control program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/need-sample-table-control-program/m-p/1095969#M102128</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Type ABAPDOCU in the command field you will demo program for all the functionalities..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REgards,&lt;/P&gt;&lt;P&gt;Abdul&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Dec 2005 06:32:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/need-sample-table-control-program/m-p/1095969#M102128</guid>
      <dc:creator>abdul_hakim</dc:creator>
      <dc:date>2005-12-13T06:32:24Z</dc:date>
    </item>
    <item>
      <title>Re: Need sample table control program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/need-sample-table-control-program/m-p/1095970#M102129</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;looking at your requirement.&lt;/P&gt;&lt;P&gt;i think instead of breaking your head.&lt;/P&gt;&lt;P&gt;Just create the table maintenance in your se11,&lt;/P&gt;&lt;P&gt;use the 2 step process and give 2 screen nos.&lt;/P&gt;&lt;P&gt;then in se38 create a simple program and call the function module&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;VIEW_MAINTENANCE_CALL&lt;/P&gt;&lt;P&gt;and pass the parameters&lt;/P&gt;&lt;P&gt;Action = 'S' or as per your requirement&lt;/P&gt;&lt;P&gt;view_name = z table name&lt;/P&gt;&lt;P&gt; TABLES &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DBA_SELLIST                          = &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   EXCL_CUA_FUNCT                       = I_VIMEXCLFUN &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;contains the functions codes of what you want to do.&lt;/P&gt;&lt;P&gt;just append them into the function modules.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Murali&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Dec 2005 12:11:04 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/need-sample-table-control-program/m-p/1095970#M102129</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-12-13T12:11:04Z</dc:date>
    </item>
    <item>
      <title>Re: Need sample table control program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/need-sample-table-control-program/m-p/1095971#M102130</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Murali Can you please explain me clearly with an example.It is very urgent requirement.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Dec 2005 20:20:18 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/need-sample-table-control-program/m-p/1095971#M102130</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-12-13T20:20:18Z</dc:date>
    </item>
    <item>
      <title>Re: Need sample table control program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/need-sample-table-control-program/m-p/1095972#M102131</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE&gt;&lt;CODE&gt;REPORT ZTAB_MAINT
       NO STANDARD PAGE HEADING
       MESSAGE-ID ZZ.

*----------------------------------------------------------------------*
*                   T Y P E  D E C L A R A T I O N S
*----------------------------------------------------------------------*
*--Types declaration for selection to be passed as parameter into
*--VIEW_MAINTENANCE_CALL FM
TYPES: BEGIN OF TP_RANGETAB.
        INCLUDE STRUCTURE VIMSELLIST.
TYPES: END OF TP_RANGETAB.
*----------------------------------------------------------------------*
*                D A T A  D E C L A R A T I O N S
*----------------------------------------------------------------------*
DATA: V_MATNR TYPE ZATP-MATNR,              " Material Number
      V_WERKS TYPE ZATP-WERKS,              " Plant
      V_KONOB TYPE ZATP-KONOB,              " Product allocation object
      V_ZCPLT TYPE ZATP-ZCPLT.              " Plant
*----------------------------------------------------------------------*
*        I N T E R N A L  T A B L E  D E C L A R A T I O N S
*----------------------------------------------------------------------*
* Internal table to subroutine code
*Internal table used as selection for VIEW_MAINTENANCE_CALL FM
DATA: IT_RANGETAB TYPE STANDARD TABLE OF TP_RANGETAB WITH HEADER LINE.
*--Internal table used for getting the tablefields
DATA: BEGIN OF IT_HEADER OCCURS 1.
        INCLUDE STRUCTURE VIMDESC.
DATA: END   OF IT_HEADER.
*--Name Tabel
DATA: BEGIN OF IT_NAMTAB OCCURS 50.
        INCLUDE STRUCTURE VIMNAMTAB.
DATA: END   OF IT_NAMTAB.
*--Used for handling 'BT' option
DATA: BEGIN OF IT_MATNR OCCURS 0,
        MATNR TYPE ZATP-MATNR,
      END OF IT_MATNR.
*--Used for handling 'BT' option
DATA: BEGIN OF IT_WERKS OCCURS 0,
        WERKS TYPE ZTAB-WERKS,
      END OF IT_WERKS.
*--Used for handling 'BT' option
DATA: BEGIN OF IT_KONOB OCCURS 0,
        KONOB TYPE ZTAB-KONOB,
      END OF IT_KONOB.
*--Used for handling 'BT' option
DATA: BEGIN OF IT_ZCPLT OCCURS 0,
        ZCPLT TYPE ZATP-ZCPLT,
      END OF IT_ZCPLT.
*----------------------------------------------------------------------*
*                    I N P U T  S C R E E N
*----------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK SELSCR WITH FRAME TITLE TEXT-001.
RANGES: R_MATNR FOR V_MATNR.
RANGES: R_WERKS FOR V_WERKS.
RANGES: R_KONOB FOR V_KONOB.
RANGES: R_ZCPLT FOR V_ZCPLT.
* Select Options
SELECT-OPTIONS: S_MATNR FOR V_MATNR NO-EXTENSION,     " Material
                S_WERKS FOR V_WERKS NO-EXTENSION,     " Plant
                S_KONOB FOR V_KONOB NO-EXTENSION,
                                        " Product allocation object
                S_ZCPLT FOR V_ZCPLT NO-EXTENSION.     " Plant
SELECTION-SCREEN END OF BLOCK SELSCR.
*----------------------------------------------------------------------*
*              A T  S E L E C T I O N  S C R E E N
*----------------------------------------------------------------------*
AT SELECTION-SCREEN.
* Validate user inputs
  PERFORM FRM_VALIDATIONS.
*----------------------------------------------------------------------*
*             S T A R T  O F  S E L E C T I O N
*----------------------------------------------------------------------*
START-OF-SELECTION.
* Fetch Data from Data Base
  PERFORM FRM_GET_DATA.
*----------------------------------------------------------------------*
*                      S U B  R O U T I N E S
*----------------------------------------------------------------------*
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  frm_get_data
*&amp;amp;---------------------------------------------------------------------*
*       Call the function module VIEW_MAINTENNACE_CALL to get data
*       based on selection criteria
*----------------------------------------------------------------------*
FORM FRM_GET_DATA .
  CALL FUNCTION 'VIEW_GET_DDIC_INFO'
    EXPORTING
      VIEWNAME = 'ZTAB'
    TABLES
      X_HEADER = IT_HEADER
      X_NAMTAB = IT_NAMTAB
      SELLIST  = IT_RANGETAB
    EXCEPTIONS
      NO_TVDIR_ENTRY = 1
      TABLE_NOT_FOUND = 2.
  IF SY-SUBRC &amp;lt;&amp;gt; 0.
    MESSAGE E002 WITH 'Error in ZTAB table'(005).
  ENDIF.
  CLEAR: IT_RANGETAB,
         IT_RANGETAB[].
  LOOP AT IT_NAMTAB.
    CASE IT_NAMTAB-VIEWFIELD.
      WHEN 'MATNR'.
        CLEAR IT_RANGETAB.
        IT_RANGETAB-VIEWFIELD = 'MATNR'.
        IT_RANGETAB-TABIX     = SY-TABIX.
        IT_RANGETAB-DDIC      = IT_NAMTAB-READONLY.
        LOOP AT S_MATNR.
          CASE S_MATNR-OPTION.
            WHEN 'EQ'.
              IT_RANGETAB-AND_OR    = 'AND'.
              IT_RANGETAB-OPERATOR  = 'EQ'.
              IT_RANGETAB-VALUE     = S_MATNR-LOW.
              APPEND IT_RANGETAB.
            WHEN 'BT'.
              IT_RANGETAB-AND_OR    = 'AND'.
              IT_RANGETAB-OPERATOR = 'GE'.
              IT_RANGETAB-VALUE     = S_MATNR-LOW.
              APPEND IT_RANGETAB.
              IT_RANGETAB-AND_OR    = 'AND'.
              IT_RANGETAB-OPERATOR = 'LE'.
              IT_RANGETAB-VALUE     = S_MATNR-HIGH.
              APPEND IT_RANGETAB.
            WHEN 'NB'.
              CLEAR: R_MATNR,
                     R_MATNR[].
              R_MATNR-SIGN = 'I'.
              R_MATNR-OPTION = 'BT'.
              R_MATNR-LOW = S_MATNR-LOW.
              R_MATNR-HIGH = S_MATNR-HIGH.
              APPEND R_MATNR.
              SELECT MATNR
                     INTO TABLE IT_MATNR
                     FROM ZTAB
                     WHERE MATNR IN R_MATNR.
              DELETE ADJACENT DUPLICATES FROM IT_MATNR COMPARING MATNR
.
              LOOP AT IT_MATNR.
                IT_RANGETAB-AND_OR    = 'AND'.
                IT_RANGETAB-OPERATOR = 'NE'.
                IT_RANGETAB-VALUE    = IT_MATNR-MATNR.
                APPEND IT_RANGETAB.
              ENDLOOP.
            WHEN 'NE'.
              IT_RANGETAB-AND_OR    = 'AND'.
              IT_RANGETAB-OPERATOR  = 'NE'.
              IT_RANGETAB-VALUE     = S_MATNR-LOW.
              APPEND IT_RANGETAB.
            WHEN OTHERS.
              IT_RANGETAB-AND_OR    = 'AND'.
              IT_RANGETAB-OPERATOR = S_MATNR-OPTION.
              IT_RANGETAB-VALUE    = S_MATNR-LOW.
              APPEND IT_RANGETAB.
          ENDCASE.
        ENDLOOP.

      WHEN 'WERKS'.
        CLEAR IT_RANGETAB.
        IT_RANGETAB-VIEWFIELD = 'WERKS'.
        IT_RANGETAB-TABIX     = SY-TABIX.
        IT_RANGETAB-DDIC      = IT_NAMTAB-READONLY.
        LOOP AT S_WERKS.
          CASE S_WERKS-OPTION.
            WHEN 'EQ'.
              IT_RANGETAB-AND_OR    = 'AND'.
              IT_RANGETAB-OPERATOR  = 'EQ'.
              IT_RANGETAB-VALUE     = S_WERKS-LOW.
              APPEND IT_RANGETAB.
            WHEN 'BT'.
              IT_RANGETAB-AND_OR    = 'AND'.
              IT_RANGETAB-OPERATOR = 'GE'.
              IT_RANGETAB-VALUE     = S_WERKS-LOW.
              APPEND IT_RANGETAB.
              IT_RANGETAB-AND_OR    = 'AND'.
              IT_RANGETAB-OPERATOR = 'LE'.
              IT_RANGETAB-VALUE     = S_WERKS-HIGH.
              APPEND IT_RANGETAB.
            WHEN 'NB'.
              CLEAR: R_WERKS,
                     R_WERKS[].
              R_WERKS-SIGN = 'I'.
              R_WERKS-OPTION = 'BT'.
              R_WERKS-LOW = S_WERKS-LOW.
              R_WERKS-HIGH = S_WERKS-HIGH.
              APPEND R_WERKS.
              SELECT WERKS
                     INTO TABLE IT_WERKS
                     FROM ZTAB
                     WHERE WERKS IN R_WERKS.
              DELETE ADJACENT DUPLICATES FROM IT_WERKS COMPARING WERKS
.
              LOOP AT IT_WERKS.
                IT_RANGETAB-AND_OR    = 'AND'.
                IT_RANGETAB-OPERATOR = 'NE'.
                IT_RANGETAB-VALUE    = IT_WERKS-WERKS.
                APPEND IT_RANGETAB.
              ENDLOOP.
            WHEN 'NE'.
              IT_RANGETAB-AND_OR    = 'AND'.
              IT_RANGETAB-OPERATOR  = 'NE'.
              IT_RANGETAB-VALUE     = S_WERKS-LOW.
              APPEND IT_RANGETAB.
            WHEN OTHERS.
              IT_RANGETAB-AND_OR    = 'AND'.
              IT_RANGETAB-OPERATOR = S_WERKS-OPTION.
              IT_RANGETAB-VALUE    = S_WERKS-LOW.
              APPEND IT_RANGETAB.
          ENDCASE.
        ENDLOOP.

      WHEN 'KONOB'.
        CLEAR IT_RANGETAB.
        IT_RANGETAB-VIEWFIELD = 'KONOB'.
        IT_RANGETAB-TABIX     = SY-TABIX.
        IT_RANGETAB-DDIC      = IT_NAMTAB-READONLY.
        LOOP AT S_KONOB.
          CASE S_KONOB-OPTION.
            WHEN 'EQ'.
              IT_RANGETAB-AND_OR    = 'AND'.
              IT_RANGETAB-OPERATOR  = 'EQ'.
              IT_RANGETAB-VALUE     = S_KONOB-LOW.
              APPEND IT_RANGETAB.
            WHEN 'BT'.
              IT_RANGETAB-AND_OR    = 'AND'.
              IT_RANGETAB-OPERATOR = 'GE'.
              IT_RANGETAB-VALUE     = S_KONOB-LOW.
              APPEND IT_RANGETAB.
              IT_RANGETAB-AND_OR    = 'AND'.
              IT_RANGETAB-OPERATOR = 'LE'.
              IT_RANGETAB-VALUE     = S_KONOB-HIGH.
              APPEND IT_RANGETAB.
            WHEN 'NB'.
              CLEAR: R_KONOB,
                     R_KONOB[].
              R_KONOB-SIGN = 'I'.
              R_KONOB-OPTION = 'BT'.
              R_KONOB-LOW = S_KONOB-LOW.
              R_KONOB-HIGH = S_KONOB-HIGH.
              APPEND R_KONOB.
              SELECT KONOB
                     INTO TABLE IT_KONOB
                     FROM ZTAB
                     WHERE KONOB IN R_KONOB.
              DELETE ADJACENT DUPLICATES FROM IT_KONOB COMPARING KONOB
.
              LOOP AT IT_KONOB.
                IT_RANGETAB-AND_OR    = 'AND'.
                IT_RANGETAB-OPERATOR = 'NE'.
                IT_RANGETAB-VALUE    = IT_KONOB-KONOB.
                APPEND IT_RANGETAB.
              ENDLOOP.
            WHEN 'NE'.
              IT_RANGETAB-AND_OR    = 'AND'.
              IT_RANGETAB-OPERATOR  = 'NE'.
              IT_RANGETAB-VALUE     = S_KONOB-LOW.
              APPEND IT_RANGETAB.
            WHEN OTHERS.
              IT_RANGETAB-AND_OR    = 'AND'.
              IT_RANGETAB-OPERATOR = S_KONOB-OPTION.
              IT_RANGETAB-VALUE    = S_KONOB-LOW.
              APPEND IT_RANGETAB.
          ENDCASE.
        ENDLOOP.

      WHEN 'ZCPLT'.
        CLEAR IT_RANGETAB.
        IT_RANGETAB-VIEWFIELD = 'ZCPLT'.
        IT_RANGETAB-TABIX     = SY-TABIX.
        IT_RANGETAB-DDIC      = IT_NAMTAB-READONLY.
        LOOP AT S_ZCPLT.
          CASE S_ZCPLT-OPTION.
            WHEN 'EQ'.
              IT_RANGETAB-AND_OR    = 'AND'.
              IT_RANGETAB-OPERATOR  = 'EQ'.
              IT_RANGETAB-VALUE     = S_ZCPLT-LOW.
              APPEND IT_RANGETAB.
            WHEN 'BT'.
              IT_RANGETAB-AND_OR    = 'AND'.
              IT_RANGETAB-OPERATOR = 'GE'.
              IT_RANGETAB-VALUE     = S_ZCPLT-LOW.
              APPEND IT_RANGETAB.
              IT_RANGETAB-AND_OR    = 'AND'.
              IT_RANGETAB-OPERATOR = 'LE'.
              IT_RANGETAB-VALUE     = S_ZCPLT-HIGH.
              APPEND IT_RANGETAB.
            WHEN 'NB'.
              CLEAR: R_ZCPLT,
                     R_ZCPLT[].
              R_ZCPLT-SIGN = 'I'.
              R_ZCPLT-OPTION = 'BT'.
              R_ZCPLT-LOW = S_ZCPLT-LOW.
              R_ZCPLT-HIGH = S_ZCPLT-HIGH.
              APPEND R_ZCPLT.
              SELECT ZCPLT
                     INTO TABLE IT_ZCPLT
                     FROM ZTAB
                     WHERE ZCPLT IN R_ZCPLT.
              DELETE ADJACENT DUPLICATES FROM IT_ZCPLT COMPARING ZCPLT
.
              LOOP AT IT_ZCPLT.
                IT_RANGETAB-AND_OR    = 'AND'.
                IT_RANGETAB-OPERATOR = 'NE'.
                IT_RANGETAB-VALUE    = IT_ZCPLT-ZCPLT.
                APPEND IT_RANGETAB.
              ENDLOOP.
            WHEN 'NE'.
              IT_RANGETAB-AND_OR    = 'AND'.
              IT_RANGETAB-OPERATOR  = 'NE'.
              IT_RANGETAB-VALUE     = S_ZCPLT-LOW.
              APPEND IT_RANGETAB.
            WHEN OTHERS.
              IT_RANGETAB-AND_OR    = 'AND'.
              IT_RANGETAB-OPERATOR = S_ZCPLT-OPTION.
              IT_RANGETAB-VALUE    = S_ZCPLT-LOW.
              APPEND IT_RANGETAB.
          ENDCASE.
        ENDLOOP.
    ENDCASE.
  ENDLOOP.

  IF S_ZCPLT[] IS INITIAL.
    CALL FUNCTION 'VIEW_MAINTENANCE_CALL'
      EXPORTING
        ACTION      = 'U'
        VIEW_NAME   = 'ZTAB'
      TABLES
        DBA_SELLIST = IT_RANGETAB
      EXCEPTIONS
        CLIENT_REFERENCE                     = 1
        FOREIGN_LOCK                         = 2
        INVALID_ACTION                       = 3
        NO_CLIENTINDEPENDENT_AUTH            = 4
        NO_DATABASE_FUNCTION                 = 5
        NO_EDITOR_FUNCTION                   = 6
        NO_SHOW_AUTH                         = 7
        NO_TVDIR_ENTRY                       = 8
        NO_UPD_AUTH                          = 9
        ONLY_SHOW_ALLOWED                    = 10
        SYSTEM_FAILURE                       = 11
        UNKNOWN_FIELD_IN_DBA_SELLIST         = 12
        VIEW_NOT_FOUND                       = 13
        MAINTENANCE_PROHIBITED               = 14
        OTHERS                               = 15.
    IF SY-SUBRC &amp;lt;&amp;gt; 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
  ELSE.
    CALL FUNCTION 'VIEW_MAINTENANCE_CALL'
      EXPORTING
        ACTION      = 'U'
        VIEW_NAME   = 'ZTAB_ZTEST'
      TABLES
        DBA_SELLIST = IT_RANGETAB
      EXCEPTIONS
        CLIENT_REFERENCE                     = 1
        FOREIGN_LOCK                         = 2
        INVALID_ACTION                       = 3
        NO_CLIENTINDEPENDENT_AUTH            = 4
        NO_DATABASE_FUNCTION                 = 5
        NO_EDITOR_FUNCTION                   = 6
        NO_SHOW_AUTH                         = 7
        NO_TVDIR_ENTRY                       = 8
        NO_UPD_AUTH                          = 9
        ONLY_SHOW_ALLOWED                    = 10
        SYSTEM_FAILURE                       = 11
        UNKNOWN_FIELD_IN_DBA_SELLIST         = 12
        VIEW_NOT_FOUND                       = 13
        MAINTENANCE_PROHIBITED               = 14
        OTHERS                               = 15.
    IF SY-SUBRC &amp;lt;&amp;gt; 0.
      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
  ENDIF.
ENDFORM.                    " frm_get_data
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  frm_validations
*&amp;amp;---------------------------------------------------------------------*
*       Validating field values
*----------------------------------------------------------------------*
FORM FRM_VALIDATIONS .

* Material number should not be validated (10/17/2005)
*  CLEAR V_MATNR.
*  SELECT SINGLE MATNR
*                INTO V_MATNR
*                FROM MARA
*                WHERE MATNR IN S_MATNR.
*  IF SY-SUBRC &amp;lt;&amp;gt; 0.
*    MESSAGE E002 WITH 'Material not found'.
*  ENDIF.

  CLEAR V_WERKS.
  SELECT SINGLE WERKS
                INTO V_WERKS
                FROM T001W
                WHERE WERKS IN S_WERKS.
  IF SY-SUBRC &amp;lt;&amp;gt; 0.
    MESSAGE E002 WITH 'Plant (WERKS) not found'(002).
  ENDIF.
  CLEAR V_KONOB.
  SELECT SINGLE KONOB
                INTO V_KONOB
                FROM T190O
                WHERE KONOB IN S_KONOB.
  IF SY-SUBRC &amp;lt;&amp;gt; 0.
    MESSAGE E002 WITH ' Product allocation object not found'(003).
  ENDIF.
  CLEAR V_WERKS.
  SELECT SINGLE WERKS
                INTO V_WERKS
                FROM T001W
                WHERE WERKS IN S_ZCPLT.
  IF SY-SUBRC &amp;lt;&amp;gt; 0.
    MESSAGE E002 WITH 'Plant (ZCPLT) not found'(004).
  ENDIF.
ENDFORM.                    " frm_validations&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Dec 2005 20:25:55 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/need-sample-table-control-program/m-p/1095972#M102131</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-12-13T20:25:55Z</dc:date>
    </item>
    <item>
      <title>Re: Need sample table control program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/need-sample-table-control-program/m-p/1095973#M102132</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;in se11 generate table maintenance for your table and then try to do in the same way as i mentioned..&lt;/P&gt;&lt;P&gt;if you are not able to understand any thing please let me&lt;/P&gt;&lt;P&gt;know..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;vijay&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Dec 2005 20:28:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/need-sample-table-control-program/m-p/1095973#M102132</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-12-13T20:28:51Z</dc:date>
    </item>
    <item>
      <title>Re: Need sample table control program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/need-sample-table-control-program/m-p/1095974#M102133</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;sorry i didnot login from  morning.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Assuming you are in 4.6 and above version.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;create table Maintenance &lt;/P&gt;&lt;P&gt;go to se11&lt;/P&gt;&lt;P&gt;type in the table name and go in the change mode.&lt;/P&gt;&lt;P&gt;from the menu&lt;/P&gt;&lt;P&gt;utilites--&amp;gt; table maintenance generator&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;here give --&amp;gt; &lt;/P&gt;&lt;P&gt;authorization group = &amp;amp;NC&amp;amp;&lt;/P&gt;&lt;P&gt;function group name = same as table name&lt;/P&gt;&lt;P&gt;maintenance type --&amp;gt; select radio button  single step&lt;/P&gt;&lt;P&gt;overview screen = 100&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;then save and Generate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZTESTBMK .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tables : your table name here.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data : i_VIMEXCLFUN like VIMEXCLFUN occurs 0 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;start of slection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i_VIMEXCLFUN-function = 'AEND'.&lt;/P&gt;&lt;P&gt;append i_VIMEXCLFUN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'VIEW_MAINTENANCE_CALL'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    ACTION                               = 'U'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CORR_NUMBER                          = '          '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  GENERATE_MAINT_TOOL_IF_MISSING       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  SHOW_SELECTION_POPUP                 = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    VIEW_NAME                = your table name in quotes&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_WARNING_FOR_CLIENTINDEP           = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  RFC_DESTINATION_FOR_UPGRADE          = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CLIENT_FOR_UPGRADE                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  VARIANT_FOR_SELECTION                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  COMPLEX_SELCONDS_USED                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; TABLES&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DBA_SELLIST                          =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    EXCL_CUA_FUNCT                       =  i_VIMEXCLFUN.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CLIENT_REFERENCE                     = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FOREIGN_LOCK                         = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  INVALID_ACTION                       = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_CLIENTINDEPENDENT_AUTH            = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_DATABASE_FUNCTION                 = 5&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_EDITOR_FUNCTION                   = 6&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_SHOW_AUTH                         = 7&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_TVDIR_ENTRY                       = 8&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  NO_UPD_AUTH                          = 9&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ONLY_SHOW_ALLOWED                    = 10&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  SYSTEM_FAILURE                       = 11&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  UNKNOWN_FIELD_IN_DBA_SELLIST         = 12&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  VIEW_NOT_FOUND                       = 13&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                               = 14&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Dec 2005 21:33:45 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/need-sample-table-control-program/m-p/1095974#M102133</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-12-13T21:33:45Z</dc:date>
    </item>
    <item>
      <title>Re: Need sample table control program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/need-sample-table-control-program/m-p/1095975#M102134</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Murali Thanks for ur reply.I did the same through SE54 to link authorization group. But Iam getting the message as " table is cross client" when i click on change icon .Can you please tell me how to solve this.I really don't know where to look for this.If u need more detail mail me.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 Dec 2005 00:21:56 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/need-sample-table-control-program/m-p/1095975#M102134</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-12-14T00:21:56Z</dc:date>
    </item>
    <item>
      <title>Re: Need sample table control program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/need-sample-table-control-program/m-p/1095976#M102135</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;looks like the table which u have created does not have the &amp;lt;b&amp;gt;MANDT&amp;lt;/b&amp;gt; field in the table that is the reason for you getting the message is cross client.  If you want the data to be cross client this is fine. But if you do not want this to message to come up add &amp;lt;b&amp;gt;MANDT&amp;lt;/b&amp;gt; field as the first key field in the table redo the steps 1 and 2 again.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 Dec 2005 11:26:43 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/need-sample-table-control-program/m-p/1095976#M102135</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-12-14T11:26:43Z</dc:date>
    </item>
    <item>
      <title>Re: Need sample table control program</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/need-sample-table-control-program/m-p/1095977#M102136</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Murali You are correct my team member didn't create mandt field in the table.Thanks alot Murali by helping me in the right time.Iam closing this issue by rewarding points to u.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 Dec 2005 21:31:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/need-sample-table-control-program/m-p/1095977#M102136</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-12-14T21:31:20Z</dc:date>
    </item>
  </channel>
</rss>

