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_CHECK

Former Member
0 Kudos

Hi experts,

i have problem in this BAPI, after i run it , it keeps asking for profit center even I have put in the profit center for Gl account internal table and as for account payable , since there's no place to put it the profit center, where can i put it ..Pls advice

1 ACCEPTED SOLUTION

ferry_lianto
Active Contributor
0 Kudos

Hi Ester,

The following is a sample code from other thread.

You can populate the profit center in table (parameter)

ACCOUNTGL

.

DATA: WA_DOCHEAD TYPE BAPIACHE09,

IT_ACCOUNT TYPE TABLE OF BAPIACGL09,

WA_ACCOUNT TYPE BAPIACGL09,

IT_CURRENCY TYPE TABLE OF BAPIACCR09,

WA_CURRENCY TYPE BAPIACCR09,

IT_VENDOR TYPE TABLE OF BAPIACAP09,

WA_VENDOR TYPE BAPIACAP09,

IT_RETURN TYPE TABLE OF BAPIRET2,

WA_RETURN TYPE BAPIRET2,

WA_CRITERIA TYPE BAPIACKEC9,

WA_CURRENCY_EXT TYPE P DECIMALS 2.

DATA: KEY(19) TYPE C.

DATA: COMMIT_RET TYPE BAPIRET2.

REFRESH: IT_ACCOUNT,

IT_CURRENCY,

IT_RETURN.

CLEAR: WA_DOCHEAD,

WA_ACCOUNT,

WA_CURRENCY,

WA_RETURN,

WA_CRITERIA,

WA_CURRENCY_EXT.

  • FILL KEY FIELD

KEY = '0000000000'.

KEY+11(4) = '2000'.

KEY+15(4) = '2005'.

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

WA_DOCHEAD-USERNAME = SY-UNAME.

WA_DOCHEAD-OBJ_TYPE = 'IDOC'.

WA_DOCHEAD-OBJ_KEY = KEY.

WA_DOCHEAD-OBJ_SYS = 'Z220'.

WA_DOCHEAD-COMP_CODE = '2000'. "SOCIEDAD

WA_DOCHEAD-DOC_DATE = SY-DATUM.

WA_DOCHEAD-PSTNG_DATE = SY-DATUM.

WA_DOCHEAD-TRANS_DATE = SY-DATUM.

WA_DOCHEAD-DOC_TYPE = 'KA'.

WA_DOCHEAD-BUS_ACT = 'RFBU'.

CONCATENATE 'Solicitud de anticipo. Fecha:' SY-DATUM

INTO WA_DOCHEAD-HEADER_TXT.

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

  • WA_ACCOUNT-TAX_CODE = 'C3'.

  • WA_ACCOUNT-ACCT_TYPE = 'K'.

  • WA_ACCOUNT-ITEMNO_ACC = '0000000010'.

  • WA_ACCOUNT-GL_ACCOUNT = '1121501001'.

  • WA_ACCOUNT-VALUE_DATE = SY-DATUM.

  • WA_ACCOUNT-CUSTOMER = '2000015'.

  • WA_ACCOUNT-ITEM_TEXT = 'Posición anticipo'.

  • WA_ACCOUNT-DOC_TYPE = 'KA'.

  • WA_ACCOUNT-COMP_CODE = '2000'.

  • WA_ACCOUNT-PSTNG_DATE = SY-DATUM.

  • WA_ACCOUNT-COSTCENTER = SPACE.

  • WA_ACCOUNT-ALLOC_NMBR = 'Nº asignación'.

* WA_ACCOUNT-PROFIT_CTR = SPACE.

  • WA_ACCOUNT-ORDERID = SPACE.

  • CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

  • EXPORTING

  • INPUT = WA_ACCOUNT-CUSTOMER

  • IMPORTING

  • OUTPUT = WA_ACCOUNT-CUSTOMER.

  • CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

  • EXPORTING

  • INPUT = WA_ACCOUNT-GL_ACCOUNT

  • IMPORTING

  • OUTPUT = WA_ACCOUNT-GL_ACCOUNT.

  • APPEND WA_ACCOUNT TO IT_ACCOUNT.

  • CLEAR WA_ACCOUNT.

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

WA_CURRENCY-ITEMNO_ACC = '0000000010'.

WA_CURRENCY-CURR_TYPE = '00'.

