안녕하세요`
제가 질문을 드렸는데 질문이 좀 이상한거 같아서 다시 부탁좀 드립니다.
제가 전표를 체크여부 확인 하기 위해서 로직을 구성하고 있는데요
전표가 4개가 있다는 가정하에 말씀을 드리겠습니다.
' ' 42 001 입력값(house뱅크번호) 입력값(house뱅크에연관되어있는번호)이렇게 스크린 레이아웃이 뿌려집니다.
'X' 42 002 입력값(house뱅크번호) 입력값(house뱅크에연관되어있는번호)이렇게 스크린 레이아웃이 뿌려집니다.
' ' 43 001 입력값(house뱅크번호) 입력값(house뱅크에연관되어있는번호)이렇게 스크린 레이아웃이 뿌려집니다.
' ' 43 002 입력값(house뱅크번호) 입력값(house뱅크에연관되어있는번호)이렇게 스크린 레이아웃이 뿌려집니다.
이렇게 있는데요 43번에서는 001을 체크해도 오류 메세지는 잘 나오고 002를 체크해도 잘 나옵니다.
물론 2개를 체크하면 성공메세지도 잘 나옵니다.
근데 42번의 001을 체크하면 오류메세지가 002가 체크 안되었다고 나오는데, 002를 체크하면 001이 체크 안되었다고 나와야 하는 결과값이 001을 체크한것과 같은 오류 메세지가 나오구 있습니다
그래서 전표를 임의로 42번 43번 44번 45번 46번을 만들어 놓구
이번엔 44번하고 45번하고 입력값을 넣고 해보았더니 44번이 위에 결과값이랑 같이 나오게 되더라구요.
이같은 문제가 라인에 문제가 발생하는거 아닌가 싶은데요
LOOP AT I_CHECK.
IF L_CHECK-SELECT_MARK EQ I_CHECK-SELECT_MARK
AND L_CHECK-ZZSEQUENCE EQ I_CHECK-ZZSEQUENCE.
ELSE.
IF L_CHECK-SELECT_MARK NE I_CHECK-SELECT_MARK
AND L_CHECK-ZZSEQUENCE NE I_CHECK-ZZSEQUENCE.
ELSE.
MESSAGE E996 WITH ZFEMSCASHFW-ZZSEQUENCE ZFEMSCASHFW-ZZFLOWTYPE.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM. " check_deal
지금 보이시는 로직이 체크 여부를 확인하는 로직이거든요.
MARK는 체크여부 ZZSEQUENCE는 42이걸 가지고 제가 조건으로 돌렸는데요.
여기서 어떻게 하면 42번의 001을 체크하면 002가 체크 안되었다고 메세지가 나오고
42번의 002를 체크하면 001이 체크 안되었다고 메세지가 나올까요??
I_CHECK는 체크마크와 ZZSEQUENCE값을 저장하고 있구요,.
L_CHECK는 READ TABLE해서 I_CHECK의값중에 첫 라인을 저장하면서 루프안에서 L_CHECK값으로 I_CHECK값을
비교하는 로직입니다.
항상 첫라인만 잘못되어지는 오류 메세지를 어떻게 할수 없을까요??