04-20-2006 2:38 AM
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
04-20-2006 3:05 AM
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
04-20-2006 3:05 AM
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
04-20-2006 5:06 AM
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.