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

BAPI_ACC_DOCUMENT_POST for F-05

Former Member
0 Likes
2,733

Hello,

I want to create documents for foreign currency valuation ( F-05) and want to use BAPI_ACC_DOCUMENT_POST for this purpose.

I've created a program test that fills records and call the BAPI.

But I received following message.

E RW 609 Error in document: BKPFF 114716 Ligne : 0

E RW 628 Incorrect entry in field OBJ_TYPE: BKPFF Ligne : 1

E RW 602 Required field was not transferred in parameter Ligne : 1

E RW 602 Required field was not transferred in parameter Ligne : 1

I've used yet BAPI BAPI_ACC_DOCUMENT_POST to create other documents and it worked with value 'BKPFF' in field OBJ_TYPE.

I don't understand what's wrong ( error for OBJ_TYPE and 2 errors 602 without fieldname ).

Here is my sample code.

FORM LOAD_F05 .
*---  TEST  sur ID6
  CLEAR: ITAB_DOC.
  REFRESH:ITAB_ACCGL,ITAB_CURR, itab_BAPIACAP09,
          ITAB_REALESTATE, ITAB_ACCOUNTTAX.

  ITAB_DOC-OBJ_TYPE = 'BKPFF'.
  ITAB_DOC-OBJ_KEY = SY-UZEIT.
  ITAB_DOC-USERNAME = sy-uname.

*--- en-tête document
  ITAB_DOC-HEADER_TXT = 'HEADER'.
  ITAB_DOC-COMP_CODE = '1000'.
  ITAB_DOC-FISC_YEAR = '2011'.
  ITAB_DOC-DOC_DATE = SY-DATUM.
  ITAB_DOC-PSTNG_DATE = SY-DATUM.
  ITAB_DOC-DOC_TYPE = 'SA'.
  ITAB_DOC-REF_DOC_NO = 'X2'.
  ITAB_DOC-FIS_PERIOD = '09'.

*---   postes  de   Pièce
*--   poste  1  et  2   change   Dom. act
  ITAB_ACCGL-ITEMNO_ACC = '1'.
  ITAB_ACCGL-GL_ACCOUNT = '0000470000'.
  ITAB_ACCGL-COMP_CODE = '1000'.
  ITAB_ACCGL-PSTNG_DATE = SY-DATUM.
  ITAB_ACCGL-DOC_TYPE = 'SA'.
  ITAB_ACCGL-ITEM_TEXT = 'item text'.
  ITAB_ACCGL-TAX_CODE = '0I'.
  ITAB_ACCGL-BUS_AREA = '9900'.            "domaine activité
  ITAB_ACCGL-FUNC_AREA = '0400'.            "dom. fonctionnel
  ITAB_ACCGL-COSTCENTER = '0000001000'.                 " CC
  APPEND ITAB_ACCGL.

  ITAB_ACCGL-ITEMNO_ACC = '2'.
  ITAB_ACCGL-GL_ACCOUNT = '0000470000'.
  ITAB_ACCGL-COMP_CODE = '1000'.
  ITAB_ACCGL-PSTNG_DATE = SY-DATUM.
  ITAB_ACCGL-DOC_TYPE = 'SA'.
  ITAB_ACCGL-ITEM_TEXT = 'item text'.
  ITAB_ACCGL-TAX_CODE = '0I'.
  ITAB_ACCGL-BUS_AREA = '9000'.            "domaine activité
  ITAB_ACCGL-FUNC_AREA = '0400'.            "dom. fonctionnel
  ITAB_ACCGL-COSTCENTER = '0000001000'.                 " CC
  APPEND ITAB_ACCGL.


*---   postes  :  devise + mt
*   poste  Crédit   signés -
*  poste  que  Dev TR
  ITAB_CURR-ITEMNO_ACC = '1'.
  ITAB_CURR-CURR_TYPE  = '00'.    "  00  = TRAN curr     10 = DI
  ITAB_CURR-CURRENCY = 'USD'.
  ITAB_CURR-AMT_DOCCUR = '-100.00'.
  ITAB_CURR-AMT_BASE = '-100.00'.    " Mt base TVA
  APPEND ITAB_CURR.

