<?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: OOPS in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/oops/m-p/2094726#M435950</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Deepa,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here i am giving one example to u check it. It is very helpful to u.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Report ZEXAMPLE3&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZTMW_WRKBNCH_TABS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:OKCODE LIKE SY-UCOMM. " ok code for screen 101&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:SCRNO(4) TYPE N. "FOR 101 SCREEN&lt;/P&gt;&lt;P&gt;DATA:T_NUM(2),SCR(4).&lt;/P&gt;&lt;P&gt;SELECT SINGLE WORK_BENCH_TAB INTO T_NUM FROM ZTMW_WRKBNCH_TAB&lt;/P&gt;&lt;P&gt;WHERE TAB_STATUS = 'X'.&lt;/P&gt;&lt;P&gt;IF STRLEN( T_NUM ) = 1.&lt;/P&gt;&lt;P&gt;CONCATENATE '300' T_NUM INTO SCR.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;CONCATENATE '30' T_NUM INTO SCR.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;SCRNO = SCR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONTROLS TABS TYPE TABSTRIP. "TAB STRIP IN SCREEN 101&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform ref_texts.&lt;/P&gt;&lt;P&gt;SET SCREEN 0101.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: h LIKE d020s,&lt;/P&gt;&lt;P&gt;f LIKE d021s OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;e LIKE d022s OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;m LIKE d023s OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;f1(100), f2(100), f3(100), dynpro_id(44).&lt;/P&gt;&lt;P&gt;DATA:TAB(5) TYPE C,&lt;/P&gt;&lt;P&gt;tab_num type ztmw_wrkbnch_tab-WORK_BENCH_TAB,&lt;/P&gt;&lt;P&gt;tab_name type ztmw_wrkbnch_tab-TAB_NAME,&lt;/P&gt;&lt;P&gt;ACT_TAB(5) TYPE C,&lt;/P&gt;&lt;P&gt;TAB_STATUS TYPE ztmw_wrkbnch_tab-TAB_STATUS,NUM(2).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:GT_ZTMW_HEADER_HIS TYPE TABLE OF ZTMW_HEADER_HIS,&lt;/P&gt;&lt;P&gt;GT_ZTMW_HEADER_WIP TYPE TABLE OF ZTMW_HEADER_WIP,&lt;/P&gt;&lt;P&gt;G_CONTAINER TYPE SCRFNAME VALUE 'TABC',&lt;/P&gt;&lt;P&gt;GRID1 TYPE REF TO CL_GUI_ALV_GRID,&lt;/P&gt;&lt;P&gt;G_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:LAYOUT TYPE LVC_S_LAYO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:FCAT TYPE LVC_T_FCAT.&lt;/P&gt;&lt;P&gt;Field-symbols: &amp;lt;lfs_fieldcat&amp;gt; TYPE lvc_s_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;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_0101 OUTPUT&lt;/P&gt;&lt;P&gt;MODULE STATUS_0101 OUTPUT.&lt;/P&gt;&lt;P&gt;SET PF-STATUS 'MENU1'.&lt;/P&gt;&lt;P&gt;SET TITLEBAR 'TIT1'.&lt;/P&gt;&lt;P&gt;DO 20 TIMES.&lt;/P&gt;&lt;P&gt;NUM = SY-INDEX.&lt;/P&gt;&lt;P&gt;CONCATENATE 'TAB' NUM INTO ACT_TAB.&lt;/P&gt;&lt;P&gt;SELECT TAB_STATUS INTO TAB_STATUS FROM ZTMW_WRKBNCH_TAB&lt;/P&gt;&lt;P&gt;WHERE WORK_BENCH_TAB = NUM.&lt;/P&gt;&lt;P&gt;IF tab_status = 'X'.&lt;/P&gt;&lt;P&gt;LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;IF SCREEN-NAME = ACT_TAB.&lt;/P&gt;&lt;P&gt;SCREEN-INVISIBLE = '0'.&lt;/P&gt;&lt;P&gt;MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;IF SCREEN-NAME = ACT_TAB.&lt;/P&gt;&lt;P&gt;SCREEN-INVISIBLE = '1'.&lt;/P&gt;&lt;P&gt;MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;IF SCREEN-NAME = ACT_TAB.&lt;/P&gt;&lt;P&gt;SCREEN-INVISIBLE = '1'.&lt;/P&gt;&lt;P&gt;MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE. " STATUS_0101 OUTPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Module USER_COMMAND_0101 INPUT&lt;/P&gt;&lt;P&gt;MODULE USER_COMMAND_0101 INPUT.&lt;/P&gt;&lt;P&gt;CASE OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB1'.&lt;/P&gt;&lt;P&gt;SCRNO = 3001.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB2'.&lt;/P&gt;&lt;P&gt;SCRNO = 3002.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB3'.&lt;/P&gt;&lt;P&gt;SCRNO = 3003.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB4'.&lt;/P&gt;&lt;P&gt;SCRNO = 3004.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB5'.&lt;/P&gt;&lt;P&gt;SCRNO = 3005.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB6'.&lt;/P&gt;&lt;P&gt;SCRNO = 3006.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB7'.&lt;/P&gt;&lt;P&gt;SCRNO = 3007.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB8'.&lt;/P&gt;&lt;P&gt;SCRNO = 3008.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB9'.&lt;/P&gt;&lt;P&gt;SCRNO = 3009.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB10'.&lt;/P&gt;&lt;P&gt;SCRNO = 3010.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB11'.&lt;/P&gt;&lt;P&gt;SCRNO = 3011.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB12'.&lt;/P&gt;&lt;P&gt;SCRNO = 3012.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB13'.&lt;/P&gt;&lt;P&gt;SCRNO = 3013.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB14'.&lt;/P&gt;&lt;P&gt;SCRNO = 3014.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB15'.&lt;/P&gt;&lt;P&gt;SCRNO = 3015.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB16'.&lt;/P&gt;&lt;P&gt;SCRNO = 3016.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB17'.&lt;/P&gt;&lt;P&gt;SCRNO = 3017.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB18'.&lt;/P&gt;&lt;P&gt;SCRNO = 3018.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB19'.&lt;/P&gt;&lt;P&gt;SCRNO = 3019.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB20'.&lt;/P&gt;&lt;P&gt;SCRNO = 3020.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'BACK'.&lt;/P&gt;&lt;P&gt;set screen 0.&lt;/P&gt;&lt;P&gt;WHEN 'REFRESH'.&lt;/P&gt;&lt;P&gt;perform ref_texts.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;ENDMODULE. " USER_COMMAND_0101 INPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM ref_texts .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Format Screen ID&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;dynpro_id = sy-repid.&lt;/P&gt;&lt;P&gt;dynpro_id+40(4) = '0101'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Import Screen data in tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IMPORT DYNPRO h f e m ID dynpro_id.&lt;/P&gt;&lt;P&gt;CHECK sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Modify Screen Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT WORK_BENCH_TAB TAB_NAME into (tab_num,tab_name)&lt;/P&gt;&lt;P&gt;FROM ZTMW_WRKBNCH_TAB WHERE TAB_STATUS = 'X'.&lt;/P&gt;&lt;P&gt;CONCATENATE 'TAB' tab_num INTO TAB.&lt;/P&gt;&lt;P&gt;LOOP AT f WHERE fnam EQ TAB.&lt;/P&gt;&lt;P&gt;f-stxt = tab_name.&lt;/P&gt;&lt;P&gt;MODIFY f.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CHECK sy-subrc EQ 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Export Screen Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;EXPORT DYNPRO h f e m ID dynpro_id.&lt;/P&gt;&lt;P&gt;CHECK sy-subrc EQ 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Generate Screen for changes to take effect&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;GENERATE DYNPRO h f e m ID dynpro_id MESSAGE f1 LINE f2 WORD f3.&lt;/P&gt;&lt;P&gt;ENDFORM. " ref_texts&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Module STATUS_3007 OUTPUT&lt;/P&gt;&lt;P&gt;MODULE GRID OUTPUT.&lt;/P&gt;&lt;P&gt;IF G_CUSTOM_CONTAINER IS INITIAL.&lt;/P&gt;&lt;P&gt;CREATE OBJECT G_CUSTOM_CONTAINER&lt;/P&gt;&lt;P&gt;EXPORTING CONTAINER_NAME = G_CONTAINER.&lt;/P&gt;&lt;P&gt;CREATE OBJECT GRID1&lt;/P&gt;&lt;P&gt;EXPORTING I_PARENT = G_CUSTOM_CONTAINER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM LAYOUT.&lt;/P&gt;&lt;P&gt;PERFORM FIELD_CAT.&lt;/P&gt;&lt;P&gt;PERFORM FILL_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD GRID1-&amp;gt;SET_TABLE_FOR_FIRST_DISPLAY&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;IS_LAYOUT = LAYOUT&lt;/P&gt;&lt;P&gt;CHANGING&lt;/P&gt;&lt;P&gt;IT_FIELDCATALOG = FCAT[]&lt;/P&gt;&lt;P&gt;IT_OUTTAB = GT_ZTMW_HEADER_HIS.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDMODULE. " STATUS_3007 OUTPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form FIELD_CAT&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;FORM FIELD_CAT.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;I_STRUCTURE_NAME = 'ZTMW_HEADER_IO'&lt;/P&gt;&lt;P&gt;CHANGING&lt;/P&gt;&lt;P&gt;CT_FIELDCAT = FCAT[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT FCAT ASSIGNING &amp;lt;lfs_fieldcat&amp;gt;.&lt;/P&gt;&lt;P&gt;CASE &amp;lt;lfs_fieldcat&amp;gt;-fieldname.&lt;/P&gt;&lt;P&gt;WHEN 'TRANSACTION_NUM'.&lt;/P&gt;&lt;P&gt;&amp;lt;lfs_fieldcat&amp;gt;-coltext = 'IDOC no.'.&lt;/P&gt;&lt;P&gt;WHEN 'FEED_CODE'.&lt;/P&gt;&lt;P&gt;&amp;lt;lfs_fieldcat&amp;gt;-coltext = 'Feed Code'.&lt;/P&gt;&lt;P&gt;WHEN 'BOL_NUM'.&lt;/P&gt;&lt;P&gt;&amp;lt;lfs_fieldcat&amp;gt;-coltext = 'EXT. BOL'.&lt;/P&gt;&lt;P&gt;WHEN 'TERMINAL_CODE'.&lt;/P&gt;&lt;P&gt;&amp;lt;lfs_fieldcat&amp;gt;-coltext = 'Unc.Term Cd'.&lt;/P&gt;&lt;P&gt;WHEN 'TRANSCATION_DATE'.&lt;/P&gt;&lt;P&gt;&amp;lt;lfs_fieldcat&amp;gt;-coltext = 'Trans Date'.&lt;/P&gt;&lt;P&gt;WHEN 'TRANSCATION_TIME'.&lt;/P&gt;&lt;P&gt;&amp;lt;lfs_fieldcat&amp;gt;-coltext = 'Trans Time'.&lt;/P&gt;&lt;P&gt;WHEN 'TRANS_STATUS'.&lt;/P&gt;&lt;P&gt;&amp;lt;lfs_fieldcat&amp;gt;-coltext = 'BOL Status'.&lt;/P&gt;&lt;P&gt;WHEN 'VOID_STATUS'.&lt;/P&gt;&lt;P&gt;&amp;lt;lfs_fieldcat&amp;gt;-coltext = 'Void Status'.&lt;/P&gt;&lt;P&gt;WHEN 'HOLD_STATUS'.&lt;/P&gt;&lt;P&gt;&amp;lt;lfs_fieldcat&amp;gt;-coltext = 'Hold Status'.&lt;/P&gt;&lt;P&gt;WHEN 'PLANT'.&lt;/P&gt;&lt;P&gt;&amp;lt;lfs_fieldcat&amp;gt;-coltext = 'Plant'.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM. "FIELD_CAT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form FILL_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FILL_DATA.&lt;/P&gt;&lt;P&gt;CLEAR GT_ZTMW_HEADER_HIS.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IF WIP_ONLY = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SELECT * FROM ZTMW_HEADER_WIP INTO TABLE GT_ZTMW_HEADER_HIS.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;UP TO MAX_HITS ROWS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ELSEIF HIS_ONLY = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SELECT * FROM ZTMW_HEADER_HIS INTO TABLE GT_ZTMW_HEADER_HIS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;UP TO MAX_HITS ROWS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SELECT * FROM ZTMW_HEADER_HIS INTO TABLE GT_ZTMW_HEADER_HIS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SELECT * FROM ZTMW_HEADER_WIP INTO TABLE GT_ZTMW_HEADER_WIP.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INSERT LINES OF GT_ZTMW_HEADER_HIS INTO TABLE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;GT_ZTMW_HEADER_WIP.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SORT GT_ZTMW_HEADER_WIP.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CLEAR GT_ZTMW_HEADER_HIS[].&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INSERT LINES OF GT_ZTMW_HEADER_WIP FROM 1 TO MAX_HITS INTO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TABLE GT_ZTMW_HEADER_HIS .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDFORM. "FILL_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM LAYOUT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LAYOUT-EDIT = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;layout-grid_title = 'List Of Bills Of Lading'.&lt;/P&gt;&lt;P&gt;ENDFORM. "LAYOUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this resolves your query.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward all the helpful answers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 19 Apr 2007 06:05:57 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-04-19T06:05:57Z</dc:date>
    <item>
      <title>OOPS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/oops/m-p/2094724#M435948</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;Can any one send real time OOPS object either report or form driver programs&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;but pz  &amp;lt;b&amp;gt;dont send&amp;lt;/b&amp;gt;  the ALV OOPS reports&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Deepa&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Apr 2007 06:03:27 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/oops/m-p/2094724#M435948</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-19T06:03:27Z</dc:date>
    </item>
    <item>
      <title>Re: OOPS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/oops/m-p/2094725#M435949</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;OOPs ABAP uses Classes and Interfaces which uses Methods and events.&lt;/P&gt;&lt;P&gt;If you have Java skills it is advantage for you.&lt;/P&gt;&lt;P&gt;There are Local classes as well as Global Classes.&lt;/P&gt;&lt;P&gt;Local classes we can work in SE38 straight away.&lt;/P&gt;&lt;P&gt;But mostly it is better to use the Global classes.&lt;/P&gt;&lt;P&gt;Global Classes or Interfaces are to be created in SE24.&lt;/P&gt;&lt;P&gt;SAP already given some predefined classes and Interfaces.&lt;/P&gt;&lt;P&gt;This OOPS concepts very useful for writing BADI's also.&lt;/P&gt;&lt;P&gt;So first create a class in SE 24.&lt;/P&gt;&lt;P&gt;Define attributes, Methods for that class.&lt;/P&gt;&lt;P&gt;Define parameters for that Method.&lt;/P&gt;&lt;P&gt;You can define event handlers also to handle the messages.&lt;/P&gt;&lt;P&gt;After creation in each method write the code.&lt;/P&gt;&lt;P&gt;Methods are similar to ABAP PERFORM -FORM statements.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After the creation of CLass and methods come to SE38 and create the program.&lt;/P&gt;&lt;P&gt;In the program create a object type ref to that class and with the help of that Object call the methods of that Class and display the data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Example:&lt;/P&gt;&lt;P&gt;REPORT sapmz_hf_alv_grid .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Type pool for icons - used in the toolbar&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPE-POOLS: icon.&lt;/P&gt;&lt;P&gt;TABLES: zsflight.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To allow the declaration of o_event_receiver before the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;lcl_event_receiver class is defined, decale it as deferred in the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;start of the program&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLASS lcl_event_receiver DEFINITION DEFERRED.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;G L O B A L I N T E R N A L T A B L E S&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*DATA: gi_sflight TYPE STANDARD TABLE OF sflight.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To include a traffic light and/or color a line the structure of the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;table must include fields for the traffic light and/or the color&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES: BEGIN OF st_sflight.&lt;/P&gt;&lt;P&gt;INCLUDE STRUCTURE zsflight.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Field for traffic light&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;TYPES: traffic_light TYPE c.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Field for line color&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;types: line_color(4) type c.&lt;/P&gt;&lt;P&gt;TYPES: END OF st_sflight.&lt;/P&gt;&lt;P&gt;TYPES: tt_sflight TYPE STANDARD TABLE OF st_sflight.&lt;/P&gt;&lt;P&gt;DATA: gi_sflight TYPE tt_sflight.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;G L O B A L D A T A&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;DATA: ok_code LIKE sy-ucomm,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Work area for internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;g_wa_sflight TYPE st_sflight,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ALV control: Layout structure&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;gs_layout TYPE lvc_s_layo.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Declare reference variables to the ALV grid and the container&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;go_grid TYPE REF TO cl_gui_alv_grid,&lt;/P&gt;&lt;P&gt;go_custom_container TYPE REF TO cl_gui_custom_container,&lt;/P&gt;&lt;P&gt;o_event_receiver TYPE REF TO lcl_event_receiver.&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Work area for screen 200&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;g_screen200 LIKE zsflight.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Data for storing information about selected rows in the grid&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;gi_index_rows TYPE lvc_t_row,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Information about 1 row&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;g_selected_row LIKE lvc_s_row.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;C L A S S E S&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;CLASS lcl_event_receiver DEFINITION.&lt;/P&gt;&lt;P&gt;PUBLIC SECTION.&lt;/P&gt;&lt;P&gt;METHODS:&lt;/P&gt;&lt;P&gt;handle_toolbar FOR EVENT toolbar OF cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;e_object e_interactive,&lt;/P&gt;&lt;P&gt;handle_user_command FOR EVENT user_command OF cl_gui_alv_grid&lt;/P&gt;&lt;P&gt;IMPORTING e_ucomm.&lt;/P&gt;&lt;P&gt;ENDCLASS.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CLASS lcl_event_receiver IMPLEMENTATION&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;CLASS lcl_event_receiver IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;METHOD handle_toolbar.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Event handler method for event toolbar.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CONSTANTS:&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Constants for button type&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;c_button_normal TYPE i VALUE 0,&lt;/P&gt;&lt;P&gt;c_menu_and_default_button TYPE i VALUE 1,&lt;/P&gt;&lt;P&gt;c_menu TYPE i VALUE 2,&lt;/P&gt;&lt;P&gt;c_separator TYPE i VALUE 3,&lt;/P&gt;&lt;P&gt;c_radio_button TYPE i VALUE 4,&lt;/P&gt;&lt;P&gt;c_checkbox TYPE i VALUE 5,&lt;/P&gt;&lt;P&gt;c_menu_entry TYPE i VALUE 6.&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;ls_toolbar TYPE stb_button.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Append seperator to the normal toolbar&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLEAR ls_toolbar.&lt;/P&gt;&lt;P&gt;MOVE c_separator TO ls_toolbar-butn_type..&lt;/P&gt;&lt;P&gt;APPEND ls_toolbar TO e_object-&amp;gt;mt_toolbar.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Append a new button that to the toolbar. Use E_OBJECT of&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;event toolbar. E_OBJECT is of type CL_ALV_EVENT_TOOLBAR_SET.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This class has one attribute MT_TOOLBAR which is of table type&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TTB_BUTTON. The structure is STB_BUTTON&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLEAR ls_toolbar.&lt;/P&gt;&lt;P&gt;MOVE 'CHANGE' TO ls_toolbar-function.&lt;/P&gt;&lt;P&gt;MOVE icon_change TO ls_toolbar-icon.&lt;/P&gt;&lt;P&gt;MOVE 'Change flight' TO ls_toolbar-quickinfo.&lt;/P&gt;&lt;P&gt;MOVE 'Change' TO ls_toolbar-text.&lt;/P&gt;&lt;P&gt;MOVE ' ' TO ls_toolbar-disabled.&lt;/P&gt;&lt;P&gt;APPEND ls_toolbar TO e_object-&amp;gt;mt_toolbar.&lt;/P&gt;&lt;P&gt;ENDMETHOD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;METHOD handle_user_command.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Handle own functions defined in the toolbar&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CASE e_ucomm.&lt;/P&gt;&lt;P&gt;WHEN 'CHANGE'.&lt;/P&gt;&lt;P&gt;PERFORM change_flight.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LEAVE TO SCREEN 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;ENDMETHOD.&lt;/P&gt;&lt;P&gt;ENDCLASS.&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;S T A R T - O F - S E L E C T I O N.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;SET SCREEN '100'.&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;P&gt;MODULE user_command_0100 INPUT.&lt;/P&gt;&lt;P&gt;CASE ok_code.&lt;/P&gt;&lt;P&gt;WHEN 'EXIT'.&lt;/P&gt;&lt;P&gt;LEAVE TO SCREEN 0.&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 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;MODULE status_0100 OUTPUT.&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For parameter IS_VARIANT that is sued to set up options for storing&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the grid layout as a variant in method set_table_for_first_display&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;l_layout TYPE disvariant,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Utillity field&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;l_lines TYPE i.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;After returning from screen 200 the line that was selected before&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;going to screen 200, should be selected again. The table gi_index_rows&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;was the output table from the GET_SELECTED_ROWS method in form&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CHANGE_FLIGHT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DESCRIBE TABLE gi_index_rows LINES l_lines.&lt;/P&gt;&lt;P&gt;IF l_lines &amp;gt; 0.&lt;/P&gt;&lt;P&gt;CALL METHOD go_grid-&amp;gt;set_selected_rows&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;it_index_rows = gi_index_rows.&lt;/P&gt;&lt;P&gt;CALL METHOD cl_gui_cfw=&amp;gt;flush.&lt;/P&gt;&lt;P&gt;REFRESH gi_index_rows.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read data and create objects&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF go_custom_container IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read data from datbase table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;PERFORM get_data.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create objects for container and ALV grid&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CREATE OBJECT go_custom_container&lt;/P&gt;&lt;P&gt;EXPORTING container_name = 'ALV_CONTAINER'.&lt;/P&gt;&lt;P&gt;CREATE OBJECT go_grid&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;i_parent = go_custom_container.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create object for event_receiver class&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;and set handlers&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CREATE OBJECT o_event_receiver.&lt;/P&gt;&lt;P&gt;SET HANDLER o_event_receiver-&amp;gt;handle_user_command FOR go_grid.&lt;/P&gt;&lt;P&gt;SET HANDLER o_event_receiver-&amp;gt;handle_toolbar FOR go_grid.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Layout (Variant) for ALV grid&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;l_layout-report = sy-repid. "Layout fo report&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Setup the grid layout using a variable of structure lvc_s_layo&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set grid title&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;gs_layout-grid_title = 'Flights'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selection mode - Single row without buttons&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;(This is the default mode&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;gs_layout-sel_mode = 'B'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Name of the exception field (Traffic light field) and the color&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;field + set the exception and color field of the table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;gs_layout-excp_fname = 'TRAFFIC_LIGHT'.&lt;/P&gt;&lt;P&gt;gs_layout-info_fname = 'LINE_COLOR'.&lt;/P&gt;&lt;P&gt;LOOP AT gi_sflight INTO g_wa_sflight.&lt;/P&gt;&lt;P&gt;IF g_wa_sflight-paymentsum &amp;lt; 100000.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Value of traffic light field&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;g_wa_sflight-traffic_light = '1'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Value of color field:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;C = Color, 6=Color 1=Intesified on, 0: Inverse display off&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;g_wa_sflight-line_color = 'C610'.&lt;/P&gt;&lt;P&gt;ELSEIF g_wa_sflight-paymentsum =&amp;gt; 100000 AND&lt;/P&gt;&lt;P&gt;g_wa_sflight-paymentsum &amp;lt; 1000000.&lt;/P&gt;&lt;P&gt;g_wa_sflight-traffic_light = '2'.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;g_wa_sflight-traffic_light = '3'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;MODIFY gi_sflight FROM g_wa_sflight.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Grid setup for first display&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL METHOD go_grid-&amp;gt;set_table_for_first_display&lt;/P&gt;&lt;P&gt;EXPORTING i_structure_name = 'SFLIGHT'&lt;/P&gt;&lt;P&gt;is_variant = l_layout&lt;/P&gt;&lt;P&gt;i_save = 'A'&lt;/P&gt;&lt;P&gt;is_layout = gs_layout&lt;/P&gt;&lt;P&gt;CHANGING it_outtab = gi_sflight.&lt;/P&gt;&lt;P&gt;*-- End of grid setup -&lt;/P&gt;&lt;HR originaltext="------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Raise event toolbar to show the modified toolbar&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL METHOD go_grid-&amp;gt;set_toolbar_interactive.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set focus to the grid. This is not necessary in this&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;example as there is only one control on the screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL METHOD cl_gui_control=&amp;gt;set_focus EXPORTING control = go_grid.&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 USER_COMMAND_0200 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;MODULE user_command_0200 INPUT.&lt;/P&gt;&lt;P&gt;CASE ok_code.&lt;/P&gt;&lt;P&gt;WHEN 'EXIT200'.&lt;/P&gt;&lt;P&gt;LEAVE TO SCREEN 100.&lt;/P&gt;&lt;P&gt;WHEN'SAVE'.&lt;/P&gt;&lt;P&gt;PERFORM save_changes.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;ENDMODULE. " USER_COMMAND_0200 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; Form get_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_data.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read data from table SFLIGHT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SELECT *&lt;/P&gt;&lt;P&gt;FROM zsflight&lt;/P&gt;&lt;P&gt;INTO TABLE gi_sflight.&lt;/P&gt;&lt;P&gt;ENDFORM. " load_data_into_grid&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form change_flight&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;Reads the contents of the selected row in the grid, ans transfers&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;the data to screen 200, where it can be changed and saved.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM change_flight.&lt;/P&gt;&lt;P&gt;DATA:l_lines TYPE i.&lt;/P&gt;&lt;P&gt;REFRESH gi_index_rows.&lt;/P&gt;&lt;P&gt;CLEAR g_selected_row.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read index of selected rows&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL METHOD go_grid-&amp;gt;get_selected_rows&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;et_index_rows = gi_index_rows.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check if any row are selected at all. If not&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;table gi_index_rows will be empty&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DESCRIBE TABLE gi_index_rows LINES l_lines.&lt;/P&gt;&lt;P&gt;IF l_lines = 0.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'POPUP_TO_DISPLAY_TEXT'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;textline1 = 'You must choose a line'.&lt;/P&gt;&lt;P&gt;EXIT.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read indexes of selected rows. In this example only one&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;row can be selected as we are using gs_layout-sel_mode = 'B',&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;so it is only ncessary to read the first entry in&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;table gi_index_rows&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;LOOP AT gi_index_rows INTO g_selected_row.&lt;/P&gt;&lt;P&gt;IF sy-tabix = 1.&lt;/P&gt;&lt;P&gt;READ TABLE gi_sflight INDEX g_selected_row-index INTO g_wa_sflight.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Transfer data from the selected row to screenm 200 and show&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;screen 200&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CLEAR g_screen200.&lt;/P&gt;&lt;P&gt;MOVE-CORRESPONDING g_wa_sflight TO g_screen200.&lt;/P&gt;&lt;P&gt;LEAVE TO SCREEN '200'.&lt;/P&gt;&lt;P&gt;ENDFORM. " change_flight&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form save_changes&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;Changes made in screen 200 are written to the datbase table&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;zsflight, and to the grid table gi_sflight, and the grid is&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;updated with method refresh_table_display to display the changes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM save_changes.&lt;/P&gt;&lt;P&gt;DATA: l_traffic_light TYPE c.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Update traffic light field&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Update database table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;MODIFY zsflight FROM g_screen200.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Update grid table , traffic light field and color field.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Note that it is necessary to use structure g_wa_sflight&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for the update, as the screen structure does not have a&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;traffic light field&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;MOVE-CORRESPONDING g_screen200 TO g_wa_sflight.&lt;/P&gt;&lt;P&gt;IF g_wa_sflight-paymentsum &amp;lt; 100000.&lt;/P&gt;&lt;P&gt;g_wa_sflight-traffic_light = '1'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;C = Color, 6=Color 1=Intesified on, 0: Inverse display off&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;g_wa_sflight-line_color = 'C610'.&lt;/P&gt;&lt;P&gt;ELSEIF g_wa_sflight-paymentsum =&amp;gt; 100000 AND&lt;/P&gt;&lt;P&gt;g_wa_sflight-paymentsum &amp;lt; 1000000.&lt;/P&gt;&lt;P&gt;g_wa_sflight-traffic_light = '2'.&lt;/P&gt;&lt;P&gt;clear g_wa_sflight-line_color.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;g_wa_sflight-traffic_light = '3'.&lt;/P&gt;&lt;P&gt;clear g_wa_sflight-line_color.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;MODIFY gi_sflight INDEX g_selected_row-index FROM g_wa_sflight.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Refresh grid&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL METHOD go_grid-&amp;gt;refresh_table_display.&lt;/P&gt;&lt;P&gt;CALL METHOD cl_gui_cfw=&amp;gt;flush.&lt;/P&gt;&lt;P&gt;LEAVE TO SCREEN '100'.&lt;/P&gt;&lt;P&gt;ENDFORM. " save_changes&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;reward if useful&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;Anji&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Apr 2007 06:05:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/oops/m-p/2094725#M435949</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-19T06:05:12Z</dc:date>
    </item>
    <item>
      <title>Re: OOPS</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/oops/m-p/2094726#M435950</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Deepa,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here i am giving one example to u check it. It is very helpful to u.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Report ZEXAMPLE3&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZTMW_WRKBNCH_TABS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:OKCODE LIKE SY-UCOMM. " ok code for screen 101&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:SCRNO(4) TYPE N. "FOR 101 SCREEN&lt;/P&gt;&lt;P&gt;DATA:T_NUM(2),SCR(4).&lt;/P&gt;&lt;P&gt;SELECT SINGLE WORK_BENCH_TAB INTO T_NUM FROM ZTMW_WRKBNCH_TAB&lt;/P&gt;&lt;P&gt;WHERE TAB_STATUS = 'X'.&lt;/P&gt;&lt;P&gt;IF STRLEN( T_NUM ) = 1.&lt;/P&gt;&lt;P&gt;CONCATENATE '300' T_NUM INTO SCR.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;CONCATENATE '30' T_NUM INTO SCR.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;SCRNO = SCR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONTROLS TABS TYPE TABSTRIP. "TAB STRIP IN SCREEN 101&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform ref_texts.&lt;/P&gt;&lt;P&gt;SET SCREEN 0101.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: h LIKE d020s,&lt;/P&gt;&lt;P&gt;f LIKE d021s OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;e LIKE d022s OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;m LIKE d023s OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;f1(100), f2(100), f3(100), dynpro_id(44).&lt;/P&gt;&lt;P&gt;DATA:TAB(5) TYPE C,&lt;/P&gt;&lt;P&gt;tab_num type ztmw_wrkbnch_tab-WORK_BENCH_TAB,&lt;/P&gt;&lt;P&gt;tab_name type ztmw_wrkbnch_tab-TAB_NAME,&lt;/P&gt;&lt;P&gt;ACT_TAB(5) TYPE C,&lt;/P&gt;&lt;P&gt;TAB_STATUS TYPE ztmw_wrkbnch_tab-TAB_STATUS,NUM(2).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:GT_ZTMW_HEADER_HIS TYPE TABLE OF ZTMW_HEADER_HIS,&lt;/P&gt;&lt;P&gt;GT_ZTMW_HEADER_WIP TYPE TABLE OF ZTMW_HEADER_WIP,&lt;/P&gt;&lt;P&gt;G_CONTAINER TYPE SCRFNAME VALUE 'TABC',&lt;/P&gt;&lt;P&gt;GRID1 TYPE REF TO CL_GUI_ALV_GRID,&lt;/P&gt;&lt;P&gt;G_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:LAYOUT TYPE LVC_S_LAYO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:FCAT TYPE LVC_T_FCAT.&lt;/P&gt;&lt;P&gt;Field-symbols: &amp;lt;lfs_fieldcat&amp;gt; TYPE lvc_s_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;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_0101 OUTPUT&lt;/P&gt;&lt;P&gt;MODULE STATUS_0101 OUTPUT.&lt;/P&gt;&lt;P&gt;SET PF-STATUS 'MENU1'.&lt;/P&gt;&lt;P&gt;SET TITLEBAR 'TIT1'.&lt;/P&gt;&lt;P&gt;DO 20 TIMES.&lt;/P&gt;&lt;P&gt;NUM = SY-INDEX.&lt;/P&gt;&lt;P&gt;CONCATENATE 'TAB' NUM INTO ACT_TAB.&lt;/P&gt;&lt;P&gt;SELECT TAB_STATUS INTO TAB_STATUS FROM ZTMW_WRKBNCH_TAB&lt;/P&gt;&lt;P&gt;WHERE WORK_BENCH_TAB = NUM.&lt;/P&gt;&lt;P&gt;IF tab_status = 'X'.&lt;/P&gt;&lt;P&gt;LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;IF SCREEN-NAME = ACT_TAB.&lt;/P&gt;&lt;P&gt;SCREEN-INVISIBLE = '0'.&lt;/P&gt;&lt;P&gt;MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;IF SCREEN-NAME = ACT_TAB.&lt;/P&gt;&lt;P&gt;SCREEN-INVISIBLE = '1'.&lt;/P&gt;&lt;P&gt;MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;IF SCREEN-NAME = ACT_TAB.&lt;/P&gt;&lt;P&gt;SCREEN-INVISIBLE = '1'.&lt;/P&gt;&lt;P&gt;MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE. " STATUS_0101 OUTPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Module USER_COMMAND_0101 INPUT&lt;/P&gt;&lt;P&gt;MODULE USER_COMMAND_0101 INPUT.&lt;/P&gt;&lt;P&gt;CASE OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB1'.&lt;/P&gt;&lt;P&gt;SCRNO = 3001.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB2'.&lt;/P&gt;&lt;P&gt;SCRNO = 3002.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB3'.&lt;/P&gt;&lt;P&gt;SCRNO = 3003.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB4'.&lt;/P&gt;&lt;P&gt;SCRNO = 3004.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB5'.&lt;/P&gt;&lt;P&gt;SCRNO = 3005.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB6'.&lt;/P&gt;&lt;P&gt;SCRNO = 3006.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB7'.&lt;/P&gt;&lt;P&gt;SCRNO = 3007.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB8'.&lt;/P&gt;&lt;P&gt;SCRNO = 3008.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB9'.&lt;/P&gt;&lt;P&gt;SCRNO = 3009.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB10'.&lt;/P&gt;&lt;P&gt;SCRNO = 3010.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB11'.&lt;/P&gt;&lt;P&gt;SCRNO = 3011.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB12'.&lt;/P&gt;&lt;P&gt;SCRNO = 3012.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB13'.&lt;/P&gt;&lt;P&gt;SCRNO = 3013.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB14'.&lt;/P&gt;&lt;P&gt;SCRNO = 3014.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB15'.&lt;/P&gt;&lt;P&gt;SCRNO = 3015.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB16'.&lt;/P&gt;&lt;P&gt;SCRNO = 3016.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB17'.&lt;/P&gt;&lt;P&gt;SCRNO = 3017.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB18'.&lt;/P&gt;&lt;P&gt;SCRNO = 3018.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB19'.&lt;/P&gt;&lt;P&gt;SCRNO = 3019.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB20'.&lt;/P&gt;&lt;P&gt;SCRNO = 3020.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'BACK'.&lt;/P&gt;&lt;P&gt;set screen 0.&lt;/P&gt;&lt;P&gt;WHEN 'REFRESH'.&lt;/P&gt;&lt;P&gt;perform ref_texts.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;ENDMODULE. " USER_COMMAND_0101 INPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM ref_texts .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Format Screen ID&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;dynpro_id = sy-repid.&lt;/P&gt;&lt;P&gt;dynpro_id+40(4) = '0101'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Import Screen data in tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IMPORT DYNPRO h f e m ID dynpro_id.&lt;/P&gt;&lt;P&gt;CHECK sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Modify Screen Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT WORK_BENCH_TAB TAB_NAME into (tab_num,tab_name)&lt;/P&gt;&lt;P&gt;FROM ZTMW_WRKBNCH_TAB WHERE TAB_STATUS = 'X'.&lt;/P&gt;&lt;P&gt;CONCATENATE 'TAB' tab_num INTO TAB.&lt;/P&gt;&lt;P&gt;LOOP AT f WHERE fnam EQ TAB.&lt;/P&gt;&lt;P&gt;f-stxt = tab_name.&lt;/P&gt;&lt;P&gt;MODIFY f.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CHECK sy-subrc EQ 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Export Screen Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;EXPORT DYNPRO h f e m ID dynpro_id.&lt;/P&gt;&lt;P&gt;CHECK sy-subrc EQ 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Generate Screen for changes to take effect&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;GENERATE DYNPRO h f e m ID dynpro_id MESSAGE f1 LINE f2 WORD f3.&lt;/P&gt;&lt;P&gt;ENDFORM. " ref_texts&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Module STATUS_3007 OUTPUT&lt;/P&gt;&lt;P&gt;MODULE GRID OUTPUT.&lt;/P&gt;&lt;P&gt;IF G_CUSTOM_CONTAINER IS INITIAL.&lt;/P&gt;&lt;P&gt;CREATE OBJECT G_CUSTOM_CONTAINER&lt;/P&gt;&lt;P&gt;EXPORTING CONTAINER_NAME = G_CONTAINER.&lt;/P&gt;&lt;P&gt;CREATE OBJECT GRID1&lt;/P&gt;&lt;P&gt;EXPORTING I_PARENT = G_CUSTOM_CONTAINER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM LAYOUT.&lt;/P&gt;&lt;P&gt;PERFORM FIELD_CAT.&lt;/P&gt;&lt;P&gt;PERFORM FILL_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD GRID1-&amp;gt;SET_TABLE_FOR_FIRST_DISPLAY&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;IS_LAYOUT = LAYOUT&lt;/P&gt;&lt;P&gt;CHANGING&lt;/P&gt;&lt;P&gt;IT_FIELDCATALOG = FCAT[]&lt;/P&gt;&lt;P&gt;IT_OUTTAB = GT_ZTMW_HEADER_HIS.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDMODULE. " STATUS_3007 OUTPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form FIELD_CAT&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;FORM FIELD_CAT.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;I_STRUCTURE_NAME = 'ZTMW_HEADER_IO'&lt;/P&gt;&lt;P&gt;CHANGING&lt;/P&gt;&lt;P&gt;CT_FIELDCAT = FCAT[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT FCAT ASSIGNING &amp;lt;lfs_fieldcat&amp;gt;.&lt;/P&gt;&lt;P&gt;CASE &amp;lt;lfs_fieldcat&amp;gt;-fieldname.&lt;/P&gt;&lt;P&gt;WHEN 'TRANSACTION_NUM'.&lt;/P&gt;&lt;P&gt;&amp;lt;lfs_fieldcat&amp;gt;-coltext = 'IDOC no.'.&lt;/P&gt;&lt;P&gt;WHEN 'FEED_CODE'.&lt;/P&gt;&lt;P&gt;&amp;lt;lfs_fieldcat&amp;gt;-coltext = 'Feed Code'.&lt;/P&gt;&lt;P&gt;WHEN 'BOL_NUM'.&lt;/P&gt;&lt;P&gt;&amp;lt;lfs_fieldcat&amp;gt;-coltext = 'EXT. BOL'.&lt;/P&gt;&lt;P&gt;WHEN 'TERMINAL_CODE'.&lt;/P&gt;&lt;P&gt;&amp;lt;lfs_fieldcat&amp;gt;-coltext = 'Unc.Term Cd'.&lt;/P&gt;&lt;P&gt;WHEN 'TRANSCATION_DATE'.&lt;/P&gt;&lt;P&gt;&amp;lt;lfs_fieldcat&amp;gt;-coltext = 'Trans Date'.&lt;/P&gt;&lt;P&gt;WHEN 'TRANSCATION_TIME'.&lt;/P&gt;&lt;P&gt;&amp;lt;lfs_fieldcat&amp;gt;-coltext = 'Trans Time'.&lt;/P&gt;&lt;P&gt;WHEN 'TRANS_STATUS'.&lt;/P&gt;&lt;P&gt;&amp;lt;lfs_fieldcat&amp;gt;-coltext = 'BOL Status'.&lt;/P&gt;&lt;P&gt;WHEN 'VOID_STATUS'.&lt;/P&gt;&lt;P&gt;&amp;lt;lfs_fieldcat&amp;gt;-coltext = 'Void Status'.&lt;/P&gt;&lt;P&gt;WHEN 'HOLD_STATUS'.&lt;/P&gt;&lt;P&gt;&amp;lt;lfs_fieldcat&amp;gt;-coltext = 'Hold Status'.&lt;/P&gt;&lt;P&gt;WHEN 'PLANT'.&lt;/P&gt;&lt;P&gt;&amp;lt;lfs_fieldcat&amp;gt;-coltext = 'Plant'.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM. "FIELD_CAT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form FILL_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FILL_DATA.&lt;/P&gt;&lt;P&gt;CLEAR GT_ZTMW_HEADER_HIS.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IF WIP_ONLY = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SELECT * FROM ZTMW_HEADER_WIP INTO TABLE GT_ZTMW_HEADER_HIS.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;UP TO MAX_HITS ROWS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ELSEIF HIS_ONLY = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SELECT * FROM ZTMW_HEADER_HIS INTO TABLE GT_ZTMW_HEADER_HIS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;UP TO MAX_HITS ROWS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SELECT * FROM ZTMW_HEADER_HIS INTO TABLE GT_ZTMW_HEADER_HIS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SELECT * FROM ZTMW_HEADER_WIP INTO TABLE GT_ZTMW_HEADER_WIP.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INSERT LINES OF GT_ZTMW_HEADER_HIS INTO TABLE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;GT_ZTMW_HEADER_WIP.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SORT GT_ZTMW_HEADER_WIP.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CLEAR GT_ZTMW_HEADER_HIS[].&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INSERT LINES OF GT_ZTMW_HEADER_WIP FROM 1 TO MAX_HITS INTO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TABLE GT_ZTMW_HEADER_HIS .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDFORM. "FILL_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM LAYOUT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LAYOUT-EDIT = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;layout-grid_title = 'List Of Bills Of Lading'.&lt;/P&gt;&lt;P&gt;ENDFORM. "LAYOUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this resolves your query.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward all the helpful answers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 19 Apr 2007 06:05:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/oops/m-p/2094726#M435950</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-04-19T06:05:57Z</dc:date>
    </item>
  </channel>
</rss>

