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: 

BAPI_ACC_DOCUMENT_POST for Assets

Former Member
0 Kudos

Hello,

We are trying to implement the posting of a Document for an asset using the BAPI: BAPI_ACC_DOCUMENT_POST (and BAPI_TRANSACTION_COMMIT) but although we get the succee message, no document is post.

I do not know if we are not introducing correctly the information... Could someone help me??

The code is:

CALL FUNCTION 'OWN_LOGICAL_SYSTEM_GET'

IMPORTING

OWN_LOGICAL_SYSTEM = et_documentheader-obj_sys

EXCEPTIONS

OWN_LOGICAL_SYSTEM_NOT_DEFINED = 1

OTHERS = 2

.

et_documentheader-obj_type = 'IDOC'.

et_documentheader-obj_key = lv_docnum.

et_documentheader-bus_act = 'RFBU'.

et_documentheader-username = sy-uname."Usuario

et_documentheader-header_txt = i_entrada-conc_doc_cont."Texto de cabecera de documento

et_documentheader-comp_code = i_entrada-sociedad."Sociedad

et_documentheader-doc_date = i_entrada-fecha_doc."Fecha Documento

et_documentheader-pstng_date = i_entrada-fecha_cont."Fecha Contabilización

et_documentheader-doc_type = i_entrada-clase_doc."Clase de Documento

et_documentheader-fisc_year = i_entrada-fecha_cont(4)."Ejercicio

et_documentheader-fis_period = i_entrada-fecha_cont+4(2)."Mes Contable

et_documentheader-ref_doc_no = i_entrada-referencia.

it_accountgl-itemno_acc = '0000000001'.

it_accountgl-gl_account = lv_cuenta."cuenta

it_accountgl-item_text = i_entrada-texto.

it_accountgl-stat_con = 'H'.

it_accountgl-acct_type = 'S'.

it_accountgl-comp_code = i_entrada-sociedad.

it_accountgl-alloc_nmbr = i_entrada-asignacion.

it_accountgl-tax_code = i_entrada-ind_iva.

APPEND it_accountgl.

CLEAR it_accountgl.

it_accountgl-itemno_acc = '0000000002'.

it_accountgl-item_text = i_entrada-texto.

it_accountgl-stat_con = 'S'.

it_accountgl-acct_type = 'A'.

it_accountgl-alloc_nmbr = i_entrada-asignacion.

it_accountgl-tax_code = i_entrada-ind_iva.

it_accountgl-cs_trans_t = '100'. "i_entrada-clase_mov.

it_accountgl-asset_no = i_entrada-num_activo."Numero Activo Fijo

it_accountgl-sub_number = i_entrada-subnum_activo."Subnumero de Activo Fijo

APPEND it_accountgl.

CLEAR it_accountgl.

it_currencyamount-itemno_acc = '0000000001'.

it_currencyamount-currency_iso = 'EUR'.

it_currencyamount-amt_doccur = i_entrada-importe.

APPEND it_currencyamount.

CLEAR it_currencyamount.

it_currencyamount-itemno_acc = '0000000002'.

it_currencyamount-currency_iso = 'EUR'.

it_currencyamount-amt_doccur = i_entrada-importe.

APPEND it_currencyamount.

CLEAR it_currencyamount.

CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'

EXPORTING

documentheader = et_documentheader

TABLES

accountgl = it_accountgl

currencyamount = it_currencyamount

return = it_return.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

EXPORTING

wait = 'X'

.

Thanksss!!

Araitz.-

5 REPLIES 5

Former Member
0 Kudos

Hi,

For the asset posting it is exactly the same as the GL posting. The only difference is for the Asset line you need to find the GL account(KTOGR) for the asset from the ANLA table and populate the same in the GL account field fro the asset line. Also populate the asset number and the sub asset number in the fields for the same line along with the transaction type.

Hope this clarifies your question.

Thanks and Regards,

Hari

0 Kudos

Hello Hari,

It has sense, but it does not work yet!!

Do we have to update something in any table? TTYP or TRWPR?

Thanks a lot!!

Araitz.-

0 Kudos

Hello Hari,

I had same issue and I saw your answer to this question and I have tried the same but getting an error.

I have passed KTOGR value from ANLA table into GL a/c but I'm getting this error 'G/L account Z40000 is not defined in chart of accounts AVNT' , that is true becase z40000 is not a GL a/c , it is asset classs. I would appreciate if you could help me in resolving this issue.

thanks

Naveen

Former Member
0 Kudos

Data: it_header type BAPIACHE09 OCCURS 0 WITH HEADER LINE,

