天天看點

SAP ABAP KO88工單結算 替代FI憑證資訊 BADI BADI_FINS_ACDOC_POSTING_EVENTS

增強點:ES_FINS_ACDOCA

BADI:BADI_FINS_ACDOC_POSTING_EVENTS

SAP ABAP KO88工單結算 替代FI憑證資訊 BADI BADI_FINS_ACDOC_POSTING_EVENTS

1.将憑證替代字段添加到結構 FINS_ACDOC_SUBST

SAP ABAP KO88工單結算 替代FI憑證資訊 BADI BADI_FINS_ACDOC_POSTING_EVENTS

實作方法SUBST_ACDOCA_EXTENSION_FIELDS

METHOD IF_BADI_FINS_ACDOC_POST_EVENTS~SUBST_ACDOCA_EXTENSION_FIELDS.

*   Example implementation to substitute or derive extension fields in ACDOCA
    DATA:LS_ACDOCA TYPE ACDOCA .
    DATA: LS_ACDOC_SUBST TYPE LINE OF FINST_ACDOC_SUBST.
BREAK zwanggf .
    CLEAR ET_ACDOC_SUBST.
    LOOP AT IT_ACDOC REFERENCE INTO DATA(LR_ACDOC).

*     Fill key fields and standard fields for ET_ACDOC_SUBST
      MOVE-CORRESPONDING LR_ACDOC->* TO LS_ACDOC_SUBST ##enh_ok.
      MOVE-CORRESPONDING LR_ACDOC->* TO LS_ACDOCA .
*     Example 1: move another ACDOCA field to an extension field
*      ls_acdoc_subst-yy1_prctr_jei = lr_acdoc->prctr.

*     Example 2: copy a field from ACCIT to an extension field
*     First we have to lookup the corresponding ACCIT item
*     With note 2827405 the lines in it_acdoc and it_acdoc_item are linked also via temporary DOCLN
*     to retrieve also split data in it_acdoc_item.
*     Furthermore it_acdoc_item has also a secondary key ACDOCA_KEY with the following fields:
*     RLDNR BUKRS GJAHR BELNR BUZEI DOCLN
*     Via this secondary key the data in it_acdoc_item can be found very quickly
*管理費用分類編碼
      SELECT
        SINGLE
        *
        INTO @DATA(LS_DATA)
        FROM ZFIT0037
        WHERE KTOPL EQ  'RT01'
        AND SAKNR EQ @LS_ACDOCA-RACCT .
      IF SY-SUBRC = 0 .
        LS_ACDOC_SUBST-ZZFI005 = LS_DATA-ZCLASS .
        APPEND LS_ACDOC_SUBST TO ET_ACDOC_SUBST.
      ENDIF .


    ENDLOOP.

  ENDMETHOD.
           

3.激活增強 。

KO88工單結算,憑證字段替代成功。

SAP ABAP KO88工單結算 替代FI憑證資訊 BADI BADI_FINS_ACDOC_POSTING_EVENTS