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

BAPI_ACC_DOCUMENT_POST please guide me

Former Member
0 Likes
931

Hi Guru's,

I am using the BAPI to post Optional Expenses and I am getting the following error:

Error in document: BKPFF $ DEVCLNT300

FI/CO interface: Line item entered several times

Please suggest me ..

Thanks in advance

8 REPLIES 8
Read only

Former Member
0 Likes
851

Hi Sagar,

Can you paste your code.

Regards,

Atish

Read only

0 Likes
851

Hi Atish , This is the piece of code I am using.

DATA: I_DOCUMENTHEADER LIKE BAPIACHE09 OCCURS 0 WITH HEADER LINE,

I_ACCOUNTGL LIKE BAPIACGL09 OCCURS 0 WITH HEADER LINE,

I_ACCOUNTRECEIVABLE LIKE BAPIACAR09 OCCURS 0 WITH HEADER LINE,

I_CURRENCYAMOUNT LIKE BAPIACCR09 OCCURS 0 WITH HEADER LINE,

I_RETURN LIKE BAPIRET2 OCCURS 0 WITH HEADER LINE.

data : v_obj_type like bapiache02-obj_type,

v_obj_key like bapiache02-obj_key,

v_obj_sys like bapiache02-obj_sys.

I_DOCUMENTHEADER-BUS_ACT = 'RFBU'.

I_DOCUMENTHEADER-USERNAME = 'ACPUPPALAS'.

*I_DOCUMENTHEADER-OBJ_SYS = 'DEVCLNT300'.

*I_DOCUMENTHEADER-OBJ_type = 'BKPF'.

*I_DOCUMENTHEADER-OBJ_key = '1100000057'.

I_DOCUMENTHEADER-HEADER_TXT = '123'.

I_DOCUMENTHEADER-COMP_CODE = '0001'.

I_DOCUMENTHEADER-DOC_DATE = '20070928'.

I_DOCUMENTHEADER-PSTNG_DATE = '20070928'.

I_DOCUMENTHEADER-FISC_YEAR = '2007'.

I_DOCUMENTHEADER-FIS_PERIOD = '07'.

I_DOCUMENTHEADER-DOC_TYPE = 'SA'.

I_DOCUMENTHEADER-REF_DOC_NO = '100000040'.

APPEND I_DOCUMENTHEADER.

I_ACCOUNTGL-ITEMNO_ACC = 0000000001.

I_ACCOUNTGL-GL_ACCOUNT = 449000.

I_ACCOUNTGL-COSTCENTER = 'TEST2'.

APPEND I_ACCOUNTGL.

I_ACCOUNTRECEIVABLE-ITEMNO_ACC = 0000000001.

I_ACCOUNTRECEIVABLE-CUSTOMER = 'TEST1'.

APPEND I_ACCOUNTRECEIVABLE.

I_CURRENCYAMOUNT-ITEMNO_ACC = 0000000001.

I_CURRENCYAMOUNT-CURRENCY = 'EUR'.

I_CURRENCYAMOUNT-AMT_DOCCUR = 100.

APPEND I_CURRENCYAMOUNT.

*I_ACCOUNTGL-ITEMNO_ACC = 0000000001.

*I_ACCOUNTGL-GL_ACCOUNT = 400000.

*I_ACCOUNTGL-COSTCENTER = 'TEST2'.

*APPEND I_ACCOUNTGL.

I_CURRENCYAMOUNT-ITEMNO_ACC = 0000000002.

I_CURRENCYAMOUNT-CURRENCY = 'EUR'.

I_CURRENCYAMOUNT-AMT_DOCCUR = 100 * -1 .

APPEND I_CURRENCYAMOUNT.

CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'

EXPORTING

documentheader = I_DOCUMENTHEADER

  • CUSTOMERCPD =

  • CONTRACTHEADER =

IMPORTING

OBJ_TYPE = v_obj_type

OBJ_KEY = v_obj_key

OBJ_SYS = v_obj_sys

tables

ACCOUNTGL = I_ACCOUNTGL

ACCOUNTRECEIVABLE = I_ACCOUNTRECEIVABLE

  • ACCOUNTPAYABLE =

  • ACCOUNTTAX =

currencyamount = I_CURRENCYAMOUNT

  • CRITERIA =

  • VALUEFIELD =

  • EXTENSION1 =

return = I_RETURN

  • PAYMENTCARD =

  • CONTRACTITEM =

  • EXTENSION2 =

  • REALESTATE =

  • ACCOUNTWT =

.

LOOP AT I_RETURN.

WRITE:/ I_RETURN-MESSAGE.

ENDLOOP.

Read only

0 Likes
851

Hi Sagar,

Use COMMIT WORK or FM BAPI_TRANSACTION_COMMIT after BAPI and see what is the result.

Regards,

Atish

Read only

0 Likes
851

Sagar,

Try making this change... (add CLEAR)

I_ACCOUNTGL-ITEMNO_ACC = 0000000001.

I_ACCOUNTGL-GL_ACCOUNT = 449000.

I_ACCOUNTGL-COSTCENTER = 'TEST2'.

APPEND I_ACCOUNTGL.

<b>CLEAR I_ACCOUNTGL.</b>

I_ACCOUNTRECEIVABLE-ITEMNO_ACC = 0000000001.

I_ACCOUNTRECEIVABLE-CUSTOMER = 'TEST1'.

APPEND I_ACCOUNTRECEIVABLE.

I_CURRENCYAMOUNT-ITEMNO_ACC = 0000000001.

I_CURRENCYAMOUNT-CURRENCY = 'EUR'.

I_CURRENCYAMOUNT-AMT_DOCCUR = 100.

APPEND I_CURRENCYAMOUNT.