it_acc_gl type BAPIACGL09 occurs 0 WITH HEADER LINE,

it_acc_pay type BAPIACAP09 occurs 0 WITH HEADER LINE,

it_curr_amt type BAPIACCR09 OCCURS 0 WITH HEADER LINE,

it_return type BAPIRET2 OCCURS 0 WITH HEADER LINE.

it_header-bus_act = 'FB60'.

IT_HEADER-USERNAME = 'ABC'.

IT_HEADER-COMP_CODE = 'XYZ'.

IT_HEADER-DOC_DATE = SY-DATUM.

IT_HEADER-PSTNG_DATE = SY-DATUM.

IT_HEADER-DOC_TYPE = 'KR'.

APPEND IT_HEADER.

IT_ACC_GL-ITEMNO_ACC = '0000000001'.

IT_ACC_GL-GL_ACCOUNT = '0000123456'.

IT_ACC_GL-DOC_TYPE = 'KR'.

IT_ACC_GL-COMP_CODE = 'XYZ'.

IT_ACC_GL-FISC_YEAR = '2009'.

IT_ACC_GL-PSTNG_DATE = SY-DATUM.

IT_ACC_GL-VENDOR_NO = '987'.

IT_ACC_GL-COSTCENTER = '1987'.

APPEND IT_ACC_GL.

it_acc_pay-ITEMNO_ACC = '0000000002'.

*IT_ACC_GL-GL_ACCOUNT = '0000123456'.

*IT_ACC_GL-DOC_TYPE = 'KR'.

*IT_ACC_GL-COMP_CODE = 'XYZ'.

*IT_ACC_GL-FISC_YEAR = '2009'.

*IT_ACC_GL-PSTNG_DATE = SY-DATUM.

it_acc_pay-VENDOR_NO = '987'.

*IT_ACC_GL-COSTCENTER = '1987'.

APPEND it_acc_pay.

IT_CURR_AMT-ITEMNO_ACC = '0000000001'.

IT_CURR_AMT-CURR_TYPE = '00'.

IT_CURR_AMT-CURRENCY = 'QAR'.

IT_CURR_AMT-AMT_DOCCUR = '10000'.

APPEND IT_CURR_AMT.

IT_CURR_AMT-ITEMNO_ACC = '0000000002'.

IT_CURR_AMT-CURR_TYPE = '00'.

IT_CURR_AMT-CURRENCY = 'QAR'.

IT_CURR_AMT-AMT_DOCCUR = '-10000'.

APPEND IT_CURR_AMT.

CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'

EXPORTING

documentheader = it_header

  • CUSTOMERCPD =

  • CONTRACTHEADER =

  • IMPORTING

  • OBJ_TYPE =

  • OBJ_KEY =

  • OBJ_SYS =

tables

ACCOUNTGL = it_acc_gl

  • ACCOUNTRECEIVABLE =

ACCOUNTPAYABLE = it_acc_pay

  • ACCOUNTTAX =

currencyamount = it_curr_amt

  • CRITERIA =

  • VALUEFIELD =

  • EXTENSION1 =

return = it_return

  • PAYMENTCARD =

  • CONTRACTITEM =

  • EXTENSION2 =

  • REALESTATE =

  • ACCOUNTWT =

.

IF SY-SUBRC EQ 0.

ENDIF.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

EXPORTING

WAIT = 'X'

  • IMPORTING

  • RETURN =

.

Check if the above can help you out..

Regards,

PR.

Former Member
0 Kudos

*&---HEADER DECLARATION

DATA: HEADER TYPE BAPIACHE09. " HEADER DATA

*&----G/L ACCOUNT ITEM

DATA: ACCOUNTGL TYPE STANDARD TABLE OF BAPIACGL09.

*&----ACCOUNTS PAYABLE ITEMS

DATA: ACCOUNTPAYABLE TYPE STANDARD TABLE OF BAPIACAP09.

DATA: WA_ACCOUNTPAYABLE TYPE BAPIACAP09.

*&---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.

data :ACCOUNTRECEIVABLE TYPE STANDARD TABLE OF BAPIACAR09,

ACCOUNTTAX TYPE STANDARD TABLE OF BAPIACTX09,

CURRENCYAMOUNT TYPE STANDARD TABLE OF BAPIACCR09,

CRITERIA TYPE STANDARD TABLE OF BAPIACKEC9,

VALUEFIELD TYPE STANDARD TABLE OF BAPIACKEV9,

EXTENSION1 TYPE STANDARD TABLE OF BAPIACEXTC,

PAYMENTCARD TYPE STANDARD TABLE OF BAPIACPC09,

