안녕하세요, 고수님들의 도움이 절실히 필요하여 이렇게 글을 올리게 되었습니다.
제가 처해있는 상황은 아래와 같습니다. 도와주세요..ㅜㅜ
(프로그램 설명)
라디오 버튼을 클릭하면 선택한 라디오 버튼에 따라
서로 다른 조회 화면이 나타나고,
선택된 조회화면에서 실행 버튼을 누르면 서로 다른 로직을 타게 하려고 합니다.
(문제)
선택된 라디오 버튼에 따라 조회화면이 변경되는건 되는데요.
110번 스크린에서 실행 버튼을 누르면, START-OF-SELECTION 을 제대로 타는데,
120번 스크린에서 실행 버튼을 누르면, START-OF-SELECTION 을 타지 못하고,
자꾸 110번 스크린으로 이동해 버립니다.
-소스-
REPORT Z04_TEST1.
TABLES: SSCRFIELDS, SFLIGHT.
* 110번 스크린 *
SELECTION-SCREEN BEGIN OF SCREEN 110.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS RADIO1 RADIOBUTTON GROUP R1 DEFAULT 'X' USER-COMMAND UCOMM.
SELECTION-SCREEN COMMENT (15) TEXT-001.
PARAMETERS RADIO2 RADIOBUTTON GROUP R1.
SELECTION-SCREEN COMMENT (15) TEXT-002.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF BLOCK BLOCK1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS : Z_BP FOR SFLIGHT-FLDATE,
Z_DAT FOR SFLIGHT-PRICE.
SELECTION-SCREEN END OF BLOCK BLOCK1.
SELECTION-SCREEN END OF SCREEN 110.
* 120번 스크린 *
SELECTION-SCREEN BEGIN OF SCREEN 120 .
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS RADIO3 RADIOBUTTON GROUP R2 USER-COMMAND UCOMM.
SELECTION-SCREEN COMMENT (15) TEXT-001.
PARAMETERS RADIO4 RADIOBUTTON GROUP R2 DEFAULT 'X'.
SELECTION-SCREEN COMMENT (15) TEXT-002.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF BLOCK BLOCK2 WITH FRAME TITLE TEXT-002.
SELECT-OPTIONS : Z_GROUP FOR SFLIGHT-CURRENCY,
Z_NAME1 FOR SFLIGHT-PLANETYPE.
SELECTION-SCREEN END OF BLOCK BLOCK2.
SELECTION-SCREEN END OF SCREEN 120.
AT SELECTION-SCREEN.
DATA III TYPE SY-DYNNR.
III = SY-DYNNR.
CASE SSCRFIELDS-UCOMM.
WHEN 'UCOMM'.
IF RADIO2 = 'X' AND III = 110.
CLEAR RADIO2.
CALL SELECTION-SCREEN 120.
ELSEIF RADIO3 = 'X' AND III = 120.
CLEAR RADIO3.
CALL SELECTION-SCREEN 110.
ENDIF.
ENDCASE.
INITIALIZATION.
CALL SELECTION-SCREEN 110.
START-OF-SELECTION.
WRITE 'zzz'.
댓글 4
-
애불래
2010.05.26 02:29
-
삐지미
2010.05.26 02:50
애불레님 답변 감사합니다.
=> TAP Script 말고, 라디오 버튼으로 해야 해서요.ㅜㅜ
-
정호아빠
2010.05.26 17:31
TYPE PGM의 SCREEN 호출관련 부분을 먼저 참고하심이...(보시면 이해갑니다.)
위와 같은 현상은 SCREEN 초기화가 안되어서 그런것입니다...
SET SCREEN 0. <-- 요것 으로 간단해결 됩니다.
CASE SSCRFIELDS-UCOMM.
WHEN 'UCOMM'.
IF RADIO2 = 'X' AND III = 110.
CLEAR RADIO2.
SET SCREEN 0.
CALL SELECTION-SCREEN 120.
ELSEIF RADIO3 = 'X' AND III = 120.
CLEAR RADIO3.
SET SCREEN 0.
CALL SELECTION-SCREEN 110.
ENDIF.
ENDCASE. -
삐지미
2010.05.26 18:46
[정호 아빠]님 진심으로 감사합니다.
이것 때문에 어제 하루종일 끙끙대고 있었는데..정말 감사합니다.
덕분에 오늘 기분좋게 하루를 시작하게 되었네요..진심으로 감사합니다.
Module pool 도 아니고 1 type이라면 차라리 tab strips을 이용한 화면을 구성하시는게 어떠신지요?
관련 예제 프로그램으로 SE38에서 RMMDDIBE 을 참조해 보시길......