Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Error in BAPI " BAPI_ACC_DOCUMENT_POST "

Former Member
10,511

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

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
5,776

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

       .

8 REPLIES 8
Read only

Former Member
0 Likes
5,776

Hi Saurabh,

Try removing the Line HEADER-OBJ_KEY    = '$'     .


Regards,



Ron

Read only

0 Likes
5,776

Hi Ron,

I have already removed these line HEADER-OBJ_KEY    = '$'  .

But i am facing same error.

Read only

KiranJ
Active Participant
0 Likes
5,776

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.

Read only

Former Member
0 Likes
5,776

Hi Kiran,

I tried your suggested comment.

but facing same error.

Read only

KiranJ
Active Participant
0 Likes
5,776

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.

Read only

Former Member
0 Likes
5,776

Hi kiran,

Thanks for your suggestion.I will concern with functional consultant.

Let you know once it is resolved.

Read only

Former Member
0 Likes
5,777

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

       .

Read only

0 Likes
5,776

Thanks Saurabh, this has solved our problem of Account & COPA posting.