Hi,
I have post including taxes,
I have used below code, i am always getting FI/CO interface: Line item entered several times
With the code,
Header :
cs_bapi_header-obj_type = 'BKPFF'.
cs_bapi_header-obj_key = '$'.
cs_bapi_header-obj_sys = sy-mandt.
cs_bapi_header-bus_act = 'RFBU'.
cs_bapi_header-username = sy-uname. "User Name
cs_bapi_header-comp_code = is_header-bukrs. "Company Code
cs_bapi_header-doc_type = is_header-blart. "Document Type
cs_bapi_header-doc_date = is_header-bldat. "Document Date
cs_bapi_header-pstng_date = is_header-budat. "Posting Date
cs_bapi_header-fis_period = is_header-monat. "Period
cs_bapi_header-ref_doc_no = is_header-xblnr. "Reference
cs_bapi_header-header_txt = is_header-bktxt. "Header Text
Item Data,
GL
ls_bapi_gl-itemno_acc = is_item-line_item_no. "Line Item Number
ls_bapi_gl-gl_account = is_item-saknr. "GL Account
ls_bapi_gl-profit_ctr = is_item-prctr. "Profit Centre
ls_bapi_gl-costcenter = is_item-kostl. "Cost Centre
ls_bapi_gl-orderid = is_item-aufnr. "Internal Order
ls_bapi_gl-fis_period = is_header-monat. "Period
ls_bapi_gl-pstng_date = is_header-budat. "Posting Date
ls_bapi_gl-tax_code = is_item-mwskz. "Tax Code
APPEND ls_bapi_gl TO ct_bapi_gl.
Currency
ls_currency-itemno_acc = is_item-line_item_no.
ls_currency-currency = is_header-waers."Currency
IF is_item-dmbtr IS NOT INITIAL.
ls_currency-amt_doccur = is_item-dmbtr. "Debit Amount
ls_currency-amt_base = is_item-dmbtr. "Amount Base
lv_amount_base = is_item-dmbtr.
ELSE.
ls_currency-amt_doccur = is_item-wrbtr * -1. "Credit Amount
ls_currency-amt_base = is_item-wrbtr * -1. "Amount Base
lv_amount_base = is_item-wrbtr * -1.
ENDIF.
*---------------------------
"New Code - Test
IF NOT is_item-mwskz IS INITIAL.
CALL FUNCTION 'CALCULATE_TAX_FROM_NET_AMOUNT'
EXPORTING
i_bukrs = is_header-bukrs
i_mwskz = is_item-mwskz
i_waers = lv_currency
i_wrbtr = lv_amount_base
IMPORTING
e_fwste = lv_amount_tax
TABLES
t_mwdat = lt_mwdat
EXCEPTIONS
bukrs_not_found = 1
country_not_found = 2
mwskz_not_defined = 3
mwskz_not_valid = 4
ktosl_not_found = 5
kalsm_not_found = 6
parameter_error = 7
knumh_not_found = 8
kschl_not_found = 9
unknown_error = 10
account_not_found = 11
txjcd_not_valid = 12
OTHERS = 13.
IF sy-subrc <> 0.
"Do some thing
ELSE.
* ls_currency-amt_base = lv_amount_base.
READ TABLE lt_mwdat INTO ls_mwdat INDEX 1.
* ls_currency-amt_doccur = ls_mwdat-wmwst.
ls_currency-tax_amt = lv_amount_tax.
ENDIF.
ENDIF.
"New Code - Test
*---------------------------
ADD ls_currency-amt_doccur TO cv_balance.
APPEND ls_currency TO ct_currency.
CLEAR ls_currency.
TAX
IF NOT is_item-mwskz IS INITIAL.
CALL FUNCTION 'CALCULATE_TAX_FROM_NET_AMOUNT'
EXPORTING
i_bukrs = is_header-bukrs
i_mwskz = is_item-mwskz
i_waers = lv_currency1
i_wrbtr = lv_amount_base1
IMPORTING
e_fwste = lv_amount_tax1
TABLES
t_mwdat = lt_mwdat1
EXCEPTIONS
bukrs_not_found = 1
country_not_found = 2
mwskz_not_defined = 3
mwskz_not_valid = 4
ktosl_not_found = 5
kalsm_not_found = 6
parameter_error = 7
knumh_not_found = 8
kschl_not_found = 9
unknown_error = 10
account_not_found = 11
txjcd_not_valid = 12
OTHERS = 13.
IF sy-subrc <> 0.
"Do some thing
ELSE.
READ TABLE lt_mwdat1 INTO ls_mwdat1 INDEX 1.
ls_bapi_tax-itemno_acc = is_item-line_item_no. "Line Item Number
ls_bapi_tax-tax_code = is_item-mwskz. "Tax Code
*** ls_bapi_tax-gl_account = is_item-saknr. "GL Account
ls_bapi_tax-cond_key = ls_mwdat1-kschl.
ls_bapi_tax-taxjurcode = ls_mwdat1-txjcd.
ls_bapi_tax-taxjurcode_deep = ls_mwdat1-txjcd_deep.
ls_bapi_tax-taxjurcode_level = ls_mwdat1-txjlv.
ENDIF.
ENDIF.
"New Code - Test
*---------------------------
APPEND ls_bapi_tax TO ct_tax.
CLEAR ls_bapi_tax.
Posting,
CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'
EXPORTING
documentheader = ls_doc_header
TABLES
accountgl = lt_accnt_gl
accounttax = lt_tax
currencyamount = lt_currency_amt
return = lt_return.
Can any one identify the issue ?