販売伝票EXIT 明細項目設定

[MV45AFZZ] USEREXIT_MOVE_FIELD_TO_VBAP

概要

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

パラメータ

パラメータはありませんが、販売伝票画面のグローバル変数が利用可能です。
VBAP(販売伝票明細)とSVBAP(明細レコードの登録/変更区分)などの変数を利用します。
主な変数
種別パラメータ説明
変数VBAK販売伝票ヘッダ
VBAP販売伝票明細
SVBAP明細レコードの登録/変更区分

実行タイミング

受注伝票、見積伝票、引合伝票、基本契約伝票などの販売伝票登録・変更画面で実行されます。BAPIからの伝票登録時にも実行されます。

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

サンプルコード

販売伝票タイプがTAの場合のみ実行するEXITの例です。 販売伝票明細の品目グループ1が未設定の場合は「001」を初期提案します。

このEXITは明細の変更イベントが実行されるごとに何度も実行されるため、初期提案処理が1回だけ行われるようにSVBAP-TABIX = 0という条件も追加しています。
*---------------------------------------------------------------------*
*       FORM USEREXIT_MOVE_FIELD_TO_VBAP                              *
*---------------------------------------------------------------------*
*       This userexit can be used to move some fields into the sales  *
*       dokument item workaerea VBAP.                                 *
*                                                                     *
*       SVBAP-TABIX = 0:  Create item                                 *
*       SVBAP-TABIX > 0:  Change item                                 *
*                                                                     *
*       This form is called at the end of form VBAP_FUELLEN.          *
*                                                                     *
*---------------------------------------------------------------------*
FORM USEREXIT_MOVE_FIELD_TO_VBAP.

* 販売伝票タイプがTAの場合
  IF VBAK-AUART = 'TA'.
    IF VBAP-MVGR1 IS INITIAL AND SVBAP-TABIX = 0.
      VBAP-MVGR1 = '001'.   " 品目グループ1を設定
    ENDIF.
  ENDIF.

*  VBAP-zzfield = xxxx-zzfield2.

ENDFORM.
関連記事

コメントの投稿

非公開コメント

プロフィール

Z*

Author:Z*

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

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

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