급여 결과 데이타를 ZHRT100 이라는 CBO 테이블에 값을 넣을려고 하는데요..
그래서 itab에 있는 값을 zhrt100 으로 옮긴 다음에
modify zhrt100. 이렇게 구문을 사용했는데..
프로그램을 실행시키면 예를 들어 열개의 사번을 돌리면 zhrt100 이 테이블에 가장 마지막에
돌았던 사번의 데이타만 zhrt100 에 들어가고 나머지는 데이타가 안 들어갑니다..
어떻게 하면 10개의 사번의 데이타가 다 들어갈 수 있도록 할 수 있는 건가요?
고수님들의 조언 부탁드립니다..^^a
댓글 4
-
Hyui
2008.10.30 21:20
-
Giant
2008.10.30 21:27
modify는 primary key에 근거하여 업데이트 혹은 insert하는 것입니다.
만약에 primary key가 같은 경우 백번 돌려도 마지막 데이타가 업데이트 됩니다.
즉,insert가 안되는것이죠! 아래의 문구를 사용 해보시죠!
INSERT dbtab FROM TABLE itab ACCEPTING DUPLICATE KEYS.
-
SAP폐인
2008.10.30 21:45
Hyui님, Giant님의 말이 둘다 맞습니다.
10개의 사번의 데이터에 대한 Key값이 같다는 건데 구분자를 하나 주셔도 된다면 그렇게 해도 괜찮을 것 같다고 생각됩니다.
-
무한반복
2008.10.30 23:23
MODIFY CBO_Tab FROM Internal_Tab. 구문을 사용해서 해결됐습니다.. 꾸벅..감사합니다.. ^^a
인터널 테이블의 내용을 CBO로 바로 MOVE 시키는 구문을 사용했다면 분명 에러가 날텐데요.....루프문을 이용해서
MODIFY CBO_Tab FROM Internal_Tab. 이렇게 구현해 보세요. 또한 CBO테이블과 데이터에 구분할수 있는 키값이 없게되면
같은 곳에 계속 업데이트가 되는형식이 됩니다. 디버깅돌려보세요~~~~