DATA : BEGIN OF lt_salesqty OCCURS 0,
buyer(3) TYPE c,
kunag LIKE vbrk-kunag, "Customer
matkl LIKE vbrp-matkl, "모델
matnr LIKE vbrp-matnr, "Material
fkimg1 LIKE vbrp-fkimg, "Sales Qty
price1 LIKE konv-kbetr, "Sales단가
amount1 LIKE konv-kwert, "Sales금액
amount1_k LIKE cofit-tslvt, "Sales금액(KRW)
waers LIKE konv-waers, "Currency
END OF lt_salesqty,
LOOP AT lt_salesqty.
MOVE: lt_salesqty-buyer TO t_salesqty-buyer,
lt_salesqty-kunag TO t_salesqty-kunag,
lt_salesqty-matkl TO t_salesqty-matkl,
lt_salesqty-matnr TO t_salesqty-matnr,
lt_salesqty-fkimg1 TO t_salesqty-fkimg1,
lt_salesqty-price1 TO t_salesqty-price1,
lt_salesqty-amount1 TO t_salesqty-amount1,
lt_salesqty-amount1_k TO t_salesqty-amount1_k,
lt_salesqty-waers TO t_salesqty-waers.
COLLECT t_salesqty.
ENDLOOP.
을 했는데 price1은 판매단가라서 sum이 되면 안되는데,
같이 sum이 되어 버리네여
price1 을 제외하고 fkimg1, amount1, amount1_k 필드만 sum을
하고 싶은데 고수님들의 해결방법을 듣고 싶습니다.
댓글 7
-
헐크호간
2009.09.16 21:37
-
MadMax
2009.09.16 21:37
collect 는 i,p type 의 field 는 자동 sum 하는 기능이 있습니다. sum field 의 임의 조정은 안되는걸로 알고 있습니다.
sum field 의 정의가 임의로 되었으면 좋겠네요... 쓰다보면 필요한 기능이라...
-
MadMax
2009.09.16 21:39
참고로 numc 나 char 로 선언을 하면 collect key 로 인식이 됩니다. ; collect 는 key 가 같아야 나머지 field 를 sum 한다지요.. 아마도....
-
activeman
2009.09.16 21:40
collect 는 문자타입, 숫자, 숫자, 숫자 로 구성되어 있을때 문자타입에 따라 숫자필드가 sum 이 되는 구문입니다.
인터널 테이블을 matnr, fkimg1, amount1, amount1_k 로 구성하시면(다른 필드는 없애면 되겠지요)
matnr에 따라 나머지 값이 sum이 됩니다.
즐밥하세요.
-
하드코딩
2009.09.16 23:40
type 바꾸는 방법외에 이런건 어떨까요?
LOOP AT lt_salesqty.
MOVE: lt_salesqty-buyer TO t_salesqty-buyer,
lt_salesqty-kunag TO t_salesqty-kunag,
lt_salesqty-matkl TO t_salesqty-matkl,
lt_salesqty-matnr TO t_salesqty-matnr,
lt_salesqty-fkimg1 TO t_salesqty-fkimg1,
"이건삭제 lt_salesqty-price1 TO t_salesqty-price1,
lt_salesqty-amount1 TO t_salesqty-amount1,
lt_salesqty-amount1_k TO t_salesqty-amount1_k,
lt_salesqty-waers TO t_salesqty-waers.
at end of matnr.
lt_salesqty-price1 TO t_salesqty-price1,
endat.
COLLECT t_salesqty.
ENDLOOP.
단, matnr 별로 sorting 이 되어있다는 전제하에..
-
MadMax
2009.09.18 23:55
위 문장에서 at end of matnr 후에 sum. 해야 합니다. ^^
-
하드코딩
2009.09.19 01:50
sum하면 안되구요...price1 값을 sum하지 않기위한거니까요.
price1 값을 미리 변수에 받아놓고, at구문에서 그 변수로 move해야겠네요..
소수점이 없다면 NUMC 타입으로 선언하시면 되고요..
소숫점이 있다면 CHAR로 하셔야겠네요..