>아래 보시는 화면처럼
>체크가 deal no인 43이 둘다 체크가 되면 오류가 생기면 안되는데요..
>오류가 생기네요
>
>42번을 돌렸을때는 아무이상없이 잘 실행이 되었는데.
>왜 오류가 생기는지 이상하군요..
>저 체크박스를 체크하는 로직은
>FORM CHECK_DEAL.
> DATA : BEGIN OF L_CHECK OCCURS 0.
INCLUDE STRUCTURE I_CHECK.
DATA : END OF L_CHECK.
> READ TABLE I_CHECK INDEX 1 INTO L_CHECK.
> LOOP AT I_CHECK.
IF L_CHECK-SELECT_MARK EQ I_CHECK-SELECT_MARK
AND L_CHECK-ZZSEQUENCE EQ I_CHECK-ZZSEQUENCE.
ELSE.
MESSAGE E996 WITH ZFEMSCASHFW-ZZSEQUENCE ZFEMSCASHFW-ZZFLOWTYPE.
ENDIF.
ENDLOOP.
ENDFORM. " check_deal
>위에 보시는 로직에서 수행을 하고 있습니다.
>I_CHECK테이블에서는 전표수만큼 데이터를 받아오구요
>L_CHECK에서는 처음에 받아오는 테이터를 유지하고있습니다.
>그래서 루프 문에서 SELECT_MARK는 체크여부확인하는 필드구요
>ZZSEQUENCE에서는 deal no를 체크 합니다.그렇게 해서 deal no는 같은데 체크가 안되어있다면
>메세지를 나오게 만드는데요.
>이게 전표 2개일때랑 4개일때랑 뭐가 틀린건지.. 이상하네요.
>아시는분은 좀 알려주세요,.
>
DATA : BEGIN OF L_CHECK OCCURS 0.
INCLUDE STRUCTURE I_CHECK.
DATA : END OF L_CHECK.
READ TABLE I_CHECK INTO L_CHECK.
* READ TABLE I_CHECK INDEX 1 INTO L_CHECK.
LOOP AT I_CHECK.
IF L_CHECK-SELECT_MARK EQ I_CHECK-SELECT_MARK
AND L_CHECK-ZZSEQUENCE EQ I_CHECK-ZZSEQUENCE
AND L_CHECK-ZZFLOWTYPE EQ I_CHECK-ZZFLOWTYPE.
ELSE.
IF L_CHECK-SELECT_MARK NE I_CHECK-SELECT_MARK
AND L_CHECK-ZZSEQUENCE NE I_CHECK-ZZSEQUENCE.
* AND L_CHECK-ZZFLOWTYPE NE I_CHECK-ZZFLOWTYPE.
ELSE.
MESSAGE E996 WITH ZFEMSCASHFW-ZZSEQUENCE ZFEMSCASHFW-ZZFLOWTYPE.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM. " check_deal
지금 처럼로직을 짜서 처음에 생긴 문제는 해결이 되었습니다.
근데 이젠.. 다른 문제가 42번의 001을 체크하면 오류는 42번의 002가 체크 안되었다라는 메세지가 나오구요
42번의 002를 체크하면 오류는 42번의 001이 체크 안되었다라는 메세지가 나와야하는데
002를 체크해도 001번하고 같은 메세지가 뜨네요..
43번은 아무 이상이 없는데. 42번에서 문제가 생기는데요. 뭐 이상한점이라도 찾으신분은 답변좀 부탁합니다.