오랫만에 질문을 올려 봅니다.
그림처럼 해보려고 하는데 안되는데... 혹시 구연해 보신 분 계세요?
IF R_SELE = 'X'.
* 조회
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'MD1'.
SCREEN-INPUT = '1'.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ELSE.
* 집계
CLEAR: P_WERKS, P_NAME1, P_STO1, P_STO2, P_STO3, P_STO4,
P_STO5.
P_STO5 = 'X'.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'MD1'.
SCREEN-INPUT = '0'.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
이 부분이 관련된 것은 맞는 것 같은데... 다른 프로그램에 적용해도 안되더군요.
아무래도 앞뒤로 빼먹은 부분이 있는 것 같은데... 처음으로 시도해 보려는 것이라 어렵네요.
아시는 분들~ 좀 알려주세요.
댓글 3
-
가오만땅
2008.04.03 02:34
-
초보아밥퍼
2008.04.03 03:17
우선 이 로직을 보자면
AT SELECTION SCREEN OUTPUT. <--- 이부분에 들어가는 로직이겠구여
IF R_SELE = 'X'. <--- 조회(R_SELE 라디오 버튼이 선택일때)
* 조회
LOOP AT SCREEN. <--- 스크린을 루프돌려서(화면컨트롤하기 위함)
IF SCREEN-GROUP1 = 'MD1'. <--- 스크린 그룹이(MD1) 스크린 속성창에 보시면 그룹 묶어주는 필드가 있어요 블럭 3개
SCREEN-INPUT = '1'. <--- 입력가능하게
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ELSE. <--- 집계(R_SELE 라디오 버튼이 선택이 아닐때)
* 집계
CLEAR: P_WERKS, P_NAME1, P_STO1, P_STO2, P_STO3, P_STO4, <--- 라디오버튼이 어디있던간에 제거
P_STO5.
P_STO5 = 'X'. <-- 5번 ALL 로 라디오버튼 선택.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'MD1'. <-- GROUP1 이 MD1인경우
SCREEN-INPUT = '0'. <-- GROUP1로 속성지어 놓은것은 입력불가
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
SELECTION SCREEN 에서
PARAMETERS : p_gjahr LIKE rbkp-gjahr MODIF ID MD1,
p_plscn LIKE mdsm-plscn MODIF ID MD2.
PARAMETERS: P_RB1 RADIOBUTTON GROUP grp1 DEFAULT 'X' MODIF ID MD1.
이런식으로 각 항목당 그룹을 정해주시면 될겁니다.
이해가 되시길...
-
할일없는무급개발자
2008.04.03 18:51
약간의 코딩수가 들어가도 SCREEN-GROUP1 보다 SCREEN-NAME 으로 처리해주시면 확실히 비활성화 될꺼 같은대용..
radio group 에 user command 를 달아 주셔야 셀렉션 스크린의 pbo 를 탈수 있습니다.
PARAMETERS: P_RADI1 DEFAULT 'X' RADIOBUTTON GROUP RADI USER-COMMAND SEL.
이런식으로 추가시켜주시면 됩니다..