WA_CURRENCY-CURRENCY = 'USD'.

  • WA_CURRENCY-AMT_DOCCUR = '150000.00'.

WA_CURRENCY-AMT_BASE = '15000.00'.

APPEND WA_CURRENCY TO IT_CURRENCY.

CLEAR WA_CURRENCY.

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

WA_VENDOR-ITEMNO_ACC = '0000000010'.

WA_VENDOR-VENDOR_NO = '2000015'.

WA_VENDOR-SP_GL_IND = 'A'.

  • WA_VENDOR-TAX_CODE = 'C3'.

WA_VENDOR-COMP_CODE = '2000'.

WA_VENDOR-GL_ACCOUNT = '1121501001'.

WA_VENDOR-BLINE_DATE = '20050510'.

WA_VENDOR-PYMT_AMT = '150000.00'.

WA_VENDOR-PYMT_CUR = 'VEB'.

  • WA_VENDOR-PYMT_CUR_ISO = 'VEB'.

WA_VENDOR-PMNTTRMS = 'Z001'.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

INPUT = WA_VENDOR-GL_ACCOUNT

IMPORTING

OUTPUT = WA_VENDOR-GL_ACCOUNT.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

INPUT = WA_VENDOR-VENDOR_NO

IMPORTING

OUTPUT = WA_VENDOR-VENDOR_NO.

APPEND WA_VENDOR TO IT_VENDOR.

CLEAR WA_VENDOR.

  • PROBAMOS LA BAPI

REFRESH IT_RETURN.

CLEAR WA_RETURN.

CALL FUNCTION 'BAPI_ACC_DOCUMENT_CHECK'

EXPORTING

DOCUMENTHEADER = WA_DOCHEAD

  • CUSTOMERCPD =

  • CONTRACTHEADER =

TABLES

* ACCOUNTGL =

  • ACCOUNTRECEIVABLE =

ACCOUNTPAYABLE = IT_VENDOR

  • ACCOUNTTAX =

CURRENCYAMOUNT = IT_CURRENCY

  • CRITERIA =

  • VALUEFIELD =

  • EXTENSION1 =

RETURN = IT_RETURN

  • PAYMENTCARD =

  • CONTRACTITEM =

  • EXTENSION2 =

  • REALESTATE =

Hope this will help.

Regards,

Ferry Lianto

2 REPLIES 2

ferry_lianto
Active Contributor
0 Kudos

Hi Ester,

The following is a sample code from other thread.

You can populate the profit center in table (parameter)

ACCOUNTGL

.

DATA: WA_DOCHEAD TYPE BAPIACHE09,

IT_ACCOUNT TYPE TABLE OF BAPIACGL09,

WA_ACCOUNT TYPE BAPIACGL09,

IT_CURRENCY TYPE TABLE OF BAPIACCR09,

WA_CURRENCY TYPE BAPIACCR09,

IT_VENDOR TYPE TABLE OF BAPIACAP09,

WA_VENDOR TYPE BAPIACAP09,

IT_RETURN TYPE TABLE OF BAPIRET2,

WA_RETURN TYPE BAPIRET2,

WA_CRITERIA TYPE BAPIACKEC9,

WA_CURRENCY_EXT TYPE P DECIMALS 2.

DATA: KEY(19) TYPE C.

DATA: COMMIT_RET TYPE BAPIRET2.

REFRESH: IT_ACCOUNT,

IT_CURRENCY,

IT_RETURN.

CLEAR: WA_DOCHEAD,

WA_ACCOUNT,

WA_CURRENCY,

WA_RETURN,

WA_CRITERIA,

WA_CURRENCY_EXT.

  • FILL KEY FIELD

KEY = '0000000000'.

KEY+11(4) = '2000'.

KEY+15(4) = '2005'.

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

WA_DOCHEAD-USERNAME = SY-UNAME.

WA_DOCHEAD-OBJ_TYPE = 'IDOC'.

WA_DOCHEAD-OBJ_KEY = KEY.

WA_DOCHEAD-OBJ_SYS = 'Z220'.

WA_DOCHEAD-COMP_CODE = '2000'. "SOCIEDAD

WA_DOCHEAD-DOC_DATE = SY-DATUM.

WA_DOCHEAD-PSTNG_DATE = SY-DATUM.

WA_DOCHEAD-TRANS_DATE = SY-DATUM.

WA_DOCHEAD-DOC_TYPE = 'KA'.

