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

Issue with posting G/L using the BAPI " BAPI_ACC_DOCUMENT_POST"

Former Member
0 Likes
1,063

Hi all,

I am trying to create a G/L document using the BAPI "BAPI_ACC_DOCUMENT_POST". The Bapi is returning me a success message, but i am not able to see the document in BKPF/BSEG.

Can somebody please let me know if there is any customization that needs to be done to get the document number reflected in the corresponding tables after i execute this BAPI.

Here is the part of the code that i am using to fill the header structure:

docheader-obj_type = 'REACI'.

docheader-obj_key = 'TEST'.

docheader-obj_sys = 'ECSCLNT010'.

docheader-bus_act = 'RFBU'.

docheader-username = sy-uname.

docheader-header_txt = 'HDR TEXT'.

docheader-comp_code = 'SC01'.

docheader-doc_date = sy-datum.

docheader-pstng_date = sy-datum.

CASE wa_input_tmp-batch_type .

WHEN '0'.

docheader-doc_type = 'SA'.

WHEN '1'.

docheader-doc_type = 'RA'.

ENDCASE.

Any help is much appreciated.

Thanks in Advance,

Suresh

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
849

See the below code :

I have tested program in my system :

*

*&---HEADER DECLARATION

DATA: HEADER TYPE BAPIACHE09. " HEADER DATA

**********************************************************************

  • INTERNAL TABLE DECLARATION

**********************************************************************

*&----G/L ACCOUNT ITEM

DATA: ACCOUNTGL TYPE STANDARD TABLE OF BAPIACGL09.

*&---CURRENCY ITEMS

DATA: CURRENCY_AMOUNT TYPE STANDARD TABLE OF BAPIACCR09.

*&----RETURN PARAMETER

DATA: RETURN TYPE STANDARD TABLE OF BAPIRET2 with header line.

**********************************************************************

  • WORK-AREA DECLARATION

**********************************************************************

*&----WORKAREA FOR G/L ACCOUNT ITEM

DATA: WA_ACCOUNTGL TYPE BAPIACGL09.

*&---WORKAREA FOR CURRENCY ITEMS

DATA: WA_CURRENCY_AMOUNT TYPE BAPIACCR09.

**********************************************************************

  • INITIALIZATION

**********************************************************************

HEADER-HEADER_TXT = 'TEST HEADER'.

HEADER-USERNAME = 'DEVELOPER'.

HEADER-COMP_CODE = '0002'.

HEADER-FISC_YEAR = '2007'.

HEADER-DOC_DATE = '20070502'.

HEADER-PSTNG_DATE = '20070502'.

HEADER-TRANS_DATE = '20070502'.

HEADER-DOC_TYPE = 'SA'.

HEADER-BUS_ACT = 'RFBU'.

WA_ACCOUNTGL-ITEMNO_ACC = '0000000010'.

WA_ACCOUNTGL-GL_ACCOUNT = '0000113020'.

WA_ACCOUNTGL-ITEM_TEXT = 'SO_DOC'.

WA_ACCOUNTGL-DE_CRE_IND = 'S'.

APPEND WA_ACCOUNTGL TO ACCOUNTGL.

CLEAR WA_ACCOUNTGL.

WA_ACCOUNTGL-ITEMNO_ACC = '0000000020'.

WA_ACCOUNTGL-GL_ACCOUNT = '0000113020'.

WA_ACCOUNTGL-ITEM_TEXT = 'SO_DOC'.

WA_ACCOUNTGL-DE_CRE_IND = 'H'.

APPEND WA_ACCOUNTGL TO ACCOUNTGL.

CLEAR WA_ACCOUNTGL.

WA_CURRENCY_AMOUNT-ITEMNO_ACC = '0000000010'.

WA_CURRENCY_AMOUNT-AMT_DOCCUR = '500'.

WA_CURRENCY_AMOUNT-CURRENCY = 'INR'.

APPEND WA_CURRENCY_AMOUNT TO CURRENCY_AMOUNT.

CLEAR WA_CURRENCY_AMOUNT.

WA_CURRENCY_AMOUNT-ITEMNO_ACC = '0000000020'.

WA_CURRENCY_AMOUNT-AMT_DOCCUR = '-500'.

WA_CURRENCY_AMOUNT-CURRENCY = 'INR'.

APPEND WA_CURRENCY_AMOUNT TO CURRENCY_AMOUNT.

CLEAR WA_CURRENCY_AMOUNT.

**************************************************************

  • START-OF-SELECTION

**************************************************************

START-OF-SELECTION.

CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'

EXPORTING

documentheader = HEADER

  • CUSTOMERCPD =

  • CONTRACTHEADER =

  • IMPORTING

  • OBJ_TYPE =

  • OBJ_KEY =

  • OBJ_SYS =

tables

ACCOUNTGL = ACCOUNTGL

  • ACCOUNTRECEIVABLE =

  • ACCOUNTPAYABLE =

  • ACCOUNTTAX =

currencyamount = CURRENCY_AMOUNT

  • CRITERIA =

  • VALUEFIELD =

  • EXTENSION1 =

return = RETURN

  • PAYMENTCARD =

  • CONTRACTITEM =

  • EXTENSION2 =

  • REALESTATE =

.

IF return-type NA 'EA'.

call function 'BAPI_TRANSACTION_COMMIT'

EXPORTING

WAIT = 'X'.

  • IMPORTING

  • RETURN = RETURN.

write:/ return-message.

else.

write:/ return-message.

ENDIF.

Reward Points if it is helpful

Thanks

Seshu

5 REPLIES 5
Read only

Former Member
0 Likes
850

See the below code :

