안녕하세요
제가 체크 박스 문의를 한번 한게 있는데요.
전표를 생성할때 사고 파는 전표가 2개생성이 되는데요
그 전표를 posting할때 2개를다 체크하고 해야 하는건데.
실수로 한개만 체크하고 posting하게 되는 경우가 발생하여
제가 문의 했던 글에 한개를 체크하더라도 2개가 모두 체크가 되도록 하는거 였거든요
즉 deal no 와 deal type로 구분을 해서 2개가 맞으면 체크박스를 모두 체크 되도록 말이죠
FORM CHECK BOX.
SELECT SINGLE ZZSEQUENCE ZZFLOWTYPE
FROM ZFEMSCASHFW
INTO CORRESPONDING FIELDS OF TABLE HBANK_ITAB
WHERE ZZSEQUENCE = ZFEMSCASHFW-ZZSEQUENCE
AND ZZFLOWTYPE = ZFEMSCASHFW-ZZFLOWTYPE
APPEND HBANK_ITAB.
LOOP AT HBANK_ITAB.
IF SELECT_MARK = 'X'.
IF ZFEMSCASHFW-ZZSEQUENCE = ZFEMSCASHFW-ZZSEQUENCE OR
ZFEMSCASHFW-ZZFLOWTYPE = ZFEMSCASHFW-ZZFLOWTYPE.
MESSAGE E998 WITH 'it is not check box please check'.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM. " check box
이렇게 로직은 짜놓구요. user-command에서 만들었어요. 버튼을 클릭하면 이 로직을 수행하면서 체크가 1개만 되어있을경우에 에러 메세지를 뿌려서 다시 체크가 가능하도록 하려구 말이죠.
근데 제가 activate를 눌렀더니 신텍스 에러가..
".", "USING", "TABLES" or "CHANGING" expected after "CHECK".이런 메세지가 뜨더군요..
뭔가 문제일까요?
제가 짜놓은 로직도 함 봐주시면 감사드리구요.
ZZSEQUENCE는 DAEL no구요
ZZFLOWTYPE는 DEAL type입니다.
SELECT_MARK는 체크여부 확인하는거구요. HABNK_ITAB은 인터널 테이블입니다.
보시고 좀 변경해주시면 정말 감사드립니다.
댓글 5
-
초보아밥퍼
2009.01.14 18:19
-
쭈니
2009.01.14 18:47
그 구문은 조건문 그냥 준거인데요
loop 돌때 hbank_itab에서 받은 데이터를 가지고 돌죠
총2개의 전표를 받게 되었을거구요
그리고 select_mark에서 체크되어있는 여부를 확인하게 되죠
그러면서 ZFEMSCASHFW-ZZSEQUENCE는 전표 번호가 여러개가 있을경우가 생기겠죠
00042 00043 00044 이런식으로요 그게 같은게 체크 되어있는지 보는거구요
ZFEMSCASHFW-ZZFLOWTYPE 은 fwd인지 spt인지 확인 하는 여부 입니다.
그래서 둘중에 한개만 체크 되어있다면 2개다 체크 안되어있는 상황이라 가정하에 메러메세지를 뿌리는거죠
-
초보아밥퍼
2009.01.14 18:59
흠 위에보면 인터널테이블과 필드가 서로동일한데 그럼 무조건 참값이 아닌가해서요 -
123456
2009.01.14 19:49
select single 담에 into corresponding fields of table이 되나요???안될꺼 같은데.....
뭐 된다고 해도 테이블에 넣어주고 왜 또 append를 시켜주셨는지요???
-
쭈니
2009.01.14 21:12
아 그렇군요
그럼 어떤식으로 바꿔야 할까요??
안그래도 디버깅을 해보니까 이상하더라구요.
너무 못하는 티가 팍팍나서.. 아직 배울점이 너무 많다보니..
조언좀 부탁드립니다.
근데 아래 구문은 머하는 구문이래요?
IF ZFEMSCASHFW-ZZSEQUENCE = ZFEMSCASHFW-ZZSEQUENCE OR
ZFEMSCASHFW-ZZFLOWTYPE = ZFEMSCASHFW-ZZFLOWTYPE.
MESSAGE E998 WITH 'it is not check box please check'.
ENDIF.