‎2007 Jan 18 10:45 PM
I am posting through BAPI_ACC_DOCUMENT_CHECK. I am getting following errors in return tab. Kindly help what to do.
these are the following error message.
E |RW |609 |Error in document: BKPFF $ DEVCLNT110
E |RW |003 |No currency information transferred into Accounting
thank,
Sharat.
‎2007 Jan 18 11:21 PM
Hi
U should post the code where you fill the table with amounts
Max
‎2007 Jan 18 11:24 PM
here is the code.
TYPES: BEGIN OF tab,
field1(1000),
END OF tab.
DATA: itab TYPE STANDARD TABLE OF tab,
wa LIKE LINE OF itab.
DATA: itab_ftpost TYPE STANDARD TABLE OF ftpost,
wa_ftpost LIKE LINE OF itab_ftpost,
itab_blntab TYPE STANDARD TABLE OF blntab,
wa_blntab LIKE LINE OF itab_blntab,
itab_fttax TYPE STANDARD TABLE OF fttax,
wa_fttax LIKE LINE OF itab_fttax.
DATA l_group LIKE apqi-groupid.
DATA: g_obj_type TYPE bapiache09-obj_type,
g_obj_key TYPE bapiache09-obj_key,
g_obj_sys TYPE bapiache09-obj_sys.
DATA: tab_mwdat TYPE STANDARD TABLE OF rtax1u15,
wa_mwdat LIKE LINE OF tab_mwdat,
v_amount TYPE bseg-wrbtr.
TYPES: BEGIN OF gl_type,
f1(20),
f2(20),
f3(20),
f4(20),
f5(20),
f6(20),
f7(20),
f8(20),
END OF gl_type.
DATA: itab1 TYPE TABLE OF gl_type,
wa_itab1 LIKE LINE OF itab1.
*wa_blntab
CALL FUNCTION 'FAA_FILE_UPLOAD_EXCEL'
EXPORTING
i_filename = 'V:\GLDATA\GL_Upload_data_new.xls' "'C:\GL_Upload.xls'
I_TEST =
I_UCOMM =
I_MAXCOLS =
I_DELIMITER = ','
TABLES
et_filecontent = itab
EXCEPTIONS
ERROR_ACCESSING_FILE = 1
OTHERS = 2
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
break schandra.
LOOP AT itab INTO wa.
SPLIT wa-field1 AT ',' INTO: wa_itab1-f1 wa_itab1-f2
wa_itab1-f3 wa_itab1-f4
wa_itab1-f5 wa_itab1-f6
wa_itab1-f7 wa_itab1-f8.
APPEND wa_itab1 TO itab1.
CLEAR wa_itab1.
ENDLOOP.
DATA: i TYPE i VALUE 1,
index TYPE i VALUE 1.
DELETE itab1 FROM 8 TO 10.
*DELETE itab1 INDEX 9.
*DELETE itab1 INDEX 9.
DATA: tab_document TYPE STANDARD TABLE OF bapiache09,
wa_documentheader LIKE LINE OF tab_document,
tab_accountgl TYPE STANDARD TABLE OF bapiacgl09,
wa_accountgl LIKE LINE OF tab_accountgl,
tab_accounttax TYPE STANDARD TABLE OF bapiactx09,
wa_accounttax LIKE LINE OF tab_accounttax,
tab_currencyamount TYPE STANDARD TABLE OF bapiaccr09,
wa_currencyamount LIKE LINE OF tab_currencyamount,
tab_return TYPE STANDARD TABLE OF bapiret2,
wa_return LIKE LINE OF tab_return.
DATA: g_currency TYPE bkpf-waers VALUE 'USD'.
LOOP AT itab1 INTO wa_itab1.
IF wa_itab1-f1 = 'Document Header:'.
wa_documentheader-header_txt = wa_itab1-f2.
DELETE itab1 INDEX 1.
CLEAR wa_itab1.
ELSEIF wa_itab1-f1 = 'Document Type:'.
wa_documentheader-doc_type = wa_itab1-f2.
DELETE itab1 INDEX 1.
CLEAR wa_itab1.
ELSEIF wa_itab1-f1 = 'Document Date:'.
****Sharat MOd*******************
break schandra.
DATA: dd(2) TYPE n, mm(2),yyyy(4).
SPLIT wa_itab1-f2 AT '/' INTO dd mm yyyy.
CONCATENATE yyyy dd mm INTO wa_documentheader-doc_date.
****Sharat end MOd*******************
wa_documentheader-doc_date = wa_itab1-f2.
DELETE itab1 INDEX 1.
CLEAR wa_itab1.
ELSEIF wa_itab1-f1 = 'Posting Date:'.
****Sharat MOd*******************
SPLIT wa_itab1-f2 AT '/' INTO dd mm yyyy.
CONCATENATE yyyy dd mm INTO wa_documentheader-pstng_date.
****Sharat MOd*******************
wa_documentheader-pstng_date = wa_itab1-f2.
DELETE itab1 INDEX 1.
CLEAR wa_itab1.
ELSEIF wa_itab1-f1 = 'Period:'.
wa_documentheader-fis_period = wa_itab1-f2.
DELETE itab1 INDEX 1.
CLEAR wa_itab1.
ELSEIF wa_itab1-f1 = 'Trans. Curr. Key:'.
g_currency = wa_itab1-f2.
DELETE itab1 INDEX 1.
CLEAR wa_itab1.
ELSEIF wa_itab1-f1 = 'Company Code:'.
wa_documentheader-comp_code = wa_itab1-f2.
DELETE itab1 INDEX 1.
CLEAR wa_itab1.
ELSEIF wa_itab1-f1 = 'Reference:'.
wa_documentheader-ref_doc_no = wa_itab1-f2.
DELETE itab1 INDEX 1.
CLEAR wa_itab1.
ENDIF.
ENDLOOP.
*wa_documentheader-obj_type = 'RFBU'."'BKPFF'.
*wa_documentheader-obj_key = '$'.
*CONCATENATE sy-sysid 'CLNT' sy-mandt INTO wa_documentheader-obj_sys.
wa_documentheader-username = sy-uname.
wa_documentheader-bus_act = 'RFBU'.
APPEND wa_documentheader TO tab_document.
*CLEAR wa_documentheader.
break schandra.
LOOP AT itab1 INTO wa_itab1.
wa_accountgl-itemno_acc = i.
wa_accountgl-acct_key = wa_itab1-f1.
wa_accountgl-comp_code = wa_documentheader-comp_code.
wa_accountgl-pstng_date = wa_documentheader-pstng_date.
wa_accountgl-doc_type = wa_documentheader-doc_type.
wa_accountgl-fisc_year = '2007'.
wa_accountgl-fis_period = wa_documentheader-fis_period.
wa_accountgl-gl_account = wa_itab1-f2.
wa_accountgl-costcenter = wa_itab1-f3.
wa_accountgl-profit_ctr = wa_itab1-f4.
wa_accountgl-tax_code = wa_itab1-f6.
wa_accountgl-taxjurcode = wa_itab1-f7.
wa_accountgl-orderid = wa_itab1-f8.
APPEND wa_accountgl TO tab_accountgl.
break schandra.
v_amount = wa_itab1-f5.
DATA: v_mwskz TYPE mwskz,
v_txjcd TYPE txjcd.
v_txjcd = wa_itab1-f7.
v_mwskz = wa_itab1-f6.
WRITE wa_accounttax-tax_code TO v_mwskz.
WRITE wa_itab1-f5 TO v_amount.
IF v_mwskz IS NOT INITIAL.
CALL FUNCTION 'CALCULATE_TAX_FROM_NET_AMOUNT'
EXPORTING
i_bukrs = wa_documentheader-comp_code
i_mwskz = v_mwskz
i_txjcd = v_txjcd
i_waers = ' '" g_currency
i_wrbtr = v_amount
I_ZBD1P = 0
I_PRSDT =
I_PROTOKOLL =
I_TAXPS =
I_ACCNT_EXT =
IMPORTING
E_FWNAV =
E_FWNVV =
E_FWSTE =
E_FWAST =
TABLES
t_mwdat = tab_mwdat
EXCEPTIONS
bukrs_not_found = 1
country_not_found = 2
mwskz_not_defined = 3
mwskz_not_valid = 4
ktosl_not_found = 5
kalsm_not_found = 6
parameter_error = 7
knumh_not_found = 8
kschl_not_found = 9
unknown_error = 10
account_not_found = 11
txjcd_not_valid = 12
OTHERS = 13
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
wa_accounttax-itemno_acc = i.
wa_accounttax-gl_account = wa_itab1-f2.
READ TABLE tab_mwdat INTO wa_mwdat INDEX 1.
wa_accounttax-acct_key = wa_mwdat-ktosl.
wa_accounttax-cond_key = wa_mwdat-kschl.
wa_accounttax-tax_code = wa_itab1-f6.
wa_accounttax-taxjurcode = wa_itab1-f7.
APPEND wa_accounttax TO tab_accounttax.
ENDIF.
wa_currencyamount-itemno_acc = i.
wa_currencyamount-curr_type = '00'.
wa_currencyamount-currency = g_currency.
wa_currencyamount-amt_doccur = wa_itab1-f5.
wa_currencyamount-amt_base = wa_itab1-f5.
APPEND wa_currencyamount TO tab_currencyamount.
i = i + 1.
CLEAR: wa_accountgl,wa_accounttax,wa_currencyamount,wa_itab1.
ENDLOOP.
break schandra.
CALL FUNCTION 'BAPI_ACC_DOCUMENT_CHECK'
EXPORTING
documentheader = wa_documentheader
CUSTOMERCPD =
CONTRACTHEADER =
TABLES
accountgl = tab_accountgl
ACCOUNTRECEIVABLE =
ACCOUNTPAYABLE =
accounttax = tab_accounttax
currencyamount = tab_currencyamount
CRITERIA =
VALUEFIELD =
EXTENSION1 =
return = tab_return
PAYMENTCARD =
CONTRACTITEM =
EXTENSION2 =
REALESTATE =
ACCOUNTWT =
.
break schandra.
CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'
EXPORTING
documentheader = wa_documentheader
CUSTOMERCPD =
CONTRACTHEADER =
IMPORTING
obj_type = g_obj_type
obj_key = g_obj_key
obj_sys = g_obj_sys
TABLES
accountgl = tab_accountgl
ACCOUNTRECEIVABLE =
ACCOUNTPAYABLE =
accounttax = tab_accounttax
currencyamount = tab_currencyamount
CRITERIA =
VALUEFIELD =
EXTENSION1 =
return = tab_return
PAYMENTCARD =
CONTRACTITEM =
EXTENSION2 =
REALESTATE =
ACCOUNTWT =
.
‎2007 Jan 18 11:24 PM
And here the lagacy file
Document Header: Test Document
Document Type: SA
Document Date: 1/15/2007
Posting Date: 1/15/2007
Period: 1
Trans. Curr. Key: USD
Company Code: 1000
Posting Cost Profit Amount ( Local Tax Tax Order
Key Account Center Center Currency ) Code Jurisdiction Number
- - - - - - - -
40 113000 2000 I0 WI0000000
50 610040 1301000 2000 I0 WI0000000
‎2007 Jan 18 11:46 PM
Hi
U have to fill the base amount only for TAX item:
IF TAX = ....
wa_currencyamount-amt_base = wa_itab1-f5.
ELSE.
wa_currencyamount-amt_base = 0.
ENDIF.
Max
‎2007 Jan 23 4:31 PM