Application Development and Automation 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: 
Read only

error msg in BAPI_ACC_DOCUMENT_POST :FI/CO interface: Inconsistent FI/CO document header data for updating

Former Member
0 Likes
7,172

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'.

3 REPLIES 3
Read only

archanapawar
Contributor
0 Likes
1,445

Hi,

Check this SDN Wiki : [Accounting Document Interface

http://wiki.sdn.sap.com/wiki/pages/viewpage.action?pageId=195726664

Read only

0 Likes
1,445

Hi Archana,

  Thanks for your Reply.

     ya i check above link but i dont want to create FM can you suggest me alternative for same.

Thanks,

Shrikant

Read only

0 Likes
1,445

Hi,

As the error message says, there is a problem in your document header.

Have a close look at it & debug the part where it gets checked. I suspect the problem is in the OBJ* fields. What version of ECC are you on?

cheers

Paul