오늘도 선배님들의 도움이 급히 필요합니다 죄송하구요
좀 알려주십시요
제가 주민등록번호를 키값으로 중복을 체크해야 하는 상황입니다
그런데 중복체크를 세가지를 해야합니다
일단은 디비에 있는 주민번호랑의 비교를 해서 중복체크를 해야하구요
또하나는 제가 새로 입력하는 값들중에 비교를 해야합니다 무슨말이냐면
새로 값을 하나 입력을 한게 111111-1111111 이면 위에 기존 디비에는 없는 즉 중복이 안된 값인데
또하나를 새로 입력한것이 111111-1111111이면 이것은 위에입력한것과 중복인것이죠 저장을안한상태에서 바로
새로입력한값들끼리 중복을 체크해야하는것입니다
또하나는 기존에 디비에 입력한 값을 수정을 해야하는데
수정을 하면 자기것과 자기것을 비교해서 중복이라고 오류가 뜹니다
오늘안에 해야 하는데 도저히 제머리론 불가능한것 같습니다
죄송하지만 좀 도와주십시요
댓글 5
-
CoolGuy
2008.05.13 23:33
-
gogo!
2008.05.13 23:51
새로입력하는 값들을 담는 인터널 테이블을 만들어서 그안에서 중복비교해보는 것도 좋은방법일꺼 같은데요?!
-
bd
2008.05.14 02:30
새로 입력 되는 값을 인터널 테이블에 담은 후 주민등록 번호를 기준으로 sort 해버리면
신규 입력 값에 대한 중복은 해결이 되지 않을까여??
해결되었다는 가정하에 db 에서 주민등록번호로 for all entry in 로 select 걸어서
sy-subrc가 0 떨어지면 중복이 아닐까요?? 하는생각이...드네요
-
루자빗
2008.05.14 17:14
저와 비슷한 경험.... 테이블 컨트롤 같은 모듈풀인가요? 이 경우엔 인터널 테이블로 작업하는 것 밖에 뾰족한 수가 없었던 것 같습니다.
어차피 기존건 수정과 신규 추가를 잘 구분해야 해결이 될텐데요. 체크필드를 하나 주셔서 신규라인 추가시엔 x 등으로 구분을 주시고, 인터널 테이블에서 룹을 돌면서 db select 를 하면 sy-subrc <> 0 이면서 체크필드가 x 가 아닌 경우만 따로 담으면 기존건 수정을 따로 모으시는게 가능할 것 같습니다. 당연히 신규는 x 표시가 되어 있으니 체크가 가능하실거고.... 요렇게 구분만 되면 해결 될 것 같습니다.
class alv로 작업하시는거면 좀 더 수월하겠네요, 체크필드 추가해서 get select row, handle data changed, modify cell 메서드로 기존건 수정, 신규를 구분지으시는게 가능할 것 같습니다.
-
밥먹고아밥해요
2008.05.14 19:05
선배님들의 조언 감사드립니다. 제가 모르는 방법들이 많이 나왔네요 연습을 해봐야겠습니다.
오늘도 행복한 하루되십시요 꾸벅
DATA를 APPEND하기전에 READ구문을써서 중복값을 체크하시면 될듯싶네요!!