위에 화면에서 보이는것처럼 체크박스가 2개 있는데요
저중에 체크 박스를 1개만 체크를 해도 나머지 것도 체크가 되도록 만들어 주려고 하는데요
LOOP.
CHAIN.
FIELD: SELECT_MARK, ZFEMSCASHFW-ZZHOUSBANK,
ZFEMSCASHFW-ZZHOUSACCO, ZFEMSCASHFW-ZZLOCAAMOU,
ZFEMSCASHFW-ZZPAYMMETH, ZFEMSCASHFW-ZZSEQUENCE
MODULE POSTING_PROCESS ON CHAIN-REQUEST.
ENDCHAIN.
ENDLOOP.
MODULE USER_COMMAND_8200.
지금 보이는 코딩에서
체인 필드에
MARK는 체크 여부를 확인아는 필드구요, ZZSEQUENCE는 DEAL NO입니다.
CHAIN안에서 IF문을 사용해서 체크박스를 눌렀을때
ZZSEQUENCE가 같은건 같이 체크가 되도록 만들어야 하는데요
IF zfemscashfw-zzsequence = zfemscashfw-zzsequence.
select_mark = 'X'.
endif.
이렇게 하면 로직이 가능한건가요?
그리고 만약에 한개만 찍고 나서 실행버튼을 누르게 되면
오류 메세지가 뜨도록 하고 싶은데
어떻게 해야 할런지요
댓글 4
-
지의
2009.01.09 17:08
-
쭈니
2009.01.09 18:36
네 답변 감사합니다. user-command는 prev라는 곳에서 이벤트를 넣으면 되는데요
zfemscashfw-zzsequence 이 필드를 조건으로 주고 prev라는 버튼을 클릭 했을경우에 42라는 레코드가
다 체크안되었다면 오류 메세지를 띄우는걸로 해야 하는건가요?
아니라면 지금 저 화면자체에서 42라는 레코드가 2개 있는데 1개를 체크 했을경우 나머지것도 체크가 되도록 할수가 있는건가요??
-
김지성
2009.01.09 20:37
저 같은 경우는 Check를 클릭했을 경우 Loop을 돌아 같은 키값의 Check를 모두 'X'처리 하는 방법
아래 코드는 참조만 하세요..
User-command 내...
CASE fp_ucomm.
WHEN '&IC1'. "선택(F2)
PERFORM fcode_doubleclick_daily USING selfield-fieldname
selfield-tabindex.
IF l_fieldname EQ 'SUBMI' OR l_fieldname EQ 'EBELN'.
* LOOP AT gt_alv_list WHERE submi = selfield-value
* OR ebeln = selfield-value.
* gt_alv_list-check = 'X'.
* MODIFY gt_alv_list FROM gt_alv_list INDEX sy-tabix.
* ENDLOOP.
ELSEIF l_fieldname EQ 'CHECK'. "요부분
IF gt_alv_list-check = 'X'.
gt_alv_list-check = ''.
MODIFY gt_alv_list INDEX sy-tabix TRANSPORTING check.
ELSE.
LOOP AT gt_alv_list WHERE ebeln = gt_alv_list-ebeln.
gt_alv_list-check = 'X'.
MODIFY gt_alv_list INDEX sy-tabix TRANSPORTING check.
ENDLOOP.
ENDIF.
ENDIF. -
쭈니
2009.01.14 04:25
IF l_fieldname EQ 'SUBMI' OR l_fieldname EQ 'EBELN'.
* LOOP AT gt_alv_list WHERE submi = selfield-value
* OR ebeln = selfield-value.
* gt_alv_list-check = 'X'.
* MODIFY gt_alv_list FROM gt_alv_list INDEX sy-tabix.
* ENDLOOP.
ELSEIF l_fieldname EQ 'CHECK'. "요부분
IF gt_alv_list-check = 'X'.
gt_alv_list-check = ''.
MODIFY gt_alv_list INDEX sy-tabix TRANSPORTING check.
ELSE.
LOOP AT gt_alv_list WHERE ebeln = gt_alv_list-ebeln.
gt_alv_list-check = 'X'.
MODIFY gt_alv_list INDEX sy-tabix TRANSPORTING check.
ENDLOOP.
ENDIF.
ENDIF.<==== 이 부분들은 perform문안에 들어가야할 수식들인가요?
하드코딩 하시는 군요..
화면에 체크박스에 속성에 FCODE 확인하시고 USER-COMMAND 부분에 이벤트 넣으시면 됩니다.