コンテンツエリア開始

Procedure documentation 見越/繰延エンジン (AE) への追加パラメータの転送  Locate the document in its SAP Library structure

1. AE への見越/繰延新規パラメータの転送

新規パラメータ (利益センタやマーケットなど) を、CRM から見越/繰延エンジンのコンポーネント IPMO に転送します。

 

請求エンジンにおける購読

Event _ACCIMI1 の機能 ACE の購読を登録します。

  1. これを行うには、請求エンジンフレームワークナビゲータ (トランザクション CRM_IPM_BEFN) にアクセスします。
  2. 新規購読を登録します。これを行うには、他のメタデータエンティティを選択して、購読にアクセスします。コンテキストメニューから新規購読を登録するには、購読を右クリックします。カスタマ名称領域に名称 (Z*) を割り当て、テンプレートインクルードの名称をプログラム名として入力します。
  3. 該当する購読を選択し、右クリックでテンプレートにアクセスします (ジャンプテンプレート)。このインクルードが登録されていない場合、自動的に登録されます。以下のコードを挿入します。

 

Note

この例では、会計処理セットから利益センタが読み込まれ、AE に別のパラメータとして転送されます。請求エンジンテンプレートが関連しているため、コードをコマンドとして入力する必要があります。

 

Example

*   DATA:

*     LS_&SUBSCRIPTION%_OBJECT  TYPE CRMT_IPM_CAE_BE_OBJECT,

*     LS_&SUBSCRIPTION%_PARAM   TYPE CRMT_IPM_CAE_BE_PARAM,

*     LV_&SUBSCRIPTION%_CUR     TYPE CRMT_IAOM_OBJECT_ID,

*     LS_&SUBSCRIPTION%_SDCO    TYPE CRMT_IPM_ACC_SDCO,

*     LV__&SUBSCRIPTION%_PRCTR  TYPE PRCTR.

*
* * loop over actual object and related subobjects

*   loop at lt_ace_object into LS_&SUBSCRIPTION%_OBJECT

*     where OBJID = ls_ace_object-objid OR

*           PARENT_GUID = ls_ace_object-objid.

*     clear: LS_&SUBSCRIPTION%_PARAM, LV_&SUBSCRIPTION%_PRCTR.

* * here you need your own coding to fill the profit center

* * as example it is read from the accounting set

*       LV_&SUBSCRIPTION%_CUR = LS_BDI_WRK-SRC_GUID.

*       READ TABLE IS_BDOC-SERVICE_SDCO[] INTO LS_&SUBSCRIPTION%_SDCO

*         WITH KEY CURRENT_OBJECT_ID = LV_&SUBSCRIPTION%_CUR.

*     IF SY-SUBRC = 0.

*       LV_&SUBSCRIPTION%_PRCTR = LS_&SUBSCRIPTION%_SDCO-PRCTR.

* *     create new parameter for Profit Center

*       LS_&SUBSCRIPTION%_PARAM-BE_HEAD_NO  =

*                           LS_&SUBSCRIPTION%_OBJECT-BE_HEAD_NO.

*       LS_&SUBSCRIPTION%_PARAM-OBJID       =

*                           LS_&SUBSCRIPTION%_OBJECT-OBJID.

*       LS_&SUBSCRIPTION%_PARAM-DATE_FROM   =

*                           LS_&SUBSCRIPTION%_OBJECT-DATE_FROM.

*       LS_&SUBSCRIPTION%_PARAM-NAME        = 'ZZPRCTR'.

*       LS_&SUBSCRIPTION%_PARAM-CONTENT     = LV_&SUBSCRIPTION%_PRCTR.

*       APPEND LS_&SUBSCRIPTION%_PARAM  TO  LT_ACE_PARAM.

*     ENDIF.

*   endloop.

 

  1. オブジェクト BD機能 ACE汎用グループ O汎用モジュール MAP4ACCR → Event _ACCIMI1 を選択して購読を割り当て、汎用モジュール MAP4ACCR を生成します。

 

見越/繰延エンジンのパラメータ構造のアペンド

 

必要な追加パラメータ用に、ERP システムの構造 IPMO_ACE_PARAMETERS のアペンドを作成します。この場合、名称が上記の ZZPRCTR でコーディングされている名称と同じであることを確認します。これによって、見越/繰延エンジンで新規パラメータが利用可能になります。

 

2. AE への収益認識新規パラメータの転送

新規パラメータ (利益センタやマーケットなど) を、CRM から見越/繰延エンジンのコンポーネント IPM に転送します。

 

BAdI 実装

