スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

出荷伝票BAdI 伝票保存前処理

[LE_SHP_DELIVERY_PROC] SAVE_DOCUMENT_PREPARE

概要

出荷伝票の保存前に実行されるBAdIです。出荷伝票保存時の項目値変更の用途で利用されます。
伝票データが不整合とならないように、Xテーブル、YテーブルのSAP内部の設定ルールに則って変更をする必要があります。

パラメータ

出荷伝票のテーブル構成に近い形でパラメータも構成されています。X系の変数には現在の項目値が格納され、Y系の変数には変更モードでの変更前の値が格納されています。
パラメータ一覧
種別パラメータ説明
ImportingIT_XVBUKヘッダステータス
IT_YVBUKヘッダステータス (変更前)
IT_XVBUP明細ステータス
IT_YVBUP明細ステータス (変更前)
IS_V50AGL制御構造
IF_TRTYPトランザクションタイプ
IF_TCODEトランザクションコード
ChangingCT_XLIKP出荷ヘッダ
CT_YLIKP出荷ヘッダ (変更前)
CT_XLIPS出荷明細
CT_YLIPS出荷明細 (変更前)
CT_XVBPA取引先機能
CT_YVBPA取引先機能 (変更前)
CT_XVBFA伝票フロー
CT_YVBFA伝票フロー (変更前)
CT_XVBADRアドレス
CF_FORCE_STATUS_UPDATEステータス更新
CS_V50AGL_CUST制御構造 (カスタマ用)
CT_LOGログ

実行タイミング

出荷伝票登録・変更画面で実行されます。出荷証明登録画面でも実行されます。
保存ボタン押下時や出庫確認ボタン押下時にこのBAdIが実行されます。

サンプルコード

出荷伝票保存時に実行するBAdIの例です。出荷明細のアドオン項目に値を設定します。

更新区分が未設定の場合は、Yテーブルに変更前レコードを作成し、Xテーブルに更新区分Uを設定します。
method IF_EX_SHP_DELIVERY_PROC~SAVE_DOCUMENT_PREPARE.

  DATA: LS_XLIPS TYPE LINE OF SHP_LIPS_T,
        LS_YLIPS TYPE LINE OF SHP_LIPS_T,
        LF_TABIX LIKE SY-TABIX.

  LOOP AT CT_XLIPS INTO LS_XLIPS WHERE UPDKZ <> 'D'.
    LF_TABIX = SY-TABIX.

*   更新区分が未設定の場合、Yテーブルに追加
    IF LS_XLIPS-UPDKZ = ' '.
      LS_YLIPS = LS_XLIPS.
      APPEND LS_YLIPS TO CT_YLIPS.
      LS_XLIPS-UPDKZ = 'U'. " 更新区分にUを設定
    ENDIF.

*   出荷明細のアドオン項目を更新
    LS_XLIPS-ZZFIELD1 = 'ABCD'.
    MODIFY CT_XLIPS FROM LS_XLIPS INDEX LF_TABIX.
  ENDLOOP.

endmethod.
関連記事

コメントの投稿

非公開コメント

プロフィール

Z*

Author:Z*

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

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

カテゴリ
最新記事
最新コメント
月別アーカイブ
検索フォーム
リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。