販売伝票EXIT 伝票保存前処理

[MV45AFZZ] USEREXIT_SAVE_DOCUMENT_PREPARE

概要

販売伝票の保存前に実行されるUSEREXITです。販売伝票保存時の入力チェックや項目値の自動設定などの用途で利用されます。

パラメータ

パラメータはありませんが、販売伝票画面のグローバル変数が利用可能です。
主な変数はVBAK(販売伝票ヘッダ)とXVBAP(販売伝票明細)などです。X系の変数には現在の項目値が格納され、Y系の変数には変更モードでの変更前の値が格納されています。
主な変数
種別パラメータ説明
変数VBAK販売伝票ヘッダ
YVBAK販売伝票明細
XVBAP販売伝票明細
YVBAP販売伝票明細 (変更前)
XVBEP販売伝票納入日程行
YVBEP販売伝票納入日程行 (変更前)
XVBKD販売伝票ビジネスデータ
YVBKD販売伝票ビジネスデータ (変更前)
XVBPA販売伝票取引先
YVBPA販売伝票取引先 (変更前)

実行タイミング

受注伝票、見積伝票、引合伝票、基本契約伝票などの販売伝票登録・変更画面で実行されます。BAPIからの販売伝票登録時や仕入先直送の購買伝票保存時にも実行されます。

保存ボタン押下時にこのEXITが実行されます。

サンプルコード

販売伝票タイプがTAの場合のみ実行するEXITの例です。 品目グループ1と品目グループ2が両方初期値の場合、エラーメッセージを表示します。
*---------------------------------------------------------------------*
*       FORM USEREXIT_SAVE_DOCUMENT_PREPARE                           *
*---------------------------------------------------------------------*
*       This userexit can be used for changes or checks. before a     *
*       document is saved.                                            *
*                                                                     *
*       If field T180-TRTYP contents 'H', the document will be        *
*       created. else it will be changed.                             *
*                                                                     *
*       This form is called at the beginning of form BELEG_SICHERN.   *
*                                                                     *
*---------------------------------------------------------------------*
FORM USEREXIT_SAVE_DOCUMENT_PREPARE.

* 販売伝票タイプがTAの場合
  IF VBAK-AUART = 'TA'.
*   明細をループ
    LOOP AT XVBAP.
      IF XVBAP-MVGR1 IS INITIAL AND XVBAP-MVGR2 IS INITIAL.
*       品目グループ1または品目グループ2を入力してください
        MESSAGE E001(Z001).
      ENDIF.
    ENDLOOP.

  ENDIF.

ENDFORM.
関連記事

コメントの投稿

非公開コメント

プロフィール

Z*

Author:Z*

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

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

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