internal table안에 데이터가..
aaa bb 111
aaa cc 222 일 때
aaa dd 333 을 만들고 싶은데...
어떻게 해야될지 모르겠어요.
좋은 방법 좀 알려주세요.
댓글 8
-
페리
2010.04.17 01:50
-
버미!
2010.04.17 01:53
뭔가..사연이 있는 거 같은데..위의 문의한 소스만으로만 요구하시는 답변이 나올런지...
-
맨날초보
2010.04.17 02:01
버미님 : 제가 궁극적으로 구하고자 하는건 매출원가 입니다. 그러다보니...기초재고+입고 => 누적이라는 값을 갖게 하고...이렇게 이렇게 더해서 매출원가 = 누적 - (기말재고+타계정) 을 뽑고자 하는거거든요
어려워요. ㅠㅠㅠ 우선 안에서 더하는거부터 계산하려고 질문 드렸습니다. 내용은 위와 같아요.
-
덩콘
2010.04.17 02:03
혹시 write문 쓰신다면
테이블이 table aaa의 필드명이 field1, 2, 3 이라고할때
at end of field1.
sum.
write table-field1, table-field2, table-field3.
endat.
하시면 되는데 alv라면 루프 도는 수밖에;;
-
맨날초보
2010.04.17 02:15
덩콘님 : 애석하게도 ALV 써요. 흠....인터널테이블에 어케 담을지... 고민되서 질문 드렸습니다. ㅠㅠ -
덩콘
2010.04.17 03:34
혹시 순서때매 그러시면 그냥 루프돌려서 담고 마지막에 sorting하면 간단히 해결되지 않을까요?
-
맨날초보
2010.04.17 03:40
덩콘님 : 위에 질문에서 보면 aaa dd 333은 위에 두개값을 더해서 생성되는거에요. 즉, 1,2 라인을 더해서 3번째 라인을 만들어 내야되는거죠. dd도 만들어야되고, 333<==합계도 내야되는데..... 통 방법이 떠오르지 않습니다.
-
진현태
2010.04.19 18:56
위에 페리님 말씀대로 하시면 되겠네요..
만약 aaa bb 11, aaa cc 22 도 있어야되고 aaa dd 33 도 있어야한다면
LOOP AT ITAB.
append itab to itab_tmp.
ITAB_TMP-FIELD1 = ITAB-FIELD1.
ITAB_TMP-FIELD2 = 'DD'.
ITAB_TMP-FIELD3 = ITAB-FIELD3.
COLLECT ITAB_TMP.
ENDLOOP.
LOOP AT ITAB.
ITAB_TMP-FIELD1 = ITAB-FIELD1.
ITAB_TMP-FIELD2 = 'DD'.
ITAB_TMP-FIELD3 = ITAB-FIELD3.
COLLECT ITAB_TMP.
ENDLOOP.
이렇게 하면 될려나요 ㅎㅎ;