1 / 24

Dialog Programming 整合實例

Dialog Programming 整合實例. 報表程式 1 : ZPU105_301_PROG1. write:/ 'ABAP 程式設計課程 '. write:/ ' 程式設計:楊子青 '. 報表程式 2 : ZPU105_301_PROG2. PARAMETERS ANO TYPE zpu105_301_show-team. START-OF-SELECTION. data itab TYPE STANDARD TABLE OF ZPU105_301_show WITH HEADER LINE. SELECT * FROM ZPU105_301_show

rjo
Download Presentation

Dialog Programming 整合實例

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Dialog Programming整合實例

  2. 報表程式1:ZPU105_301_PROG1 • write:/ 'ABAP程式設計課程'. • write:/ '程式設計:楊子青'.

  3. 報表程式2:ZPU105_301_PROG2 • PARAMETERS ANO TYPE zpu105_301_show-team. • START-OF-SELECTION. • data itab TYPE STANDARD TABLE OF ZPU105_301_show WITH HEADER LINE. • SELECT * • FROM ZPU105_301_show • INTO TABLE ITAB • WHERE TEAM = ANO. • IF SY-SUBRC = 0. • LOOP AT ITAB. • WRITE:/ itab-SHOWNAME, ITAB-SHOWYEAR. • ENDLOOP. • ELSE. • WRITE:/ '查無此劇團之演出節目'. • ENDIF.

  4. 報表程式3:ZPU105_301_PROG3 • select-OPTIONS A FOR zpu105_301_show-team. • INITIALIZATION. • set TITLEBAR 'T00'. • top-of-page. • set TITLEBAR 'T02'. • START-OF-SELECTION. • DATA wa type zpu105_301_art. • select * from zpu105_301_art • into wa • WHERE artid in a. • write:/ wa-artid COLOR 4, 11(20) wa-artname color 5, 41(10) wa-arttel COLOR 6, wa-arturl COLOR 7. • HIDE: wa-artid, wa-artname. • ENDSELECT. • if sy-subrc <> 0. • write:/ 'No Data'(101). • endif.

  5. 報表程式3:ZPU105_301_PROG3 (續) • at LINE-SELECTION. • * write:/ sy-lsind, wa-artid, wa-artname. • if sy-lsind = 1. • set TITLEBAR 'T03' with wa-artname '推出節目'. • DATA wa2 TYPE zpu105_301_show. • SELECT * from zpu105_301_show • into wa2 • where team = wa-artid. • write:/ wa2-showname, wa2-showyear. • hide: wa2-showname. • ENDSELECT. • if sy-subrc <> 0. • write:/ '目前這個劇團沒有演出節目'. • endif. • ENDIF.

  6. 報表程式3:ZPU105_301_PROG3 (續) • if sy-lsind = 2. • set TITLEBAR 'T03' with wa2-showname '各場次觀眾人數'. • DATA wa3 TYPE zpu105_301_look. • SELECT * from zpu105_301_look • into wa3 • where showname = wa2-showname. • write:/ wa3-lookdate, wa3-lookpeople. • ENDSELECT. • if sy-subrc <> 0. • write:/ '查無資料'. • endif. • ENDIF.

  7. 1. 主程式 • DATA OK_CODE LIKE SY-UCOMM. • TABLES: ZPU105_301_ART, ZPU105_301_SHOW. • DATA: TEAMTO TYPE ZPU105_301_SHOW-TEAM. • CALL SCREEN 9000.

  8. SCREEN 9000 PROG1 PROG2 PROG3 JUMP9100 BYE

  9. SCREEN 9000 (續) MODULE USER_COMMAND_9000 INPUT. CASE OK_CODE. WHEN 'PROG1'. SUBMIT ZPU105_301_PROG1 AND RETURN. WHEN 'PROG2'. SUBMIT ZPU105_301_PROG2 VIA SELECTION-SCREEN AND RETURN. WHEN 'PROG3'. SUBMIT ZPU105_301_PROG3 VIA SELECTION-SCREEN AND RETURN. WHEN 'JUMP9100'. CALL SCREEN 9100. WHEN 'BYE'. LEAVE PROGRAM. ENDCASE. ENDMODULE. 執行,呼叫程式1,2,3看看

  10. SCREEN 9100 ZPU105_301_SHOW-TEAM TEAMTO PROG2COND PROG3COND BACKMAIN QUERY TEAMTO

  11. SCREEN 9100 (續) MODULE USER_COMMAND_9100 INPUT.CASE OK_CODE.  WHEN 'PROG2COND'.    SUBMIT ZPU105_301_PROG2 WITH ANO = ZPU105_301_SHOW-TEAM  AND RETURN.  WHEN 'BACKMAIN'.    CALL SCREEN 9000.  WHEN 'PROG3COND'.    DATA WA TYPE rsparams.    WA-SELNAME = 'A'.    WA-SIGN = 'I'.    WA-OPTION = 'BT'.    WA-LOW = ZPU105_301_SHOW-TEAM.    WA-HIGH = TEAMTO.    DATA ITAB TYPE STANDARD TABLE OF rsparams.    APPEND WA TO ITAB.    SUBMIT ZPU105_301_PROG3 WITH SELECTION-TABLE ITAB AND RETURN.    CLEAR ITAB.  WHEN 'QUERY'.    SELECT SINGLE * FROM ZPU105_301_ART      WHERE ARTID = ZPU105_301_SHOW-TEAM.ENDCASE.ENDMODULE.  執行看看

  12. SCREEN 9100 (續): 用TableControl顯示多筆資料

  13. SCREEN 9100 (續): 用TableControl顯示多筆資料

  14. SCREEN 9100 (續): 用TableControl顯示多筆資料 註解掉,否則 只有執行一次 MODULE SHOW_INIT OUTPUT. * IF G_SHOW_COPIED IS INITIAL. *&SPWIZARD: COPY DDIC-TABLE 'ZPU105_301_SHOW' *&SPWIZARD: INTO INTERNAL TABLE 'g_SHOW_itab' SELECT * FROM ZPU105_301_SHOW INTO CORRESPONDING FIELDS OF TABLE G_SHOW_ITAB WHERE TEAM = ZPU105_301_SHOW-TEAM. G_SHOW_COPIED = 'X'. REFRESH CONTROL 'SHOW' FROM SCREEN '9100'. * ENDIF. ENDMODULE.

  15. 執行結果

  16. 2. PROCESS BEFORE OUTPUT設定GUI Title 執行

  17. 3. PROCESS BEFORE OUTPUT設定GUI Status (快速鍵) 設定 Function Keys (快速鍵) FctCode 描述 執行

  18. 4. PROCESS BEFORE OUTPUT設定GUI Status (標準工具列) 執行

  19. 5. PROCESS BEFORE OUTPUT設定GUI Status (應用程式工具列) 展開 按F4

  20. PROCESS BEFORE OUTPUT設定GUI Status (應用程式工具列) 執行

  21. PROCESS BEFORE OUTPUT設定GUI Status (應用程式工具列圖示) 執行

  22. 6. PROCESS BEFORE OUTPUT設定GUI Status (功能表) double click 執行結果 可以按F4選擇

  23. Disable部份Menu Bar: 以Screen 9100為例 MODULE STATUS_9100 OUTPUT. DATA FCode TYPE TABLE OF SY-UCOMM. APPEND 'PROG2' TO FCode. APPEND 'PROG3' TO FCode. SET PF-STATUS 'STATUS1' EXCLUDING FCODE. * SET TITLEBAR 'xxx'. ENDMODULE.

  24. 執行結果

More Related