728x90
반응형
[실행화면]
항공사코드를 입력후 항공편 조회
를 누르면 화면 200으로 넘어간다.
항공사 코드에 해당하는 값들을 가져온다.
[프로그램 로직]
<TOP>
TABLES SPFLI.
DATA: OK_CODE TYPE SY-UCOMM,
GS_TAB TYPE SPFLI,
GT_TAB TYPE TABLE OF SPFLI.
CONTROLS CONT1 TYPE TABLEVIEW USING SCREEN 0200.
<화면 100>
PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.
PROCESS AFTER INPUT.
MODULE EXIT AT EXIT-COMMAND.
MODULE USER_COMMAND_0100.
<화면 200>
PROCESS BEFORE OUTPUT.
MODULE STATUS_0200.
LOOP AT gt_tab INTO SPFLI WITH CONTROL CONT1.
ENDLOOP.
PROCESS AFTER INPUT.
MODULE EXIT AT EXIT-COMMAND.
MODULE USER_COMMAND_0200.
LOOP AT gt_tab.
ENDLOOP.
테이블컨트롤은 여러라인을 읽는거기 때문에 PBO와 PAI에 LOOP가 꼭 필요하다. 없으면 티코드 실행시 덤프가 발생한다.
Dictionary에서 얻기로 그렸기때문에 into spfli이고 프로그램에서 얻기로 구조로부터 참조해 그렸다면 into gs_tab이 될거다.
<PBO>
MODULE status_0100 OUTPUT.
SET PF-STATUS 'S100'.
SET TITLEBAR 'S100'.
ENDMODULE.
MODULE status_0200 OUTPUT.
SET PF-STATUS 'S200'.
SET TITLEBAR 'S100'.
SELECT * FROM SPFLI
INTO CORRESPONDING FIELDS OF TABLE GT_TAB
WHERE CARRID = SPFLI-CARRID.
ENDMODULE.
<PAI>
MODULE user_command_0100 INPUT.
CASE ok_code.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'DIS'.
CALL SCREEN 200.
ENDCASE.
ENDMODULE.
MODULE exit INPUT.
CASE ok_code.
WHEN 'EXIT' OR 'CANC'.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE.
MODULE user_command_0200 INPUT.
CASE ok_code.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE.
728x90
반응형
'ABAP' 카테고리의 다른 글
Module-pool 4 (Radio button) (0) | 2023.02.14 |
---|---|
Module-pool 3 (Domain text) (0) | 2023.02.14 |
Module-pool 1 (변경) (0) | 2023.02.14 |
달의 마지막날 가져오는 function (RP_LAST_DAY_OF_MONTHS) (0) | 2023.02.14 |
조회조건 날짜 계산하여 기본값 넣기 (RP_CALC_DATE_IN_INTERVAL) (0) | 2023.01.24 |
댓글