처음으로 온라인 프로그램을 작성하고 있습니다. 처음이다 보니 정말 머리가 멍해지는 것 같아요 ㅠ
우선 제가 사용하는 버전은 4.0B 임을 먼저 알려드립니다. ㅠ
기존에 리포트 프로그램이 있었습니다. ALV 도 아니고 WRITE 문으로 모든걸 출력하고 있죠
여기에 검색 팝업을 온라인프로그램으로 띄우려고 합니다.
화면을 101 번으로 생성하고 속성은 Modal Dialog 로 주었습니다.
화면에는 Table Control 1개와 저장버튼 1개가 전부입니다.
Table Control 이름은 DT_CYLNR, 저장버튼 OK_CODE 는 PICK 입니다.
현재 리포트에서 버튼 클릭하면 POPUP 화면내에 입력가능한 Table Control이 뿌려지고 있는데 검색할 값을
입력 한 후 저장을 했을때 입력된 값을 어떻게 찾아와야 할지 멍하기만 합니다.
TOP Include 는 없고 리포트 프로그램 내에
DATA : OK_CODE LIKE SY-UCOMM.
CONTROLS: DT_CYLNR TYPE TABLEVIEW USING SCREEN '0101'.
로 ok_code 와 table control을 정의하였습니다.
PBO/PAI 세팅
PROCESS BEFORE OUTPUT.
MODULE STATUS_0101.
LOOP WITH CONTROL DT_CYLNR.
ENDLOOP.
PROCESS AFTER INPUT.
LOOP WITH CONTROL DT_CYLNR.
MODULE READ_DATA.
ENDLOOP.
MODULE USER_COMMAND_0101.
MODULE READ_DATA INPUT.
BREAK-POINT.
"여기서 R_CYLNO 테이블에 값을 저장할겁니다.
ENDMODULE. " READ_DATA INPUT
MODULE USER_COMMAND_0101 INPUT.
CASE OK_CODE.
WHEN 'PICK'. "Detail view
CLEAR OK_CODE.
PERFORM SETCHECK TABLES R_CYLNO. "R_CYLNO 는 테이블 컨트롤을 통해 입력된 값을 저장하려고 합니다.
LEAVE TO SCREEN 0.
WHEN 'CANC'.
CLEAR OK_CODE.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE. " USER_COMMAND_0101 INPUT
스크린 페인터에서 지정한 구조명 gs_tab 필드 field ..
모듈 read_data 대신에
FIELD gs_tab-field MODULE read_date ON REQUEST.
이렇게 함 해보세요.