GT_ITAB의 레코드를 GT_REAL에 옮기려고 합니다. 먼저 GT_ITAB의 첫 인덱스는 GT_REAL의 필드 A,B,C,D,E에 채워주며
GT_ITAB의 두번째 인덱스는 GT_REAL의 필드 F,G,H,I,J에 채워줌니다 또 다시 GT_ITAB의 세번째 인덱스는 GT_REAL의
A,B,C,D,E필드에 채워주며 다음 인덱스는 F,G,H,I,J에 차례로 채워줌니다 만약 GT_ITAB의 레코드 개수가 6이면 GT_REAL
의 레코드 수는 3이 되겠죠 만약 레코드으 개수가 홀수(예:5)라고 한다면 GT_REAL 의 레코드 개수는 3이고 F,G,H,I,J값은
NULL이 되겠죠 이 로직을 구현할려고 합니다 아직 학생이라 모르는 것이 많네요 도와주세요 .. 감사합니다..
댓글 5
-
심마니
2008.10.23 01:29
-
열심히
2008.10.23 01:51
gt_itab의 index 를 2로 나눈 나머지가 1이면 append 0이면 modify 하라는 말씀이시죠 될것 같네요.. 간단히 해결할 수 있는데 괜히 어렵게 생각했네여 감사합니다....
-
열심히
2008.10.23 02:03
자세한 답변 기다립니다.. 꾸벅
-
보나
2008.10.23 02:16
DATA: LV_CNT TYPE I, "홀짝구분변수
LV_TOT TYPE I.
DESCRIBE TABLE GT_ITAB LINES LV_TOT. "전체라인수
CLEAR: GT_REAL, GT_REAL[].
LOOP AT GT_ITAB.
LV_CNT = sy-tabix MOD 2. "2로나누어 홀짝구분
IF LV_CNT = 0. "짝인경우
GT_REAL-F = GT_ITAB-A.
GT_REAL-G = GT_ITAB-B.
GT_REAL-H = GT_ITAB-C.
GT_REAL-I = GT_ITAB-D.
GT_REAL-J = GT_ITAB-E.
APPEND GT_REAL. CLEAR GT_REAL.
ELSE. "LV_CNT = 1. "홀인경우
GT_REAL-A = GT_ITAB-A.
GT_REAL-B = GT_ITAB-B.
GT_REAL-C = GT_ITAB-C.
GT_REAL-D = GT_ITAB-D.
GT_REAL-E = GT_ITAB-F.
IF sy-tabix = LV_TOT. "전체라인수가 홀수에포함될경우 마지막줄처리
APPEND GT_REAL. CLEAR GT_REAL.
ENDIF.
ENDIF.
ENDLOOP. -
열심히
2008.10.23 02:34
정말 감사합니다 ..
간단하게 생각하세요..스위치개념을 쓰시면 되겠네요..append gt_real을 스위치 개념으로 하시면 됩니다.