例:
以交易為目的(評價類別0001)移轉到備供出售(評價類別0002)時,需產生會計文件。
以交易為目的(評價類別0001)移轉到持有至到期日(評價類別0003)時,不需產生會計文件。
做法:採用BADI TPM_ACCIF_TRAC的Method FLOW_POSTING_RELEVANCE,依邏輯判斷後,將CH_FLG_POSTING_RELEVANT值設定為space後,系統即不產生會計文件。
進行時發生一個困難,FLOW_POSTING_RELEVANCE這個Method並不提供參數判斷TPM15交易時移轉前後的評價類別資訊。實際以Debug方式測試後,發現可用Field Symbol將TPM15程式的變數以參考方式取得進行判斷,程式碼如下:
DATA: TRLY_TRQ_QTY_SELECT TYPE TABLE OF TRLS_TRQ_QTY_SELECT,
TRLY_TRQ_QTY TYPE TRLS_TRQ_QTY_SELECT.
FIELD-SYMBOLS: <> TYPE ANY.
DATA: OBJNAME TYPE STRING VALUE '(SAPLTPM_TRL_VAL_CLASS_TRANSFER)G_TAB_TRQ_QTY_SELECT[]'.
CHECK SY-TCODE = 'TPM15'.
ASSIGN (OBJNAME) TO <>.
IF SY-SUBRC = 0.
TRLY_TRQ_QTY_SELECT = .
***判斷TRLY_TRQ_QTY_SELECT裡面的前後二個class
READ TABLE TRLY_TRQ_QTY_SELECT INTO TRLY_TRQ_QTY INDEX 1.
IF SY-SUBRC = 0.
IF TRLY_TRQ_QTY-COM_VAL_CLASS = '0001' AND
TRLY_TRQ_QTY-TGT_COM_VAL_CLASS = '0002'.
CH_FLG_POSTING_RELEVANT = SPACE.
ENDIF.
ENDIF.
ENDIF.
沒有留言:
張貼留言