예를 들어 한블럭안에 라디오버튼이 세개잇다고 하고
1번라디오버튼선택시(전표번호)는 perform1문을
2번라디오버튼선택시(청구서번호)는 perform2문을
3번라디오버튼선택시(그외항목)는 perform3문을 실행하게하고싶은데요
어떤방법이 있을까요? 조언부탁드려요..
댓글 6
-
쭈니
2009.01.20 23:53
-
sdking
2009.01.21 01:20
감사합니당..근데 이거 case문으로도 되나요?
-
쭈니
2009.01.21 01:43
case문에서는 제 생각엔 안될꺼 같은데요??
IF 필드명 조건 'X'--> 여기서 'X'는 아시죠?
case itab_필드명
이렇게 정의를 하고 나서야
when 'p_1'.
perfrom itab_select.
when'p_2'.
perform itab_check.
when'p_3'.
perform itab_box.
endcase.
ENDIF.
이렇게 만들어져야 할테구요.
근데 case문에서 값이 있어야 그 값으로 조건을 성립할텐데요. CASE문은 WHEN ' ' 안에 있는 값들중에 고르는게 CASE문이거든요. 근데 특정값이 없기 때문에..
좀 힘들지 않을까 생각합니다.
한번 해보시는것도 좋으시겠네요.
안되더라도 도움은 되실테니
즐밥하세요
-
전컴
2009.01.21 03:21
p_radi1, p_radi2, p_radi3 이라고 가정했을때, 라디오 버튼이 클릭되면 해당 버튼에 'X'가 들어갑니다.
CASE 'X'.
WHEN P_RAID1. PERFORM 1.
WHEN P_RAID2. PERFORM 2.
WHEN P_RAID3. PERFORM 3.
ENDCASE.
하면 됩니다~
P_RAID1가 'X' 이거나 'X'가 P_RAID1이거나..같은 경우라고 보시면 됩니다.
체크박스는 동시처리가 가능해야하니 IF문을 사용하지만, 라디오버튼의 경우는 1가지밖에
실행을 할 수 없으니 CASE문을 사용하는것이 소스가 깔끔해지지 않나 싶습니다~
즐밥하세여~^^
-
쭈니
2009.01.21 16:57
아 그런방법이 있었군요.
제 지식이 아직은 짧은거 같네요..
저도 덕분에 하나 배우고갑니다. 즐밥요
-
sdking
2009.01.21 18:19
역시고수분들은다르군요..갈길이머네요..ㅠㅠ
감사합니다..또 배우고가네요..
한 블럭안에 3개의 버튼이 있다라고 하면 그룹으로 지정을 해놓으셨다는 말씀 같은데요.
미흡하지만 설명을 드리자면, 라디오버튼1이 p_1 2는 p_2 3은 p_3이라 정의 해놓고
그리고 나서 if p_1 = 'X' 라디오버튼이 선택되어있을시에 실행하는거죠
PERFORM ITAB_SELECT.
IF SY-SUBRC = 0.
PERFORM CHECK_SELECT.
MESSAGE E001 WITH ' '.
ELSE.
PERFORM DELETE_BOX.
ENDIF.
이렇게 P_1 P_2 P_3 3개 만들고 나면
라디오버튼에 따라서 폼의 실행이 달라지지 않을까요??
퍼폼문 안에서의 로직은 질문하시는분께서 아실꺼라 생각합니다.
저같은경우엔 라디오 버튼은 이렇게 하는편이긴 하지만, 더 좋은 방법으로 하시는분이 있다면 저도 배우고 싶네요