CONTROLS : MY_CONTROL TYPE TABLEVIEW USING SCREEN '0500'.
DATA : IT1 TYPE TABLE OF SDYN_CONN, "Header없는 Internal Table
WA1 LIKE LINE OF IT1. "Work Area선언
data INDI TYPE I.
PROCESS BEFORE OUTPUT.
* MODULE status_xxxx.
MODULE fill_it1.
LOOP AT it1 INTO wa1 WITH CONTROL my_control.
MODULE move_to_tc.
ENDLOOP.
*&---------------------------------------------------------------------*
*& Module fill_it1 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
module fill_it1 output.
IF INDI IS INITIAL.
SELECT * FROM ZDATABASE00_1 INTO CORRESPONDING FIELDS OF TABLE IT1
* 여기서 ZDATABASE00_1은 JOIN된 테이블이다...!!!
WHERE CARRID = SCARR-CARRID.
DESCRIBE TABLE IT1 LINES MY_CONTROL-LINES.
ADD 1 TO INDI.
ENDIF.
PROCESS AFTER INPUT.
* MODULE exit AT EXIT-COMMAND.
*
* MODULE save_ok_code.
*
* MODULE user_command_xxxx.
LOOP AT it1.
FIELD SDYN_CONN-MARK MODULE MODIFY_IT1 ON REQUEST.
ENDLOOP.
*&---------------------------------------------------------------------*
*& Module MODIFY_IT1 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
module MODIFY_IT1 input.
MOVE SDYN_CONN TO WA1.
MODIFY IT1 FROM WA1 INDEX MY_CONTROL-CURRENT_LINE.
endmodule. " MODIFY_IT1 INPUT
다음과 같은 코딩인데(500SCREEN을 SUBSCREEN으로 씀)
PBO를 통해 SCREEN의 OUTPUT화면을 출력전에 제어하고 출력하는데
다시 PAI에 Logic을 넣으면 사용자의 입력 이후를 제어하게 된다고 알고 있습니다.
그러면 위의 문장에서의 PAI부분은 어떻게 해석해야 할지요??
PAI부분은
내부테이블을 loop를 돌면서 SDYN_CONN의 MARK라는 필드의 값이 변경되었을 경우
모듈 MODIFY_IT1가 불려진다는 내용이라고 생각되는데요..
혹시 아니라면 누구라도 답글 달아주세요..