Quantcast
Channel: SCN : All Content - All Communities
Viewing all articles
Browse latest Browse all 8894

Posting VAT TAX using BAPI_ACC_DOCUMENT_POST, Getting FI/CO Error

$
0
0

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 ?


Viewing all articles
Browse latest Browse all 8894

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>