안녕하세요. 오랜만에 인사드립니다.
문제가 발생되어서 여러분께 도움을 요청합니다.
인터널 테이블에 아래와 같은 정보가 있습니다.
제품 값 날짜
a 1000 20070511
a 2000 20070512
a 3000 20070513
b 1000 20070511
b 2000 20070512
b 3000 20070513
변경이력에 대해서 리스트로 표현해야 하는데요...
표현방식은
a 1000 2000 20070512
a 2000 3000 20070513
b 1000 2000 20070512
b 2000 3000 20070513
변경된 이력을 검색해서 변경되기 전 값과 변경되고 난 값을 같이 표현해야 합니다.
모든 테이터는 하나의 테이블에 존재하구요...어떻게 돌려야 아래의 표현식으로 나타날지 궁금하네요..^^
그럼 수고하십시동...
댓글 4
-
펠릭스
2007.05.18 20:39
-
나도아밥퍼
2007.05.19 03:42
엥???? 그게 아니라 a값이 1000에서 2000으로 바뀐정보를 보여주쟌하요...
전체 인터널 테이블의 값과 보여주는 값을 보시면 ..변경된 값이 하나더 들어가 있습니다...이걸 구현할려고 하는거죠..
-
SkyDream
2007.05.19 19:54
제품, 값, 날짜 순으로 정렬하신후 internal table을 loop 돌리면서
현재 처리하는 레코드(sy-tabix)와 바로 다음 레코드(sy-tabix + 1)를 정보를 읽어서
제품코드와 값1은 현재레코드의 것으로 넣고, 값2와 날짜는 다음레코드 읽은 것을 넣어서
별도의 internal table(제품코드, 값1,값2,날짜)을 구성한 후 출력하면 되겠네요.
현재 레코드는 loop 돌리는 internal table 의 헤더에 들어오니까 그걸 이용하면 되고
다음 레코드는 loop 안에서 internal table의 index를 sy-tabix + 1 로 지정해서 별도의 Working Area에 read해서 넣으시면 될 것 같구요.
(다음 레코드를 읽으실때 internal table의 전체 레코드수를 초과하는지 여부를 감안해서 코딩하시구요..)
제품코드가 바뀔 경우에는 다음 레코드를 읽어서 이전 제품코드와 동일한지 비교하신후 처리하시구요.
잘 해결하시길 바랍니다.^^
-
나도아밥퍼
2007.05.20 08:51
스카이드림 감사합니다..
그렇게 하니깐 잘 되네요.....감사합니다.
제품->값->날짜 순으로 sorting하면 될텐데요?