*  poste  que  Dev TR
  ITAB_CURR-ITEMNO_ACC = '2'.
  ITAB_CURR-CURR_TYPE  = '00'.    "  00  = TRAN curr     10 = DI
  ITAB_CURR-CURRENCY = 'USD'.
  ITAB_CURR-AMT_DOCCUR = '100.00'.
  ITAB_CURR-AMT_BASE = '100.00'.    " Mt base TVA
  APPEND ITAB_CURR.



  CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'
   EXPORTING
     DOCUMENTHEADER = ITAB_DOC
*   CUSTOMERCPD =
*   CONTRACTHEADER =
   IMPORTING
     OBJ_TYPE = WOBJ_TYPE
     OBJ_KEY =  WOBJ_KEY
     OBJ_SYS =  WOBJ_SYS
   TABLES
     ACCOUNTGL = ITAB_ACCGL
*     ACCOUNTRECEIVABLE =
*     ACCOUNTPAYABLE = itab_BAPIACAP09
*     ACCOUNTTAX = ITAB_ACCOUNTTAX
     CURRENCYAMOUNT = ITAB_CURR
*     CRITERIA =
*     VALUEFIELD =
*     EXTENSION1 =
     RETURN = ITAB_RETURN
*     PAYMENTCARD =
*     CONTRACTITEM =
*     EXTENSION2 =
*     REALESTATE = ITAB_REALESTATE
   .
  LOOP AT ITAB_RETURN.
    WRITE: / ITAB_RETURN-TYPE,
           ITAB_RETURN-ID(5),
           ITAB_RETURN-NUMBER,
           ITAB_RETURN-MESSAGE(120),
           ' Ligne : ',itab_RETURN-ROW.

    IF ITAB_RETURN-TYPE = 'S'.
      COMMIT WORK.
      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
*       EXPORTING
*       WAIT =
*       IMPORTING
*       RETURN =
    .
    ENDIF.

  ENDLOOP.

ENDFORM.                    " LOAD_F05

Thanks in advance,

Hello,

I want to create documents for foreign currency valuation ( F-05) and want to use BAPI_ACC_DOCUMENT_POST for this purpose.

I've created a program test that fills records and call the BAPI.

But I received following message.

E RW 609 Error in document: BKPFF 114716 Ligne : 0

E RW 628 Incorrect entry in field OBJ_TYPE: BKPFF Ligne : 1

E RW 602 Required field was not transferred in parameter Ligne : 1

E RW 602 Required field was not transferred in parameter Ligne : 1

I've used yet BAPI BAPI_ACC_DOCUMENT_POST to create other documents and it worked with value 'BKPFF' in field OBJ_TYPE.

I don't understand what's wrong ( error for OBJ_TYPE and 2 errors 602 without fieldname ).

Here is my sample code.

FORM LOAD_F05 .
*---  TEST  sur ID6
  CLEAR: ITAB_DOC.
  REFRESH:ITAB_ACCGL,ITAB_CURR, itab_BAPIACAP09,
          ITAB_REALESTATE, ITAB_ACCOUNTTAX.

  ITAB_DOC-OBJ_TYPE = 'BKPFF'.
  ITAB_DOC-OBJ_KEY = SY-UZEIT.
  ITAB_DOC-USERNAME = sy-uname.

*--- en-tête document
  ITAB_DOC-HEADER_TXT = 'HEADER'.
  ITAB_DOC-COMP_CODE = '1000'.
  ITAB_DOC-FISC_YEAR = '2011'.
  ITAB_DOC-DOC_DATE = SY-DATUM.
  ITAB_DOC-PSTNG_DATE = SY-DATUM.
  ITAB_DOC-DOC_TYPE = 'SA'.
  ITAB_DOC-REF_DOC_NO = 'X2'.
  ITAB_DOC-FIS_PERIOD = '09'.

