発注伝票BAdI 明細項目設定

[ME_PROCESS_PO_CUST] PROCESS_ITEM

概要

発注伝票明細の項目に値を設定する時に実行されるBAdIです。発注伝票明細の項目に初期値を設定したり、入力項目に応じてアドオンテーブルから値を設定するロジックを組み込む等の使い方ができます。

パラメータ

パラメータは発注明細のクラスのみです。このクラスのGET_DATAメソッドを実行して発注明細データを取得します。取得したデータはSET_DATAメソッドで設定します。
パラメータ一覧
種別パラメータ説明
ImportingIM_ITEM発注明細クラス

実行タイミング

発注伝票登録・変更画面で実行されます。

ENTERキー押下時や別画面ジャンプ時など、発注伝票の明細項目変更処理が行われるタイミングでこのBAdIが実行されます。

サンプルコード

購買伝票タイプがNBの場合のみ実行するBAdIの例です。
発注伝票明細の保管場所が未設定の場合は「0001」を初期提案します。
method IF_EX_ME_PROCESS_PO_CUST~PROCESS_ITEM.

  DATA: LS_MEPOHEADER TYPE REF TO IF_PURCHASE_ORDER_MM,
        LS_MEPOHEADER TYPE MEPOHEADER,
        LS_MEPOITEM   TYPE MEPOITEM.

* 発注明細取得
  LS_MEPOITEM = IM_ITEM->GET_DATA( ).
* 発注ヘッダクラス取得
  LO_HEADER = IM_ITEM->GET_HEADER( ).
* 発注ヘッダ取得
  LS_MEPOHEADER = LO_HEADER->GET_DATA( ).

* 購買伝票タイプがNBの場合
  IF LS_MEPOHEADER-BSART = 'NB'.
    IF LS_MEPOITEM-LGORT IS INITIAL.
      LS_MEPOITEM-LGORT = '0001'. " 保管場所を設定
    ENDIF.
  ENDIF.

* 発注明細設定
  IM_ITEM->SET_DATA( LS_MEPOITEM ).

endmethod.
関連記事

コメントの投稿

非公開コメント

プロフィール

Z*

Author:Z*

このブログではSAPの技術情報について解説をしていきます。

2017年:ブログをリニューアルしました。(旧Zの高速道路)

カテゴリ
最新記事
最新コメント
月別アーカイブ
検索フォーム
リンク