2015 Jan 15 7:58 AM
Hi Experts,
I am facing Following Error while posting BAPI
Error in document: BKPFF $
FI/CO interface: Inconsistent FI/CO document header data for updating
Below Code For BAPI
HEADER-OBJ_TYPE = 'BKPFF'.
HEADER-OBJ_KEY = '$' .
HEADER-OBJ_SYS = sy-sysid.
HEADER-USERNAME = sy-uname.
HEADER-HEADER_TXT = 'TEST BAPI FOR COPA POSTING'.
HEADER-COMP_CODE = '1000'.
HEADER-FISC_YEAR = '2015'.
HEADER-DOC_DATE = SY-DATUM." '20150114'.
HEADER-PSTNG_DATE = SY-DATUM." '20150114'.
HEADER-DOC_TYPE = 'SA'.
HEADER-BUS_ACT = 'RFBU'.
* --------------------------------------------------------------------
* Fill Line 1 of Document Item (Debit)
ACCTGL-itemno_acc = '0000000001'.
ACCTGL-ACCT_KEY = '40'.
ACCTGL-gl_account = '0302002000'.
ACCTGL-stat_con = 'S'.
ACCTGL-pstng_date = sy-datlo.
ACCTGL-item_text = 'TEST POSTING DEBIT ITEM'.
ACCTGL-BUS_AREA = '1002'.
ACCTGL-PROFIT_CTR = 'DABPBI156'.
APPEND ACCTGL.
CLEAR ACCTGL.
* --------------------------------------------------------------------
* Fill Line 2 of Document Item (Credit)
ACCTGL-itemno_acc = '0000000002'.
ACCTGL-ACCT_KEY = '50'.
ACCTGL-gl_account = '0304011000'.
ACCTGL-stat_con = 'H'.
ACCTGL-pstng_date = sy-datlo.
ACCTGL-item_text = 'TEST POSTING CREDIT ITEM'.
ACCTGL-costcenter = 'DABACR156D ' ."'0000006300'.
ACCTGL-BUS_AREA = '1002'.
ACCTGL-PROFIT_CTR = 'DABPBI156'.
APPEND ACCTGL.
CLEAR ACCTGL.
* Fill Line 1 of Document Value.
CURRAMOUNT-itemno_acc = '0000000001'.
CURRAMOUNT-CURR_TYPE = '10'.
CURRAMOUNT-currency = 'INR'.
CURRAMOUNT-currency_iso = 'INR'.
CURRAMOUNT-amt_doccur = '150'.
APPEND CURRAMOUNT.
CLEAR CURRAMOUNT.
* Fill Line 2 of Document Value
CURRAMOUNT-itemno_acc = '0000000002'.
CURRAMOUNT-CURR_TYPE = '10'.
CURRAMOUNT-currency = 'INR'.
CURRAMOUNT-currency_iso = 'INR'.
CURRAMOUNT-amt_doccur = '150'.
APPEND CURRAMOUNT.
CLEAR CURRAMOUNT.
* --------------------------------------------------------------------
CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'
EXPORTING
DOCUMENTHEADER = HEADER
* IMPORTING
* OBJ_TYPE = OBJ_TYPE
* OBJ_KEY = OBJ_KEY
* OBJ_SYS = OBJ_SYS
TABLES
ACCOUNTGL = ACCTGL
* ACCOUNTRECEIVABLE = ACCOUNTRECEIVABLE
* ACCOUNTPAYABLE = ACCOUNTPAYABLE
CURRENCYAMOUNT = CURRAMOUNT
RETURN = RETURN
.
Please give some suggestion as i am not able to figure out the solution for this.
Thanks!
Regards
Saurabh
2015 Jan 15 1:24 PM
Hi Friends,
Thanks for you suggestion.I have resolved the issue.
I have not pass Account Type = 'S' into the BAPI,STAT_CON(Indicator for statistical line items),
CURR_TYPE (Currency Type and Valuation View) input was wrong and ACCT_KEY(Transaction Key) need not required.
Below is updated Correct Code For BAPI Account Posting:
CALL FUNCTION 'OWN_LOGICAL_SYSTEM_GET'
IMPORTING
OWN_LOGICAL_SYSTEM = HEADER-OBJ_SYS
EXCEPTIONS
OWN_LOGICAL_SYSTEM_NOT_DEFINED = 1
OTHERS = 2.
HEADER-OBJ_TYPE = 'BKPFF'.
CONCATENATE sy-datum sy-uzeit into HEADER-OBJ_KEY .
HEADER-USERNAME = sy-uname.
HEADER-HEADER_TXT = 'TEST BAPI FOR COPA POSTING'.
HEADER-COMP_CODE = '1000'.
HEADER-DOC_DATE = SY-DATUM.
HEADER-PSTNG_DATE = SY-DATUM.
HEADER-fisc_year = sy-datum(4).
HEADER-DOC_TYPE = 'SA'.
HEADER-BUS_ACT = 'RFBU'.
HEADER-ref_doc_no = '0123456789'.
* --------------------------------------------------------------------
* Fill Line 1 of Document Item (Debit)
ACCTGL-itemno_acc = '0000000001'.
ACCTGL-gl_account = '0302002000'.
ACCTGL-ASVAL_DATE = sy-datum. "Ref date
ACCTGL-acct_type = 'S'.
ACCTGL-pstng_date = sy-datlo.
ACCTGL-item_text = 'TEST POSTING DEBIT ITEM'.
ACCTGL-COMP_CODE = '1000'. " Company Code
ACCTGL-BUS_AREA = '1002'.
ACCTGL-PROFIT_CTR = 'DABPBI156'.
APPEND ACCTGL.
CLEAR ACCTGL.
* --------------------------------------------------------------------
* Fill Line 2 of Document Item (Credit)
ACCTGL-itemno_acc = '0000000002'.
ACCTGL-gl_account = '0304011000'.
ACCTGL-acct_type = 'S'.
ACCTGL-pstng_date = sy-datlo.
ACCTGL-item_text = 'TEST POSTING CREDIT ITEM'.
ACCTGL-costcenter = 'DABACR156D' ."'0000006300'.
ACCTGL-COMP_CODE = '1000'.
ACCTGL-BUS_AREA = '1002'.
ACCTGL-PROFIT_CTR = 'DABPBI156'.
APPEND ACCTGL.
CLEAR ACCTGL.
* Fill Line 1 of Document Value.
CURRAMOUNT-itemno_acc = '0000000001'.
CURRAMOUNT-CURR_TYPE = '00'.
CURRAMOUNT-currency = 'INR'.
CURRAMOUNT-amt_doccur = '150'.
APPEND CURRAMOUNT.
CLEAR CURRAMOUNT.
* Fill Line 2 of Document Value
CURRAMOUNT-itemno_acc = '0000000002'.
CURRAMOUNT-CURR_TYPE = '00'. "10
CURRAMOUNT-currency = 'INR'.
CURRAMOUNT-amt_doccur = '150' * ( -1 ).
APPEND CURRAMOUNT.
CLEAR CURRAMOUNT.
* --------------------------------------------------------------------
CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'
EXPORTING
DOCUMENTHEADER = HEADER
* IMPORTING
* OBJ_TYPE = OBJ_TYPE
* OBJ_KEY = OBJ_KEY
* OBJ_SYS = OBJ_SYS
TABLES
ACCOUNTGL = ACCTGL
CURRENCYAMOUNT = CURRAMOUNT
RETURN = RETURN
.
2015 Jan 15 8:26 AM
Hi Saurabh,
Try removing the Line HEADER-OBJ_KEY = '$' .
Regards,
Ron
2015 Jan 15 8:40 AM
Hi Ron,
I have already removed these line HEADER-OBJ_KEY = '$' .
But i am facing same error.
2015 Jan 15 8:50 AM
Hi,
try to post with out passing the OBJ_TYPE and OBJ_KEY .
Also needs to be pass credit and debit amount should be same.
like , for first line item is 150 , in second line item it should be -150.
2015 Jan 15 9:04 AM
Hi Kiran,
I tried your suggested comment.
but facing same error.
2015 Jan 15 9:09 AM
Take a help from functional consultant and first post the document from FB01 and check , it is working or not with same data. If it is worked in through the FB01 , your BAPI should work.
2015 Jan 15 9:27 AM
Hi kiran,
Thanks for your suggestion.I will concern with functional consultant.
Let you know once it is resolved.
2015 Jan 15 1:24 PM
Hi Friends,
Thanks for you suggestion.I have resolved the issue.
I have not pass Account Type = 'S' into the BAPI,STAT_CON(Indicator for statistical line items),
CURR_TYPE (Currency Type and Valuation View) input was wrong and ACCT_KEY(Transaction Key) need not required.
Below is updated Correct Code For BAPI Account Posting:
CALL FUNCTION 'OWN_LOGICAL_SYSTEM_GET'
IMPORTING
OWN_LOGICAL_SYSTEM = HEADER-OBJ_SYS
EXCEPTIONS
OWN_LOGICAL_SYSTEM_NOT_DEFINED = 1
OTHERS = 2.
HEADER-OBJ_TYPE = 'BKPFF'.
CONCATENATE sy-datum sy-uzeit into HEADER-OBJ_KEY .
HEADER-USERNAME = sy-uname.
HEADER-HEADER_TXT = 'TEST BAPI FOR COPA POSTING'.
HEADER-COMP_CODE = '1000'.
HEADER-DOC_DATE = SY-DATUM.
HEADER-PSTNG_DATE = SY-DATUM.
HEADER-fisc_year = sy-datum(4).
HEADER-DOC_TYPE = 'SA'.
HEADER-BUS_ACT = 'RFBU'.
HEADER-ref_doc_no = '0123456789'.
* --------------------------------------------------------------------
* Fill Line 1 of Document Item (Debit)
ACCTGL-itemno_acc = '0000000001'.
ACCTGL-gl_account = '0302002000'.
ACCTGL-ASVAL_DATE = sy-datum. "Ref date
ACCTGL-acct_type = 'S'.
ACCTGL-pstng_date = sy-datlo.
ACCTGL-item_text = 'TEST POSTING DEBIT ITEM'.
ACCTGL-COMP_CODE = '1000'. " Company Code
ACCTGL-BUS_AREA = '1002'.
ACCTGL-PROFIT_CTR = 'DABPBI156'.
APPEND ACCTGL.
CLEAR ACCTGL.
* --------------------------------------------------------------------
* Fill Line 2 of Document Item (Credit)
ACCTGL-itemno_acc = '0000000002'.
ACCTGL-gl_account = '0304011000'.
ACCTGL-acct_type = 'S'.
ACCTGL-pstng_date = sy-datlo.
ACCTGL-item_text = 'TEST POSTING CREDIT ITEM'.
ACCTGL-costcenter = 'DABACR156D' ."'0000006300'.
ACCTGL-COMP_CODE = '1000'.
ACCTGL-BUS_AREA = '1002'.
ACCTGL-PROFIT_CTR = 'DABPBI156'.
APPEND ACCTGL.
CLEAR ACCTGL.
* Fill Line 1 of Document Value.
CURRAMOUNT-itemno_acc = '0000000001'.
CURRAMOUNT-CURR_TYPE = '00'.
CURRAMOUNT-currency = 'INR'.
CURRAMOUNT-amt_doccur = '150'.
APPEND CURRAMOUNT.
CLEAR CURRAMOUNT.
* Fill Line 2 of Document Value
CURRAMOUNT-itemno_acc = '0000000002'.
CURRAMOUNT-CURR_TYPE = '00'. "10
CURRAMOUNT-currency = 'INR'.
CURRAMOUNT-amt_doccur = '150' * ( -1 ).
APPEND CURRAMOUNT.
CLEAR CURRAMOUNT.
* --------------------------------------------------------------------
CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'
EXPORTING
DOCUMENTHEADER = HEADER
* IMPORTING
* OBJ_TYPE = OBJ_TYPE
* OBJ_KEY = OBJ_KEY
* OBJ_SYS = OBJ_SYS
TABLES
ACCOUNTGL = ACCTGL
CURRENCYAMOUNT = CURRAMOUNT
RETURN = RETURN
.
2015 Jan 15 1:30 PM
Thanks Saurabh, this has solved our problem of Account & COPA posting.