Application Development 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: 

Regarding BAPI_ACC_DOCUMENT_POST

Former Member
0 Kudos
816

Hi ,

I am trying to execute the BAPI ' BAPI_ACC_DOCUMENT_POST ' for the transaction FB70.

I tried to execute directly using SE37 as well as through a program.

As some body suggested in one existing thread , i am using the following program :

*-----Making the Header

x_invheader-obj_type = 'BKPFF'. "Reference procedure

x_invheader-obj_key = '$'. "Object key

CONCATENATE sy-sysid 'CLNT' sy-mandt INTO

x_invheader-obj_sys. "Logical system of source document

x_invheader-bus_act = 'RFBU'. "Business Transaction

x_invheader-username = sy-uname. "User name

x_invheader-header_txt = x_header-col7. "Document Header Text

x_invheader-comp_code = x_header-col3. "Company Code

x_invheader-doc_date = v_doc_date. "Document Date in Document

x_invheader-pstng_date = v_pstng_date. "Posting Date in the Document

x_invheader-doc_type = 'DR'. "Reference Document Number

x_invheader-ref_doc_no = x_header-col4. "Reference Document Number

*-----For ACCOUNTRECEIVABLE

LOOP AT it_header INTO x_header.

x_bapiacar09-itemno_acc = '1'. "Accounting Document Line Item Number

*-----Filling zeros before Customer No

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

input = x_header-col2

IMPORTING

output = v_customer.

x_bapiacar09-customer = v_customer. "Customer Number 1

x_bapiacar09-comp_code = x_header-col3. "Company Code

APPEND x_bapiacar09 TO it_bapiacar09.

ENDLOOP.

*-----For ACCOUNTGL

LOOP AT it_lineitem INTO x_lineitem.

IF it_bapiacgl09 IS INITIAL.

v_itemno = 2.

ELSE.

v_itemno = v_itemno + 1.

ENDIF.

x_bapiacgl09-itemno_acc = v_itemno. "Accounting Document Line Item Number

*-----Filling zeros before G/L Account no

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

input = x_lineitem-col10

IMPORTING

output = v_gl_account.

x_bapiacgl09-gl_account = v_gl_account. "General Ledger Account

x_bapiacgl09-comp_code = x_lineitem-col11. "Company Code

x_bapiacgl09-profit_ctr = x_lineitem-col14. "Profit Center

x_bapiacgl09-item_text = x_lineitem-col15. "Item Text

APPEND x_bapiacgl09 TO it_bapiacgl09.

ENDLOOP.

*-----Clearing variable

CLEAR : v_itemno.

*-----For CURRENCYAMOUNT

LOOP AT it_header INTO x_header.

x_bapiaccr09-itemno_acc = '0000000001'. "Accounting Document Line Item Number

x_bapiaccr09-curr_type = '00'. "Currency type and valuation view

x_bapiaccr09-amt_doccur = x_header-col8. "Amount in document currency

x_bapiaccr09-currency = x_header-col9. "Currency Key

APPEND x_bapiaccr09 TO it_bapiaccr09.

ENDLOOP.

v_itemno_1 = 1.

LOOP AT it_lineitem INTO x_lineitem.

v_itemno_1 = v_itemno_1 + 1.

x_bapiaccr09_temp-itemno_acc = v_itemno_1. "Accounting Document Line Item Number

x_bapiaccr09_temp-curr_type = '00'. "Currency type and valuation view

CONCATENATE '-' x_lineitem-col12 INTO v_amount.

x_bapiaccr09_temp-amt_doccur = v_amount. "x_lineitem-col12. "Amount in document currency

x_bapiaccr09_temp-currency = x_lineitem-col13. "Currency Key

APPEND x_bapiaccr09_temp TO it_bapiaccr09.

ENDLOOP.

CLEAR : v_itemno_1.

*-----Calling BAPI for creating Customer Invoice

CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'

EXPORTING

documentheader = x_invheader

IMPORTING

obj_key = v_obj_key

TABLES

accountgl = it_bapiacgl09

accountreceivable = it_bapiacar09

currencyamount = it_bapiaccr09

return = return.

But, I am getting the following error.

Error in document: BKPF $ QPTCLNT200

Incorrect entry in field OBJ_TYPE: BKPF

Could some body please help me out ?

And ,i want to know the significance of BKPF and BKPFF i.e. what they means?

Thanks in advance,

Srini

6 REPLIES 6

uwe_schieferstein
Active Contributor
0 Kudos
165

Hello Srinivas

You will find the valid object types in table <b>TTYP</b>. Most likely you have to use 'BKPF'.

For details about the use of object types refer to the F1 help.

Regards

Uwe

0 Kudos
165

Hello Uwe,

Thanks for your reply.

But i am getting the following error even i am supplying valid object type 'BKPF'.

Error in document: BKPF $ QPTCLNT200

Incorrect entry in field OBJ_TYPE: BKPF

I want to know why this error is comming and how to resolve this?

FYI : My intension is to create the accounting invoice document(FB70).

Thanks,

Srini

0 Kudos
165

Hello Srinivas

I am not sure if it is correct to use the '$' for the object key:

[code]x_invheader-obj_key = '$'. "Object key[/code]

The documentation (of parameter DOCUMENTHEADER) says that the object key represents the key of the original document in the sending system.

Thus, give it a try with <b>obj_key = ' ' (space)</b> and see if the error messages change.

Regards

Uwe

Former Member
0 Kudos
165

it is bcoz the object ID BKPF is not present in the table that u r using. I am just not able to recall the name of the table in which these object id's are maintained but its the same problem ie objet id is missing.

Former Member
0 Kudos
165

Hi reddy,

Is it resolved?.I am also facing the same issue. Please let me know if you know the solution.

Thanks in Advance.

Regards,

Raja

0 Kudos
165

Hello Raja,

Yes, it is resolved.

You can try with OBJ_TYPE = 'IDOC'. For your reference following is program source code that is executing properly .

WA_RETURN LIKE BAPIRET2.

DATA:

WA_CURRENCY TYPE BAPIACCR09,

WA_CUSTOMER TYPE bapiacar09,

WA_RETURN2 TYPE BAPIRET2,

WA_RETURN3 TYPE BAPIRET2,

WA_ACCOUNTGL TYPE BAPIACGL09.

START-OF-SELECTION.

WA_DOCUMENTHEADER-OBJ_TYPE = 'IDOC'.

CONCATENATE SY-SYSID 'CLNT' SY-MANDT INTO WA_DOCUMENTHEADER-OBJ_SYS.

WA_DOCUMENTHEADER-OBJ_KEY = '$'.

WA_DOCUMENTHEADER-USERNAME = SY-UNAME.

WA_DOCUMENTHEADER-COMP_CODE = 'GOVP'.

WA_DOCUMENTHEADER-BUS_ACT = 'RFBU'.

WA_DOCUMENTHEADER-HEADER_TXT = 'BAPI TEST'.

WA_DOCUMENTHEADER-FISC_YEAR = '2007'.

WA_DOCUMENTHEADER-DOC_DATE = SY-DATUM.

WA_DOCUMENTHEADER-PSTNG_DATE = SY-DATUM.

WA_DOCUMENTHEADER-FIS_PERIOD = ' '.

WA_DOCUMENTHEADER-DOC_TYPE = 'DR'.

WA_DOCUMENTHEADER-ref_doc_no = '1234512345'.

*--One time customer data

Data : wa_onetimecust type BAPIACPA09.

wa_onetimecust-NAME = 'Mr'.

wa_onetimecust-NAME_2 = 'OneTimeCustomer'.

wa_onetimecust-CITY = 'Bangalore'.

wa_onetimecust-COUNTRY = 'India'.

*---end:One time customer data

WA_CUSTOMER-itemno_acc = '1'.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

input = '100000'

IMPORTING

output = WA_CUSTOMER-CUSTOMER.

WA_CUSTOMER-comp_code = 'GOVP'.

APPEND WA_CUSTOMER TO it_bapiacar09.

CLEAR: WA_ACCOUNTGL.

WA_ACCOUNTGL-ITEMNO_ACC = 2.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

input = '6100.2600'

IMPORTING

output = WA_ACCOUNTGL-gl_account.

WA_ACCOUNTGL-COMP_CODE = 'GOVP'.

WA_ACCOUNTGL-ITEM_TEXT = 'TO CUSTOMER' .

WA_ACCOUNTGL-COSTCENTER = 'DUMMY'.

APPEND WA_ACCOUNTGL TO IT_ACCOUNTGL.

CLEAR: WA_ACCOUNTGL.

CLEAR: WA_CURRENCY.

CLEAR: WA_CURRENCY.

WA_CURRENCY-ITEMNO_ACC = 1.

WA_CURRENCY-CURR_TYPE = '00'.

WA_CURRENCY-CURRENCY = 'USD'.

WA_CURRENCY-AMT_DOCCUR = 10.

APPEND WA_CURRENCY TO IT_CURRENCY.

CLEAR: WA_CURRENCY.

WA_CURRENCY-ITEMNO_ACC = 2.

WA_CURRENCY-CURR_TYPE = '00'.

WA_CURRENCY-CURRENCY = 'USD'.

WA_CURRENCY-AMT_DOCCUR = -10.

APPEND WA_CURRENCY TO IT_CURRENCY.

  • --------------------------------------------------------

  • Post

  • --------------------------------------------------------

CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'

EXPORTING

DOCUMENTHEADER = WA_DOCUMENTHEADER

CUSTOMERCPD = wa_onetimecust

IMPORTING

OBJ_TYPE = OBJ_TYPE

OBJ_KEY = OBJ_KEY

OBJ_SYS = OBJ_SYS

TABLES

ACCOUNTGL = IT_ACCOUNTGL

accountreceivable = it_bapiacar09

CURRENCYAMOUNT = IT_CURRENCY

RETURN = IT_RETURN.

LOOP AT IT_RETURN INTO WA_RETURN.

WRITE : /1 WA_RETURN-MESSAGE.

ENDLOOP.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

EXPORTING

WAIT = 'X'

IMPORTING

RETURN = WA_RETURN3.