<b>CLEAR I_CURRENCYAMOUNT.</b>

*I_ACCOUNTGL-ITEMNO_ACC = 0000000001.

*I_ACCOUNTGL-GL_ACCOUNT = 400000.

*I_ACCOUNTGL-COSTCENTER = 'TEST2'.

*APPEND I_ACCOUNTGL.

I_CURRENCYAMOUNT-ITEMNO_ACC = 0000000002.

I_CURRENCYAMOUNT-CURRENCY = 'EUR'.

I_CURRENCYAMOUNT-AMT_DOCCUR = 100 * -1 .

APPEND I_CURRENCYAMOUNT.

<b>CLEAR I_CURRENCYAMOUNT.</b>

reward if helpful,

Karthik

Read only

0 Likes
851

Hi ,

I have used FM BAPI_TRANSACTION_COMMIT and also clear accountgl and currencyitem but still the same error coming.

I have to post Optional Expenses to transacion FB01.

Please suggest if any other BAPI with code if possible.

Thanks in advance

Read only

0 Likes
851

Hi all,

Now my code looks like this.

DATA: I_DOCUMENTHEADER LIKE BAPIACHE09 OCCURS 0 WITH HEADER LINE,

I_ACCOUNTGL LIKE BAPIACGL09 OCCURS 0 WITH HEADER LINE,

I_ACCOUNTRECEIVABLE LIKE BAPIACAR09 OCCURS 0 WITH HEADER LINE,

I_CURRENCYAMOUNT LIKE BAPIACCR09 OCCURS 0 WITH HEADER LINE,

I_RETURN LIKE BAPIRET2 OCCURS 0 WITH HEADER LINE.

data: wa_return like line of i_return.

data : v_obj_type like bapiache02-obj_type,

v_obj_key like bapiache02-obj_key,

v_obj_sys like bapiache02-obj_sys.

I_DOCUMENTHEADER-BUS_ACT = 'RFBU'.

I_DOCUMENTHEADER-USERNAME = 'ACPUPPALAS'.

*I_DOCUMENTHEADER-OBJ_SYS = 'DEVCLNT300'.

*I_DOCUMENTHEADER-OBJ_type = 'BKPF'.

*I_DOCUMENTHEADER-OBJ_key = '1100000057'.

I_DOCUMENTHEADER-HEADER_TXT = '123'.

I_DOCUMENTHEADER-COMP_CODE = '0001'.

I_DOCUMENTHEADER-DOC_DATE = '20070928'.

I_DOCUMENTHEADER-PSTNG_DATE = '20070928'.

I_DOCUMENTHEADER-FISC_YEAR = '2007'.

I_DOCUMENTHEADER-FIS_PERIOD = '07'.

I_DOCUMENTHEADER-DOC_TYPE = 'SA'.

I_DOCUMENTHEADER-REF_DOC_NO = '100000040'.

APPEND I_DOCUMENTHEADER.

I_ACCOUNTGL-ITEMNO_ACC = 0000000001.

I_ACCOUNTGL-GL_ACCOUNT = 449000.

I_ACCOUNTGL-COSTCENTER = 'TEST2'.

APPEND I_ACCOUNTGL.

CLEAR I_ACCOUNTGL.

I_ACCOUNTRECEIVABLE-ITEMNO_ACC = 0000000001.

I_ACCOUNTRECEIVABLE-CUSTOMER = 'TEST1'.

APPEND I_ACCOUNTRECEIVABLE.

I_CURRENCYAMOUNT-ITEMNO_ACC = 0000000001.

I_CURRENCYAMOUNT-CURRENCY = 'EUR'.

I_CURRENCYAMOUNT-AMT_DOCCUR = 100.

APPEND I_CURRENCYAMOUNT.

CLEAR I_CURRENCYAMOUNT.

*I_ACCOUNTGL-ITEMNO_ACC = 0000000001.

*I_ACCOUNTGL-GL_ACCOUNT = 400000.

*I_ACCOUNTGL-COSTCENTER = 'TEST2'.

*APPEND I_ACCOUNTGL.

I_CURRENCYAMOUNT-ITEMNO_ACC = 0000000002.

I_CURRENCYAMOUNT-CURRENCY = 'EUR'.

I_CURRENCYAMOUNT-AMT_DOCCUR = 100 * -1 .

APPEND I_CURRENCYAMOUNT.

CLEAR I_CURRENCYAMOUNT.

CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'

EXPORTING

documentheader = I_DOCUMENTHEADER

  • CUSTOMERCPD =

  • CONTRACTHEADER =

IMPORTING

OBJ_TYPE = v_obj_type

OBJ_KEY = v_obj_key

OBJ_SYS = v_obj_sys

tables

ACCOUNTGL = I_ACCOUNTGL

ACCOUNTRECEIVABLE = I_ACCOUNTRECEIVABLE

  • ACCOUNTPAYABLE =

  • ACCOUNTTAX =

currencyamount = I_CURRENCYAMOUNT

  • CRITERIA =

  • VALUEFIELD =

  • EXTENSION1 =

return = I_RETURN

  • PAYMENTCARD =

  • CONTRACTITEM =

  • EXTENSION2 =

  • REALESTATE =

  • ACCOUNTWT =

.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

  • EXPORTING

  • WAIT =

  • IMPORTING

  • RETURN =

.

LOOP AT I_RETURN.

WRITE:/ I_RETURN-MESSAGE.

ENDLOOP.

Read only

0 Likes
851

Hi Sagar,

Try BAPI_ACC_GL_POSTING_POST

Regards,

Atish

Read only

0 Likes
851

Try this:

I_DOCUMENTHEADER-USERNAME = sy-uname.

Also, debug the demo program ACC_BAPI_TEST_DOCUMENT

Cheers,

Sougata.