CONTRACTITEM TYPE STANDARD TABLE OF BAPIACCAIT,

EXTENSION2 TYPE STANDARD TABLE OF BAPIPAREX,

REALESTATE TYPE STANDARD TABLE OF BAPIACRE09,

ACCOUNTWT TYPE STANDARD TABLE OF BAPIACWT09.

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

INITIALIZATION.

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

**HEADER-OBJ_TYPE = 'BEBD'.

**HEADER-OBJ_KEY = '1000000050'.

**HEADER-OBJ_SYS = 'DEVCLNT300'.

HEADER-HEADER_TXT = 'TEST HEADER'.

HEADER-USERNAME = 'PUSHPA'.

HEADER-COMP_CODE = '5800'.

HEADER-FISC_YEAR = '2008'.

HEADER-DOC_DATE = SY-DATUM.

HEADER-PSTNG_DATE = SY-DATUM.

HEADER-TRANS_DATE = SY-DATUM.

HEADER-DOC_TYPE = 'SA'.

HEADER-BUS_ACT = 'RMRP'.

WA_ACCOUNTGL-ITEMNO_ACC = '0000000010'.

WA_ACCOUNTGL-GL_ACCOUNT = '0007100019'.

WA_ACCOUNTGL-ITEM_TEXT = 'SO_DOC'.

WA_ACCOUNTGL-DE_CRE_IND = 'S'.

*wa_accountgl-costcenter = 'JK000'.

WA_ACCOUNTGL-WBS_ELEMENT = 'AUP.07.RV.RV.07.1.1'.

*WA_ACCOUNTGL-VENDOR_NO = 'A125'.

WA_ACCOUNTGL-REF_KEY_3 = '31'.

APPEND WA_ACCOUNTGL TO ACCOUNTGL.

CLEAR WA_ACCOUNTGL.

WA_ACCOUNTGL-ITEMNO_ACC = '0000000020'.

WA_ACCOUNTGL-GL_ACCOUNT = '0007100019'.

WA_ACCOUNTGL-ITEM_TEXT = 'SO_DOC'.

WA_ACCOUNTGL-DE_CRE_IND = 'H'.

*wa_accountgl-costcenter = 'JK000'.

WA_ACCOUNTGL-WBS_ELEMENT = 'AUP.07.RV.RV.07.1.2'.

WA_ACCOUNTGL-REF_KEY_3 = '40'.

APPEND WA_ACCOUNTGL TO ACCOUNTGL.

CLEAR WA_ACCOUNTGL.

*WA_ACCOUNTPAYABLE-ITEMNO_ACC = '10'.

*WA_ACCOUNTPAYABLE-VENDOR_NO = 'A125'.

*WA_ACCOUNTPAYABLE-REF_KEY_3 = '31'.

*WA_ACCOUNTPAYABLE-BUS_AREA = 'JKTD'.

*

*APPEND WA_ACCOUNTPAYABLE TO ACCOUNTPAYABLE.

*CLEAR WA_ACCOUNTPAYABLE.

*

*

*WA_ACCOUNTPAYABLE-ITEMNO_ACC = '20'.

*WA_ACCOUNTPAYABLE-GL_ACCOUNT = '400200'.

*WA_ACCOUNTPAYABLE-REF_KEY_3 = '40'.

*WA_ACCOUNTPAYABLE-BUS_AREA = 'JKTD'.

*

*APPEND WA_ACCOUNTPAYABLE TO ACCOUNTPAYABLE.

*CLEAR WA_ACCOUNTPAYABLE.

*

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 = ACCOUNTRECEIVABLE

  • ACCOUNTPAYABLE = ACCOUNTPAYABLE

  • ACCOUNTTAX = ACCOUNTTAX

CURRENCYAMOUNT = CURRENCY_AMOUNT

  • CRITERIA = CRITERIA

  • VALUEFIELD = VALUEFIELD

  • EXTENSION1 = EXTENSION1

RETURN = RETURN

  • PAYMENTCARD = PAYMENTCARD

  • CONTRACTITEM = CONTRACTITEM

  • EXTENSION2 = EXTENSION2

  • REALESTATE = REALESTATE

.

IF return-type EQ 'S'.

COMMIT WORK.

*CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

    • EXPORTING

    • WAIT =

  • IMPORTING

  • RETURN = RETURN

  • .

WRITE:/ RETURN-TYPE.

write:/ return-message.

ELSE.

WRITE:/ RETURN-TYPE.

write:/ return-message.

ENDIF.

This will work.

Regards,

Priti

Edited by: Priti Suryawanshi on Feb 18, 2009 11:47 AM