販売伝票EXIT ヘッダ項目設定

[MV45AFZZ] USEREXIT_MOVE_FIELD_TO_VBAK

概要

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

パラメータ

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

実行タイミング

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

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

サンプルコード

販売伝票タイプがTAの場合のみ実行するEXITの例です。 販売伝票ヘッダの得意先グループ1が未設定の場合は「001」を初期提案します。

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

* 販売伝票タイプがTAの場合
  IF VBAK-AUART = 'TA'.
    IF VBAK-KVGR1 IS INITIAL AND SVBAK-TABIX = 0.
      VBAK-KVGR1 = '001'.   " 得意先グループ1を設定
    ENDIF.
  ENDIF.

*  vbak-zzfield = xxxx-zzfield2.

ENDFORM.
関連記事

コメントの投稿

非公開コメント

プロフィール

Z*

Author:Z*

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

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

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