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

FI

Former Member
0 Likes
391

CAN ANY ONE SEND ME THE CODE FOR POSTING OF CUSTOMER DOWN PAYMENT IF TRANSACTION F-29 USING BAPI BAPI_ACC_DOCUMENT_POST?

1 REPLY 1
Read only

Former Member
0 Likes
340

Hi Suman ,

Please find the Sample code which posts FI document along with CO-PA characteristics.

REPORT ZRBC060 .

*

DATA: doc_header LIKE BAPIACHE09,

criteria LIKE BAPIACKEC9 OCCURS 0 WITH HEADER LINE,

doc_item LIKE BAPIACGL09 OCCURS 0 WITH HEADER LINE,

doc_values LIKE BAPIACCR09 OCCURS 0 WITH HEADER LINE,

return LIKE bapiret2 OCCURS 0 WITH HEADER LINE,

extension1 like BAPIACEXTC occurs 0 with header line,

obj_type LIKE bapiache08-obj_type,

obj_key LIKE bapiache02-obj_key,

obj_sys LIKE bapiache02-obj_sys,

docnum LIKE bkpf-belnr.

*

Fill Document Header

doc_header-bus_act = 'RFBU'.

*doc_header-obj_type = 'BKPFF'.

*doc_header-obj_key = 'AAAABBBB'.

*doc_header-obj_sys = 'NLD220'.

doc_header-username = sy-uname.

doc_header-header_txt = 'TEST BOC BAPI POSTING'.

doc_header-comp_code = 'IN10'.

doc_header-doc_date = '20060127'.

doc_header-pstng_date = sy-datlo.

doc_header-doc_type = 'SA'.

Fill Line 1 of Document Item

doc_item-itemno_acc = '1'.

doc_item-gl_account = '0000500001'.

doc_item-pstng_date = sy-datum.

doc_item-item_text = 'TEST POSTING DEBIT ITEM'.

doc_item-costcenter = ''.

doc_item-quantity = '1'.

doc_item-base_uom = 'ST'.

*doc_item-stat_con = 'X'.

*doc_item-orderid = 'M5253'.

*_____________

*doc_item-comp_code = 'IN01'.

*_______________

APPEND doc_item.

CLEAR doc_item.

Fill Line 2 of Document Item

doc_item-itemno_acc = '2'.

doc_item-gl_account = '0000210072'.

doc_item-pstng_date = sy-datlo.

doc_item-item_text = 'TEST POSTING CREDIT ITEM'.

*doc_item-stat_con = 'X'.

*doc_item-costcenter = '0000201681'.

*_______________

*doc_item-comp_code = 'IN01'.

*_______________

APPEND doc_item.

CLEAR doc_item.

Fill Line 1 of Document Value.

doc_values-itemno_acc = '1'.

doc_values-currency_iso = 'INR'.

doc_values-amt_doccur = '0.02-'.

APPEND doc_values.

CLEAR doc_values.

Fill Line 2 of Document Value

doc_values-itemno_acc = '2'.

doc_values-currency_iso = 'INR'.

doc_values-amt_doccur = '0.02'.

APPEND doc_values.

CLEAR doc_values.

Add tax code in extension1 table.

extension1-field1 = 'BAPI CALL'.

APPEND EXTENSION1.

*

Fill CRITERIA for CO-PA

*

refresh criteria.

criteria-ITEMNO_ACC = '1'.

criteria-FIELDNAME = 'ARTNR'.

criteria-CHARACTER = '000000000001312251'.

Append criteria.

criteria-ITEMNO_ACC = '1'.

criteria-FIELDNAME = 'WERKS'.

criteria-CHARACTER = 'IN91'.

Append criteria.

criteria-ITEMNO_ACC = '1'.

criteria-FIELDNAME = 'KNDNR'.

criteria-CHARACTER = '0000000016'.

Append criteria.

criteria-ITEMNO_ACC = '1'.

criteria-FIELDNAME = 'FKART'.

criteria-CHARACTER = 'ZIN2'.

Append criteria.

criteria-ITEMNO_ACC = '1'.

criteria-FIELDNAME = 'KAUFN'.

criteria-CHARACTER = '0000000633'.

Append criteria.

criteria-ITEMNO_ACC = '1'.

criteria-FIELDNAME = 'KDPOS'.

criteria-CHARACTER = '000010'.

Append criteria.

*criteria-ITEMNO_ACC = '1'.

*criteria-FIELDNAME = 'VKGRP'.

*criteria-CHARACTER = '009'.

**Append criteria.

*

All tables filled - now call BAPI.

CALL FUNCTION 'BAPI_ACC_DOCUMENT_CHECK'

EXPORTING

documentheader = doc_header

IMPORTING

OBJ_TYPE = doc_header-obj_type

OBJ_KEY = doc_header-obj_key

OBJ_SYS = doc_header-obj_sys

TABLES

criteria = criteria

accountgl = doc_item

currencyamount = doc_values

return = return

EXTENSION1 = EXTENSION1.

*

LOOP AT return WHERE type = 'E'.

EXIT.

ENDLOOP.

*

CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'

EXPORTING

documentheader = doc_header

IMPORTING

OBJ_TYPE = doc_header-obj_type

OBJ_KEY = doc_header-obj_key

OBJ_SYS = doc_header-obj_sys

TABLES

criteria = criteria

accountgl = doc_item

currencyamount = doc_values

return = return

EXTENSION1 = EXTENSION1.

LOOP AT return WHERE type = 'E'.

EXIT.

ENDLOOP.

IF sy-subrc EQ 0.

WRITE: / 'BAPI call failed - debug and fix!'.

ELSE.

CLEAR return.

REFRESH return.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

EXPORTING

WAIT =

IMPORTING

return = return.

WRITE: / 'BAPI call worked!!'.

WRITE: / doc_header-obj_key, ' posted'.

ENDIF.

[/code]

I hope this helps,

Rgds

Sree M