I have tested program in my system :

*

*&---HEADER DECLARATION

DATA: HEADER TYPE BAPIACHE09. " HEADER DATA

**********************************************************************

  • INTERNAL TABLE DECLARATION

**********************************************************************

*&----G/L ACCOUNT ITEM

DATA: ACCOUNTGL TYPE STANDARD TABLE OF BAPIACGL09.

*&---CURRENCY ITEMS

DATA: CURRENCY_AMOUNT TYPE STANDARD TABLE OF BAPIACCR09.

*&----RETURN PARAMETER

DATA: RETURN TYPE STANDARD TABLE OF BAPIRET2 with header line.

**********************************************************************

  • WORK-AREA DECLARATION

**********************************************************************

*&----WORKAREA FOR G/L ACCOUNT ITEM

DATA: WA_ACCOUNTGL TYPE BAPIACGL09.

*&---WORKAREA FOR CURRENCY ITEMS

DATA: WA_CURRENCY_AMOUNT TYPE BAPIACCR09.

**********************************************************************

  • INITIALIZATION

**********************************************************************

HEADER-HEADER_TXT = 'TEST HEADER'.

HEADER-USERNAME = 'DEVELOPER'.

HEADER-COMP_CODE = '0002'.

HEADER-FISC_YEAR = '2007'.

HEADER-DOC_DATE = '20070502'.

HEADER-PSTNG_DATE = '20070502'.

HEADER-TRANS_DATE = '20070502'.

HEADER-DOC_TYPE = 'SA'.

HEADER-BUS_ACT = 'RFBU'.

WA_ACCOUNTGL-ITEMNO_ACC = '0000000010'.

WA_ACCOUNTGL-GL_ACCOUNT = '0000113020'.

WA_ACCOUNTGL-ITEM_TEXT = 'SO_DOC'.

WA_ACCOUNTGL-DE_CRE_IND = 'S'.

APPEND WA_ACCOUNTGL TO ACCOUNTGL.

CLEAR WA_ACCOUNTGL.

WA_ACCOUNTGL-ITEMNO_ACC = '0000000020'.

WA_ACCOUNTGL-GL_ACCOUNT = '0000113020'.

WA_ACCOUNTGL-ITEM_TEXT = 'SO_DOC'.

WA_ACCOUNTGL-DE_CRE_IND = 'H'.

APPEND WA_ACCOUNTGL TO ACCOUNTGL.

CLEAR WA_ACCOUNTGL.

WA_CURRENCY_AMOUNT-ITEMNO_ACC = '0000000010'.

WA_CURRENCY_AMOUNT-AMT_DOCCUR = '500'.

WA_CURRENCY_AMOUNT-CURRENCY = 'INR'.

APPEND WA_CURRENCY_AMOUNT TO CURRENCY_AMOUNT.

CLEAR WA_CURRENCY_AMOUNT.

WA_CURRENCY_AMOUNT-ITEMNO_ACC = '0000000020'.

WA_CURRENCY_AMOUNT-AMT_DOCCUR = '-500'.

WA_CURRENCY_AMOUNT-CURRENCY = 'INR'.

APPEND WA_CURRENCY_AMOUNT TO CURRENCY_AMOUNT.

CLEAR WA_CURRENCY_AMOUNT.

**************************************************************

  • START-OF-SELECTION

**************************************************************

START-OF-SELECTION.

CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'

EXPORTING

documentheader = HEADER

  • CUSTOMERCPD =

  • CONTRACTHEADER =

  • IMPORTING

  • OBJ_TYPE =

  • OBJ_KEY =

  • OBJ_SYS =

tables

ACCOUNTGL = ACCOUNTGL

  • ACCOUNTRECEIVABLE =

  • ACCOUNTPAYABLE =

  • ACCOUNTTAX =

currencyamount = CURRENCY_AMOUNT

  • CRITERIA =

  • VALUEFIELD =

  • EXTENSION1 =

return = RETURN

  • PAYMENTCARD =

  • CONTRACTITEM =

  • EXTENSION2 =

  • REALESTATE =

.

IF return-type NA 'EA'.

call function 'BAPI_TRANSACTION_COMMIT'

EXPORTING

WAIT = 'X'.

  • IMPORTING

  • RETURN = RETURN.

write:/ return-message.

else.

write:/ return-message.

ENDIF.

Reward Points if it is helpful

Thanks

Seshu

Read only

0 Likes
849

Hi Seshu,

Thanks for your reply, but i am using the same code as yours and i get a sucess message. But not able to see the doc in BKPF.

Please let me know if you made any other configs in ur system other than the program.

Thanks,

Suresh

Read only

0 Likes
849

Check with BKPF table for recent data,if not then it would be some configuration issue.

Try to use wait = space in FM BAPI_TRANSACTION_COMITT.

see the results..

Reward points if it is helpful

Thanks

Seshu

Read only

0 Likes
849

Hi Seshu,

Can you please tell me what value should be posted to the field OBJECT_TYPE, currently i am passing "REACI". I tried passing BKPF & BKPFF, but i got errors saying incorrect object type.

If i leave it empty i get an error saying "Object type should be filled".

Thanks,

Suresh

Read only

0 Likes
849

Hi Seshu,

My issue is solved now, I Just changed my code & am not passing the value to the following fields :

  • docheader-obj_type = 'REACI'.

  • docheader-obj_type = 'BKPFF'.

  • docheader-obj_key = '3000000037'.

  • docheader-obj_sys = 'ECSCLNT010'.

The one thing that i have observed is, you should either give correct values to all these fields or just dont pass values to this combination. The system will take care of it.

Thanks for your valuable comments.

Suresh..