PARAMETERS: test1(10) TYPE c MODIF ID sc1,
test2(10) TYPE c MODIF ID sc2.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF screen-group1 = 'SC1'. "and screen-group2 = 'SC2'.
screen-intensified = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
이렇게 위소스가 low값과 high값 둘다 screen-intensified = '1'가 적용될줄 알았는데
low값만 적용되나요 두값에 적용할려면 어떻게 해나요?
IF screen-group1 = 'SC1'. "and screen-group2 = 'SC2'.
제가 작성한 방법인데 않되네요. 둘다 검은 색으로 나옵니다. 원래는 붉은 색을 나와야 하는디..
댓글 11
-
SAP폐인
2008.09.29 10:44
-
다급
2008.09.29 18:19
PARAMETERS: TEST1(10) TYPE C MODIF ID SC1,
TEXT2(10) TYPE C MODIF ID SC1. <---------- MODIF ID 이름 통일하시고
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'SC1'. SCREEN-INTENSIFIED = '1'. ENDIF.
MODIFY SCREEN.
ENDLOOP.
하시면..AND는 필요없지요~
-
비안개
2008.09.29 18:22
MODIF ID 값을 따로 준 이유가 있으시면...
조건 값을 AND로 하시지 마시고 OR 로 해야...
둘 중에 한 값이 그 값인 경우는 IF문을 탑니다.
-
데이
2008.09.29 18:32
다른 분들이 말씀하신것처럼 or 를 써주셔야 하고요
지금 and 앞에 " 를 사용하셨는데요
" 를 사용하시면 뒤는 주석처리 됩니다.
IF screen-group1 = 'SC1' or screen-group1 = 'SC2'.
이런 식으로 사용하셔야 할것 같습니다.
-
페리
2008.09.29 18:43
IF screen-group1 = 'SC1' or screen-group1 = 'SC2'.
원하시는게 이게 아닐까요-_-?
디버깅 돌려보니 group1 에 SC1, SC2가 있는 걸 알수있을꺼에요. 그리고 AND가 아니라 OR가 아닌지?!
-
icarus
2008.09.29 20:07
아니면 차라리 파라미터 이름으로 핸들링하셔도 될 듯 합니다.
예를 들어
IF screen-name = 'TEST1' OR screen_name = 'TEST2'.
...
ENDIF.
-
캔디^^
2008.09.29 23:45
and면 둘다 다 포함하면 아래내용을 설정한다고 이해를 하고 있어 or 아니라고 봤는데..
or를 해야 하는 이유가 이해가 않갑니다. or일경우는 둘다 포함일경우는 바로 아래를 실행하지 아고 endif
로 빠져나오는것으로 알고 있는데.. 좀 더 추가설명을 해주시면 감사하겠습니다.
그리고 다급님 말씀하신 내용을 미쳐 생각지 못했데요.
위 답변주신분 감사합니다.^^
-
데이
2008.09.30 02:55
and와 or를 혼동하시는 것 같은데요
and는 둘다를 참일경우이고 or 는 둘중 하나만 참이면 ok 입니다.
and를 쓴다면
screen-group1 = 'SC1' 이고 screen-group1 = 'SC2' 를 만족시키는 필드만 위의 로직을 타겠지요
소스만 봐선 한 필드는 sc1 다른 필드는 sc2로 설정해 주었으니
and를 쓰면 intensified 값이 바뀌지 않을 거고 or 를 써야 바뀔겁니다.
디버그 돌리면서 확인해 보세요
-
캔디^^
2008.09.30 09:43
IF screen-group1 = 'SC1' or screen-group1 = 'SC2'는 되고
IF screen-group1 = 'SC1' or screen-group2= 'SC2' 는 않되네요.
디버깅을 했는데 screen-group1 = 'SC1' 만 타더군요.
하여튼 답변 감사합니다.
-
데이
2008.09.30 18:12
selection screen 이 아닌 일반 스크린에서 직접 group2 에 sc2값을 준다면 모를까
위에서 modif id 로 설정해준 값은 group1 으로 들어갑니다
그래서 screen-group2 는 안타고 group1 만 타게 된 것이죠
-
스땐
2008.11.11 03:05
and를 왜 넣지...
흠 왜 and를?