SELECT A~BUKRS A~GJAHR A~BELNR A~HKONT B~TXT50
A~BUDAT A~BLDAT A~KOSTL (A~DMBTR) * 1.1 AS APPR_KAMT
INTO CORRESPONDING FIELDS OF TABLE GT_DATA
FROM BSIS AS A
INNER JOIN SKAT AS B
ON A~HKONT = B~SAKNR
WHERE A~BUKRS = P_BUKRS
AND A~GJAHR = P_GJAHR
~ 어쩌구 저쩌구..
중요한건
위의 (A~DMBTR) * 1.1 AS APPR_KAMT 이 구문인데요
BSIS의 DMBTR값에 1.1을 곱해서 (부가세를 계산해야함) 그걸 GT_DATA의 APPR_KAMT필드에
넣어야합니다.
근데 . 이라는게 문법적으로
구문 끝에 완료처리로 쓰이니까 인식을 못하는듯하는데..
DMBTR에 10%를 더할 수 있는 방법이나 계산식, 문법 좀 알려주세요
댓글 4
-
qwert
2010.09.27 21:05
-
엉큼고냥이
2010.09.27 23:23
윗분말씀대로 수식은 인터널테이블에 넣은다음에 계산하셔야합니다.
계산식은 dmbtr + ( dmbtr / 10 ) 또는 dmbtr * ( 11 / 10 )
-
Kate
2010.09.28 00:16
윗분 말씀대로 인터널테이블에 넣되,
1.1을 곱하려면 XXX * '1.1'. 해도 될겁니다. (싱글쿼테이션으로 감싸면 소수점 인식해요) -
맑은하늘
2010.09.28 00:54
가장 일반적인 방법은 상수로 처리를 하는 거예요.
constants co_inctax type p decimals 1 value '1.1'.
~ = dmbtr * co_inctax.
. 이 붙고 안붙고의 문제가 아니고 아쉽겠지만 ABAP open SQL에서는 그러한 multiplication구문도 처리가 안될것입니다. 따라서 여기서는 EXEC SQL을 쓰는 direct SQL이 아닌이상 field 원형 그대로 select 해온 이후, internal 테이블을 순차적으로 loop를 행하면서 1.1을 곱한 이후 modify처리하는게 최선일 듯 합니다.