CRM システムで BAdI CRM_IPM_CAE_BADI の実装を作成し、必要なパラメータをメソッド CHANGE_DATA に提供します。以下の例では、利益センタが別のパラメータとして AE に転送されます。また、常に値 4711 がこれに入力されます。
このコーディングは以下のとおりです。

 

Example

 

DATA: ls_ace_object  TYPE crmt_ipm_cae_object,

          ls_ace_param   TYPE crmt_ipm_cae_param.

 

    LOOP AT CT_ACE_OBJECT INTO LS_ACE_OBJECT.

*   create new parameter

      ls_ace_param-objid = ls_ace_object-objid .

      ls_ace_param-date_from = ls_ace_object-date_from.

      ls_ace_param-name  = ‘ZZPRCTR.

      Ls_ace_param-content = ‘4711’.

      APPEND ls_ace_param TO ct_ace_params.

    ENDLOOP.

 

Note

ライセンス販売契約を再度読み込む場合、読込には CT_ACE_OBJECT-OBJID を使用します。これは CRMD_ORDERADM_I-GUID に対応します。CT_ACE_OBJECT-OBJECT_TYPE には、ロイヤリティ明細 BRI と配賦明細のどちらが関連するかが示されます。

 

 

見越/繰延エンジンのパラメータ構造のアペンド

必要な追加パラメータ用に、構造 IPM_ACE_PARAMETERS のアペンドを作成します。この場合、名称が上記の ZZPRCTR でコーディングされている名称と同じであることを確認します。これによって、見越/繰延エンジンで新規パラメータが利用可能になります。

 

 

3. FI インタフェースへの AE パラメータの転送

 

BAdI 実装

パラメータを見越/繰延エンジンから FI インタフェースにも転送する場合、メソッドCHANGE_ITEM_DATA BAdI CRM_ACE_POSTING_BADI の実装を作成する必要があります。このコーディングは以下のとおりです。

 

Note 

エントリを入力する項目が構造 ACEPS_BAPI_PRELINEITEM に存在しない場合、アペンドを使用してこれをインクルードする必要があります。この場合、名称が構造 BAPIACGL09 でコーディングされている名称と同じであることを確認します。

 

Example

 

TYPE-POOLS: rsds, aceds.

 

  DATA: lv_ip     TYPE zcomt_product_id,

        lv_market TYPE zcrmt_ipm_market.

 

  DATA: lt_selrng  TYPE rsds_frange_t,

        ls_selrng  TYPE LINE OF rsds_frange_t,

        ls_selopt  TYPE LINE OF rsds_selopt_t,

        lt_acedsop TYPE aceds_ty_db_param_t.

 

  FIELD-SYMBOLS: <ls_acedsop> TYPE LINE OF aceds_ty_db_param_t.

 

* clear standard fields for reading accounting manager

* only necessary, if you fill your own accounting objects

  CLEAR: cs_prebapi_item-ext_object_id,

         cs_prebapi_item-bus_scenario,

         cs_prebapi_item-cond_type.

 

* read Accrual Engine parameter

  ls_selopt-sign   = 'I'.

  ls_selopt-option = 'EQ'.

  CLEAR ls_selrng.

  ls_selrng-fieldname = 'BUKRS'.

  ls_selopt-low = is_docitem-bukrs.

  APPEND ls_selopt TO ls_selrng-selopt_t.

  APPEND ls_selrng TO lt_selrng.

  CLEAR ls_selrng.

  ls_selrng-fieldname = 'OBJID'.

  ls_selopt-low = is_docitem-objid.

  APPEND ls_selopt TO ls_selrng-selopt_t.

  APPEND ls_selrng TO lt_selrng.

  CLEAR ls_selrng.

  ls_selrng-fieldname = 'SUBID'.

  ls_selopt-low = is_docitem-subid.

  APPEND ls_selopt TO ls_selrng-selopt_t.

  APPEND ls_selrng TO lt_selrng.

  CLEAR ls_selrng.

  ls_selrng-fieldname = 'PARAM_NAME'.

  ls_selopt-low = 'ZZPRCTR'.

  APPEND ls_selopt TO ls_selrng-selopt_t.

  APPEND ls_selrng TO lt_selrng.

  CALL FUNCTION 'ACEDSDB_PARAM_READ'

    EXPORTING

      id_ace_comp  = is_docitem-comp

      it_selranges = lt_selrng

    IMPORTING

      et_acedsop   = lt_acedsop

    EXCEPTIONS

      not_found    = 1.

 

* fill Profit Center

  READ TABLE lt_acedsop ASSIGNING <ls_acedsop>

    WITH KEY param_name = 'ZZPRCTR'.

  IF sy-subrc = 0.

    cs_prebapi_item-profit_ctr = <ls_acedsop>-content.

  ENDIF.

 

 

コンテンツエリア終了