*---   postes  de   Pièce
*--   poste  1  et  2   change   Dom. act
  ITAB_ACCGL-ITEMNO_ACC = '1'.
  ITAB_ACCGL-GL_ACCOUNT = '0000470000'.
  ITAB_ACCGL-COMP_CODE = '1000'.
  ITAB_ACCGL-PSTNG_DATE = SY-DATUM.
  ITAB_ACCGL-DOC_TYPE = 'SA'.
  ITAB_ACCGL-ITEM_TEXT = 'item text'.
  ITAB_ACCGL-TAX_CODE = '0I'.
  ITAB_ACCGL-BUS_AREA = '9900'.            "domaine activité
  ITAB_ACCGL-FUNC_AREA = '0400'.            "dom. fonctionnel
  ITAB_ACCGL-COSTCENTER = '0000001000'.                 " CC
  APPEND ITAB_ACCGL.

  ITAB_ACCGL-ITEMNO_ACC = '2'.
  ITAB_ACCGL-GL_ACCOUNT = '0000470000'.
  ITAB_ACCGL-COMP_CODE = '1000'.
  ITAB_ACCGL-PSTNG_DATE = SY-DATUM.
  ITAB_ACCGL-DOC_TYPE = 'SA'.
  ITAB_ACCGL-ITEM_TEXT = 'item text'.
  ITAB_ACCGL-TAX_CODE = '0I'.
  ITAB_ACCGL-BUS_AREA = '9000'.            "domaine activité
  ITAB_ACCGL-FUNC_AREA = '0400'.            "dom. fonctionnel
  ITAB_ACCGL-COSTCENTER = '0000001000'.                 " CC
  APPEND ITAB_ACCGL.


*---   postes  :  devise + mt
*   poste  Crédit   signés -
*  poste  que  Dev TR
  ITAB_CURR-ITEMNO_ACC = '1'.
  ITAB_CURR-CURR_TYPE  = '00'.    "  00  = TRAN curr     10 = DI
  ITAB_CURR-CURRENCY = 'USD'.
  ITAB_CURR-AMT_DOCCUR = '-100.00'.
  ITAB_CURR-AMT_BASE = '-100.00'.    " Mt base TVA
  APPEND ITAB_CURR.

*  poste  que  Dev TR
  ITAB_CURR-ITEMNO_ACC = '2'.
  ITAB_CURR-CURR_TYPE  = '00'.    "  00  = TRAN curr     10 = DI
  ITAB_CURR-CURRENCY = 'USD'.
  ITAB_CURR-AMT_DOCCUR = '100.00'.
  ITAB_CURR-AMT_BASE = '100.00'.    " Mt base TVA
  APPEND ITAB_CURR.



  CALL FUNCTION 'BAPI_ACC_DOCUMENT_POST'
   EXPORTING
     DOCUMENTHEADER = ITAB_DOC
*   CUSTOMERCPD =
*   CONTRACTHEADER =
   IMPORTING
     OBJ_TYPE = WOBJ_TYPE
     OBJ_KEY =  WOBJ_KEY
     OBJ_SYS =  WOBJ_SYS
   TABLES
     ACCOUNTGL = ITAB_ACCGL
*     ACCOUNTRECEIVABLE =
*     ACCOUNTPAYABLE = itab_BAPIACAP09
*     ACCOUNTTAX = ITAB_ACCOUNTTAX
     CURRENCYAMOUNT = ITAB_CURR
*     CRITERIA =
*     VALUEFIELD =
*     EXTENSION1 =
     RETURN = ITAB_RETURN
*     PAYMENTCARD =
*     CONTRACTITEM =
*     EXTENSION2 =
*     REALESTATE = ITAB_REALESTATE
   .
  LOOP AT ITAB_RETURN.
    WRITE: / ITAB_RETURN-TYPE,
           ITAB_RETURN-ID(5),
           ITAB_RETURN-NUMBER,
           ITAB_RETURN-MESSAGE(120),
           ' Ligne : ',itab_RETURN-ROW.

    IF ITAB_RETURN-TYPE = 'S'.
      COMMIT WORK.
      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
*       EXPORTING
*       WAIT =
*       IMPORTING
*       RETURN =
    .
    ENDIF.

  ENDLOOP.

ENDFORM.                    " LOAD_F05

Thanks in advance,

2 REPLIES 2
Read only

Former Member
0 Likes
1,363

Hi!

Instead of OBJ_TYPE: BKPFF, you should try with:

OBJ_TYPE: 'IDOC'

Hope it helps!

Esteban

Read only

0 Likes
1,363

Hi Am using the Same Bapi to post in F-05,,,,,,,,,,,,,,,,,,,,,,,,

But my requirement is that the Local currency value should be 0.........

Can anyone suggest a way in which i can post 0.00 in local currency and doc currency,,,,,,,,,,,,,,

can anyone help,,,,,,,,,,,,,,,,,,,,,,,,,,