Hi Every one,
please lookin this urgent issue i need your help to correct my BAPI upload program, im using BAPI_ACC_UPLOAD _POST to upload the accounting document's but its not getting update and im getting above error please do needful ,following is my code
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-002.
PARAMETERS :DOCD TYPE ERDAT OBLIGATORY,
POSD TYPE ERDAT OBLIGATORY,
DOCT TYPE BLART OBLIGATORY,
bktxt LIKE bkpf-bktxt OBLIGATORY,
xblnr LIKE bkpf-xblnr OBLIGATORY.
SELECTION-SCREEN END OF BLOCK B1.
DATA: BEGIN OF IT_FINAL OCCURS 0,
key(2),
NEWKO(10) type C,
GSBER(4), " BAREA(4),
KOSTL(10),
PRCTR(10),
BUKRS(4),
MWSKZ(2),
TXJCD(15),
EBELN(10),
EBELP(05),
WRBTR type P decimals 2,
SALESORG(09),
CUSTOMER(10),
SGTXT(50),
END OF IT_FINAL,
WA_FINAL LIKE LINE OF IT_FINAL.
DATA: gs_documentheader LIKE BAPIACHE09,
criteria LIKE BAPIACKEC9 OCCURS 0 WITH HEADER LINE,
acctgl LIKE BAPIACGL09 OCCURS 0 WITH HEADER LINE,
acctrcv LIKE BAPIACAR09 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.
DATA:lv_item TYPE I VALUE 1.
CALL FUNCTION 'UPLOAD'
EXPORTING
FILENAME = ' '
FILETYPE = 'DAT'
TABLES
DATA_TAB = IT_FINAL
EXCEPTIONS
CONVERSION_ERROR = 1
INVALID_TABLE_WIDTH = 2
INVALID_TYPE = 3
NO_BATCH = 4
UNKNOWN_ERROR = 5
GUI_REFUSE_FILETRANSFER = 6
OTHERS = 7
.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
""logic for month and year from posting date
DATA: E_GJAHR TYPE FTIS_GJAHR,
E_MONAT TYPE FTIS_MONAT.
READ TABLE it_final INTO wa_final INDEX 1.
CALL FUNCTION 'FTI_FISCAL_YEAR_MONTH_GET'
EXPORTING
I_BUKRS = wa_final-BUKRS
I_BUDAT = POSD
* I_DZTERM = FTIS_DATUM-INITIAL
* I_GJAHR = FTIS_GJAHR-INITIAL
IMPORTING
E_GJAHR = E_GJAHR
E_MONAT = E_MONAT.
""END of logic.
CLEAR gs_documentheader.
gs_documentheader-bus_act = 'RFBU'.
GS_DOCUMENTHEADER-PSTNG_DATE = POSD. "posting date
gs_documentheader-doc_date = DOCD. "Document Date
GS_DOCUMENTHEADER-DOC_TYPE = DOCT. "Document type
gs_documentheader-HEADER_TXT = BKTXT. "Header Text
gs_documentheader-ref_doc_no = XBLNR. "refrenes doc number
gs_documentheader-username = SY-UNAME. "user ID
gs_documentheader-fis_period = E_MONAT. "Month
gs_documentheader-fisc_year = E_GJAHR. "Year
REad TABLE IT_FINAL INTO WA_FINAL INDEX 1.
GS_DOCUMENTHEADER-COMP_CODE = WA_FINAL-BUKRS. "Year
MOVE 'RFBU' TO GS_DOCUMENTHEADER-BUS_ACT.
MOVE 'BKPFF' TO GS_DOCUMENTHEADER-OBJ_TYPE. "Comment for >= ECC5.0
MOVE '$' TO GS_DOCUMENTHEADER-OBJ_KEY. "Comment for >= ECC5.0
MOVE SY-MANDT TO GS_DOCUMENTHEADER-OBJ_SYS. "Comment for >= ECC5.0
LOOP AT it_final INTO wa_final.
* Increment item number
lv_item = lv_item + 1.
IF wa_final-customer IS INITIAL.
* Fill Account GL if it is GL account
CLEAR acctgl .
ACCTGL-ITEMNO_ACC = LV_ITEM.
acctgl-gl_account = wa_final-NEWKO.
acctgl-comp_code = wa_final-bukrs.
acctgl-pstng_date = posd.
acctgl-doc_type = doct.
acctgl-costcenter = wa_final-kostl.
acctgl-item_text = wa_final-sgtxt.
* acctgl-tax_code = lco_tax_code.
APPEND acctgl.
ELSE.
* Fill Account receivable if it is a customer
CLEAR acctrcv.
acctrcv-itemno_acc = lv_item.
acctrcv-customer = wa_final-customer.
acctrcv-gl_account = wa_final-newko.
acctrcv-comp_code = wa_final-bukrs.
acctrcv-item_text = wa_final-sgtxt.
APPEND acctrcv.
ENDIF.
* Fill amounts
CLEAR doc_values.
doc_values-itemno_acc = lv_item.
doc_values-currency = 'USD'.
doc_values-amt_doccur = wa_FINAL-wrbtr.
APPEND doc_values.
ENDLOOP.
CALL FUNCTION 'BAPI_ACC_DOCUMENT_CHECK'
EXPORTING
documentheader = gs_documentheader
TABLES
accountgl = acctgl
accountreceivable = acctrcv
currencyamount = doc_values
return = return.
* Check if the document is okay to post
* Post the account document
CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'
EXPORTING
DOCUMENTHEADER = GS_DOCUMENTHEADER
IMPORTING
OBJ_KEY = GS_DOCUMENTHEADER-OBJ_KEY
OBJ_TYPE = GS_DOCUMENTHEADER-OBJ_TYPE
OBJ_SYS = GS_DOCUMENTHEADER-OBJ_SYS
TABLES
ACCOUNTGL = ACCTGL
ACCOUNTRECEIVABLE = ACCTRCV
CURRENCYAMOUNT = DOC_VALUES
RETURN = RETURN.
BREAK-POINT.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.