2011年2月11日

BAPI_ACC_DOCUMENT_POST 建立Park文件TAX item問題

還是用BAPI_ACC_DOCUMENT_POST 建立Park文件的問題。TAX item要在code裡面先處理好,借貸才會相等。步驟如下:

1 Tax不存入internal table ACCOUNTGL,要存入ACCOUNTTAX,指定的ITEMNO_ACC要正確。
2 處理 CURRENCYAMOUNT時,除了field AMT_DOCCUR要有稅額,field AMT_BASE稅基也要一併處理。

處理完成後進行測試,發現以下新的問題,金額借貸不相等,但是item相加是正常的???



檢查tax amount多了,要清除為0


做法:用BADI ACC_DOCUMENT的method CHANGE

DATA: WA_ACCTX TYPE ACCBSET.
LOOP AT C_ACCTX INTO WA_ACCTX.
CLEAR WA_ACCTX-FWSTE.
MODIFY C_ACCTX FROM WA_ACCTX .
ENDLOOP.

再RUN一次BAPI_ACC_DOCUMENT_POST這次正常:

2011年2月10日

由payment term決定baseline date的function module

繼上次寫到的用BAPI_ACC_DOCUMENT_POST 建立Park文件之後出現了新的問題:
在vendor的line item上面只寫入payment term是不夠的,baseline date會變成空的,post時還要再補上baseline date。

以下是計算vendor baseline date的function module
FI_TERMS_OF_PAYMENT_PROPOSE

要計算customer時用這個:GET_BASELINE_DATE