WA_DOCHEAD-BUS_ACT = 'RFBU'.

CONCATENATE 'Solicitud de anticipo. Fecha:' SY-DATUM

INTO WA_DOCHEAD-HEADER_TXT.

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

  • WA_ACCOUNT-TAX_CODE = 'C3'.

  • WA_ACCOUNT-ACCT_TYPE = 'K'.

  • WA_ACCOUNT-ITEMNO_ACC = '0000000010'.

  • WA_ACCOUNT-GL_ACCOUNT = '1121501001'.

  • WA_ACCOUNT-VALUE_DATE = SY-DATUM.

  • WA_ACCOUNT-CUSTOMER = '2000015'.

  • WA_ACCOUNT-ITEM_TEXT = 'Posición anticipo'.

  • WA_ACCOUNT-DOC_TYPE = 'KA'.

  • WA_ACCOUNT-COMP_CODE = '2000'.

  • WA_ACCOUNT-PSTNG_DATE = SY-DATUM.

  • WA_ACCOUNT-COSTCENTER = SPACE.

  • WA_ACCOUNT-ALLOC_NMBR = 'Nº asignación'.

* WA_ACCOUNT-PROFIT_CTR = SPACE.

  • WA_ACCOUNT-ORDERID = SPACE.

  • CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

  • EXPORTING

  • INPUT = WA_ACCOUNT-CUSTOMER

  • IMPORTING

  • OUTPUT = WA_ACCOUNT-CUSTOMER.

  • CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

  • EXPORTING

  • INPUT = WA_ACCOUNT-GL_ACCOUNT

  • IMPORTING

  • OUTPUT = WA_ACCOUNT-GL_ACCOUNT.

  • APPEND WA_ACCOUNT TO IT_ACCOUNT.

  • CLEAR WA_ACCOUNT.

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

WA_CURRENCY-ITEMNO_ACC = '0000000010'.

WA_CURRENCY-CURR_TYPE = '00'.

WA_CURRENCY-CURRENCY = 'USD'.

  • WA_CURRENCY-AMT_DOCCUR = '150000.00'.

WA_CURRENCY-AMT_BASE = '15000.00'.

APPEND WA_CURRENCY TO IT_CURRENCY.

CLEAR WA_CURRENCY.

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

WA_VENDOR-ITEMNO_ACC = '0000000010'.

WA_VENDOR-VENDOR_NO = '2000015'.

WA_VENDOR-SP_GL_IND = 'A'.

  • WA_VENDOR-TAX_CODE = 'C3'.

WA_VENDOR-COMP_CODE = '2000'.

WA_VENDOR-GL_ACCOUNT = '1121501001'.

WA_VENDOR-BLINE_DATE = '20050510'.

WA_VENDOR-PYMT_AMT = '150000.00'.

WA_VENDOR-PYMT_CUR = 'VEB'.

  • WA_VENDOR-PYMT_CUR_ISO = 'VEB'.

WA_VENDOR-PMNTTRMS = 'Z001'.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

INPUT = WA_VENDOR-GL_ACCOUNT

IMPORTING

OUTPUT = WA_VENDOR-GL_ACCOUNT.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

INPUT = WA_VENDOR-VENDOR_NO

IMPORTING

OUTPUT = WA_VENDOR-VENDOR_NO.

APPEND WA_VENDOR TO IT_VENDOR.

CLEAR WA_VENDOR.

  • PROBAMOS LA BAPI

REFRESH IT_RETURN.

CLEAR WA_RETURN.

CALL FUNCTION 'BAPI_ACC_DOCUMENT_CHECK'

EXPORTING

DOCUMENTHEADER = WA_DOCHEAD

  • CUSTOMERCPD =

  • CONTRACTHEADER =

TABLES

* ACCOUNTGL =

  • ACCOUNTRECEIVABLE =

ACCOUNTPAYABLE = IT_VENDOR

  • ACCOUNTTAX =

CURRENCYAMOUNT = IT_CURRENCY

  • CRITERIA =

  • VALUEFIELD =

  • EXTENSION1 =

RETURN = IT_RETURN

  • PAYMENTCARD =

  • CONTRACTITEM =

  • EXTENSION2 =

  • REALESTATE =

Hope this will help.

Regards,

Ferry Lianto

0 Kudos

Hi Ferry,

I have put the profit center in the GL account internal table but it keeps getting error that the Special GL acct needs the profit center instead.