販売伝票処理のユーザExit

SAP User Exits In Sales Document Processing

このIMGステップでは、販売伝票処理における追加のインストール固有の処理について説明します。特に、必要なINCLUDESおよびユーザー出口について説明します。

関与するプログラムコンポーネント

販売伝票処理のシステム変更は、さまざまな領域に影響します。変更に応じて、提供されているプログラムコンポーネントを変更します。

  • MV45ATZZ
販売ドキュメント処理のメタデータを入力します。ユーザー固有のメタデータは「ZZ」で始まる必要があります。
  • MV45AOZZ
画面で呼び出され、画面の出力前にPBO(出力前処理)で実行される、販売伝票処理用の追加のインストール固有モジュールを入力します。モジュールは「ZZ」で始まる必要があります。
  • MV45AIZZ
販売ドキュメント処理用の追加のインストール固有モジュールを入力するため。これらは 画面によって呼び出され、データ入力(たとえば、データ検証)の後にPAI(Process After Input)の下で実行されます。モジュールは「ZZ」で始まる必要があります。
  • MV45AFZZおよびMV45EFZ1
インストール固有のFORMルーチンを入力したり、ユーザー出口を使用したりするために必要な場合があり、必要に応じて使用できます。これらのプログラムコンポーネントは、MV45AOZZまたはMV45AIZZのモジュールによって呼び出されます。

プログラムMV45AFZZのユーザー出口

販売伝票処理の変更に使用できるユーザー出口を以下に示します。

  • USEREXIT_DELETE_DOCUMENT
このユーザー出口は、販売ドキュメントが削除された場合など、販売ドキュメントの作成中に別のテーブルに格納されたデータを削除するために使用できます。
たとえば、注文入力時に追加のテーブルに担当者の名前(ERNAM)が入力されている場合、このデータは、販売注文の削除後に削除することもできます。
ユーザー出口は、ルーチンBELEG_SICHERNの直前のFORMルーチンBELEG_LOESCHENの終わりに呼び出されます。
  • USEREXIT_FIELD_MODIFICATION
このユーザー出口を使用して、画面フィールドの属性を変更できます。
これを行うには、画面フィールドをいわゆる修正グループ1〜4に割り当て、ABAPでの修正中に一緒に編集することができます。フィールドにフィールド名がない場合、グループに割り当てることはできません。
フィールドグループ(変更グループ1〜4)の使用法は次のとおりです。
  • 変更グループ1: トランザクションMFAWによる自動変更
  • 変更グループ2: ステップループフィールドの「LOO」が含まれています
  • 変更グループ3: チェックに依存する変更の場合 テーブルまたはその他の固定情報
  • 修正グループ4: 使用されていません
FORMルーチンは、画面のすべてのフィールドに対して呼び出されます。変更を加える必要がある場合は、このユーザー出口で変更を行う必要があります。
このFORMルーチンは、モジュールFELDAUSWAHLによって呼び出されます。
インターフェースの構成の詳細については、スクリーンペインタのマニュアルを参照してください。
  • USEREXIT_MOVE_FIELD_TO_VBAK
このユーザー出口を使用して、販売ドキュメントのヘッダーレベルで新しいフィールドに値を割り当てます。これは、 「顧客マスターフィールドの販売伝票への転送」のセクションで説明されています
ユーザー出口は、FORMルーチンVBAK_FUELLENの最後に呼び出されます。
  • USEREXIT_MOVE_FIELD_TO_VBAP
このユーザー出口を使用して、販売文書アイテムレベルで新しいフィールドに値を割り当てます。これは、 「顧客マスターフィールドを販売ドキュメントにコピーする」セクションで説明されています。
ユーザー出口は、FORMルーチンVBAP_FUELLENの最後に呼び出されます。
  • USEREXIT_MOVE_FIELD_TO_VBEP
このユーザー出口を使用して、販売文書スケジュール行のレベルで新しいフィールドに値を割り当てます。
ユーザー出口は、FORMルーチンVBEP_FUELLENの最後に呼び出されます。
  • USEREXIT_MOVE_FIELD_TO_VBKD
このユーザー出口を使用して、販売ドキュメントのビジネスデータの新しいフィールドに値を割り当てます。これは、 「顧客マスターフィールドを販売ドキュメントにコピーする」セクションで説明されています。
ユーザー出口は、FORMルーチンVBKD_FUELLENの最後に呼び出されます。
  • USEREXIT_NUMBER_RANGE
このユーザー出口を使用して、必須フィールドに応じて内部文書番号割り当ての番号範囲を定義します。たとえば、販売組織(VKORG)または販売会社(VKBUR)に応じて番号範囲を定義する場合は、このユーザー出口を使用します。
ユーザー出口は、FORMルーチンBELEG_SICHERNで呼び出されます。
  • USEREXIT_PRICING_PREPARE_TKOMK
価格設定の基礎となる通信構造KOMKの追加ヘッダーフィールドに値を含めて割り当てる場合は、このユーザー出口を使用します。
  • USEREXIT_PRICING_PREPARE_TKOMP
価格設定の基礎となるコミュニケーション構造KOMPの追加の項目フィールドに値を含めるか割り当てる場合は、このユーザー出口を使用します。
  • USEREXIT_READ_DOCUMENT
TA01またはTA02のインポート時にさらに追加のテーブルを読み込む場合は、このユーザー出口を使用します。
ユーザー出口は、FORMルーチンBELEG_LESENの最後に呼び出されます。
  • USEREXIT_SAVE_DOCUMENT
このユーザー出口を使用して、ユーザー固有の統計更新テーブルに入力します。
ユーザー出口は、COMMITコマンドの前にFORMルーチンBELEG-SICHERNによって呼び出されます。
注意
標準フィールドが変更されると、フィールドr185d-datalossはXに設定されます。システムは、安全ルーチンの最初にこのインジケーターを照会します。このため、この区分も、保存されるユーザ固有のテーブルの更新中に設定する必要があります。
  • USEREXIT_SAVE_DOCUMENT_PREPARE
このユーザー出口を使用して、ドキュメントを保存する直前に特定の変更またはチェックを行います。これは、投稿する前にドキュメントを変更またはチェックする最後の可能性です。
ユーザー出口は、FORMルーチンBELEG_SICHERNの開始時に実行されます。

プログラムMV45AFZAのユーザー出口

  • USEREXIT_MOVE_FIELD_TO_KOMKD
このユーザー出口を使用して、材料決定の基礎として使用される通信構造KOMKDの追加のヘッダーフィールドに値を含めたり割り当てたりします。これについては、 「材料決定の新しいフィールド」セクションで詳しく説明しています。
  • USEREXIT_MOVE_FIELD_TO_KOMPD
このユーザー出口を使用して、材料決定の基礎となるコミュニケーション構造KOMPDの追加の項目フィールドに値を含めるか、値を割り当てます。これについては、 「材料決定の新しいフィールド」セクションで詳しく説明しています。
  • USEREXIT_MOVE_FIELD_TO_KOMKG
このユーザー出口を使用して、材料決定と材料リストの基礎として使用される通信構造KOMKGの追加フィールドに値を含めるか、値を割り当てます。これについては、 「リスト/除外の新しいフィールド」セクションで詳しく説明しています。
  • USEREXIT_MOVE_FIELD_TO_KOMPG
このユーザー出口を使用して、材料決定および材料リストの基礎として使用される通信構造KOMPGの追加フィールドに値を含めるか、値を割り当てます。これについては、 「リスト/除外の新しいフィールド」セクションで詳しく説明しています。
  • USEREXIT_REFRESH_DOCUMENT
このユーザー出口を使用すると、販売ドキュメントの処理が終了した直後に、次のドキュメントが編集される前に、特定の顧客固有のフィールドをリセットできます。
たとえば、受注処理の与信限度が伝票処理中に読み込まれた場合、次の伝票を処理する前に再度リセットして、次の伝票の受注先に与信限度が使用されないようにする必要があります。 。
F3またはF15でドキュメントの処理を終了すると、ドキュメントが保存されるときにユーザー出口が実行されます。
ユーザー出口は、FORMルーチンBELEG_INITIALISIERENの最後に呼び出されます。

プログラムMV45AFZBのユーザー出口

  • USEREXIT_CHECK_XVBAP_FOR_DELET
このユーザー出口では、アイテムを削除するための追加データを入力できます。基準が満たされた場合、アイテムは削除されません(標準システムとは異なります)。
  • USEREXIT_CHECK_XVBEP_FOR_DELET
このユーザー出口では、納入日程を削除するための追加データを入力できます。基準が満たされた場合、納入日程行は削除されません(標準システムとは異なります)。
  • USEREXIT_CHECK_VBAK
このユーザー出口を使用して、ドキュメントヘッダーで追加のチェック(完了など)を実行できます。システムは、たとえば、特定の顧客グループに特定の配送条件が許可されているかどうかを確認できます。
  • USEREXIT_CHECK_VBAP
このユーザー出口を使用して、アイテムレベルで追加のチェック(完了など)を実行できます。
  • USEREXIT_CHECK_VBKD
ユーザー出口を使用して、オーダー内のビジネスデータの追加チェック(完了など)を実行できます。
  • USEREXIT_CHECK_VBEP
このユーザー出口を使用して、スケジュール行で追加のチェック(完了など)を実行できます。たとえば、BOM展開中に、特定の項目をメインアイテムからサブアイテムにコピーする必要がある場合があります(標準システムの請求ブロックの場合)。
  • USEREXIT_CHECK_VBSN
このユーザー出口を使用して、シリアル番号の追加チェック(完了など)を実行できます。
  • USEREXIT_CHECK_XVBSN_FOR_DELETこのユーザー出口では、シリアル番号を削除するための追加の基準を入力できます。基準が満たされた場合、シリアル番号は削除されません(標準システムとは異なります)。
  • USEREXIT_FILL_VBAP_FROM_HVBAP
このユーザー出口を使用して、サブアイテムの追加フィールドにメインアイテムのデータを入力できます。
  • USEREXIT_MOVE_FIELD_TO_TVCOM_H
このユーザー出口を使用して、ヘッダーテキストのテキスト決定に影響を与えることができます。たとえば、テキスト決定用の新しいフィールドを含めたり、既存のフィールドに新しい値を入力したりできます。
  • USEREXIT_MOVE_FIELD_TO_TVCOM_I
このユーザー出口を使用して、アイテムテキストのテキスト決定に影響を与えることができます。たとえば、テキスト決定用の新しいフィールドを含めたり、既存のフィールドに新しい値を入力したりできます。
  • 製品割り当てのユーザー出口:
次のユーザー出口はすべて、構造COBLに適用されます。この構造では、勘定設定のデータがアイテムレベルにコピーされます。
  • USEREXIT_MOVE_FIELD_TO_COBL
構造COBLに新しいフィールドを含めるオプション。
  • USEREXIT_COBL_RECEIVE_VBAK
ドキュメントヘッダーの値を新しいフィールドに割り当てるオプション。
  • USEREXIT_COBL_RECEIVE_VBAP
アイテムから新しいフィールドに値を提供するオプション。
  • USEREXIT_COBL_SEND_ITEM
変更されたフィールドは、構造からアイテムにコピーできます。ユーザー出口を使用して、勘定設定ブロックの特定のフィールドを表示できます(MV45AFZBも参照)。
  • USEREXIT_COBL_SEND_HEADER
変更されたフィールドを構造からヘッダーにコピーできます(ソーステキストMV45AFZBを参照)
  • USEREXIT_SOURCE_DETERMINATION
このユーザー出口を使用して、配送に使用するプラントを決定できます。標準システムでは、出荷プラントは得意先マスタまたは得意先品目情報レコードからコピーされます。別のルールを使用する場合は、このユーザー出口に入力する必要があります。
  • USEREXIT_MOVE_FIELD_TO_ME_REQ
このユーザー出口を使用すると、次のフィールドに追加のフィールドを含めることができます。
  • EBAN(購買依頼)
  • EBKN(購買依頼-勘定割当)
  • USEREXIT_GET_FIELD_FROM_SDCOM
バリアント構成の新しいフィールドを含めるオプション。構造SDCOMに含まれているフィールドを処理して、注文に戻すことができます。
  • USEREXIT_MOVE_WORKAREA_TO_SDWA
このユーザー出口を使用して、バリアント構成の追加の作業領域をフォーマットできます。MV45AFZBのユーザー出口に関するメモがあります。
  • 最初のデータ転送のユーザー出口:
以下のユーザー出口は、最初のデータ転送にのみ使用できます。
注意
名前/フィールドに同じ名前がない場合にのみ、ユーザー出口を使用します。
  • USEREXIT_MOVE_FIELD_TO_VBAKKOM
構造VBAKKOM(販売伝票ヘッダを更新するためのコミュニケーションフィールド)に追加フィールドを含めるオプション
  • USEREXIT_MOVE_FIELD_TO_VBAPKOM
構造VBAPKOM(販売アイテムを更新するための通信フィールド)に追加フィールドを含めるオプション
  • USEREXIT_MOVE_FIELD_TO_VBEPKOM
構造VBEPKOMに追加項目を含めるオプション(販売伝票の納入日程行を更新するための通信項目)
  • USEREXIT_MOVE_FIELD_TO_VBSN
このユーザー出口を使用して、構造VBSN(分納契約関連の変更ステータス)にフィールドを含めることができます。
  • USEREXIT_MOVE_FIELD_TO_KOMKH
このユーザー出口を使用して、バッチ決定用の新しいフィールド(ドキュメントヘッダー)を含めることができます。
  • USEREXIT_MOVE_FIELD_TO_KOMPH
このユーザー出口を使用して、バッチ決定(文書アイテム)の新しいフィールドを含めることができます。
  • USEREXIT_CUST_MATERIAL_READ
このユーザー出口を使用して、顧客マテリアル情報レコードに別の顧客番号を設定できます(顧客階層など)。
  • USEREXIT_NEW_PRICING_VBAP
価格設定を再実行するための前提条件を入力するためのオプション(たとえば、特定の項目フィールドに対して行われた変更は、価格設定を再実行するための前提条件として使用できます)。MV45AFZBの詳細情報。
  • USEREXIT_NEW_PRICING_VBKD
価格設定を再実行するための前提条件を入力するオプション(たとえば、顧客グループまたは価格グループへの変更は、システムが価格設定を再実行するための前提条件として設定できます)。MV45AFZBの詳細情報。
  • プログラムMV45AFZDのユーザー出口
  • USEREXIT_CONFIG_DATE_EXPLOSION
BOMは入力日付の順に展開されます。このユーザー出口を使用して、BOMを展開するために使用する必要のあるデータを決定できます(たとえば、必要な配達日の展開)。

プログラムFV45EFZ1のユーザー出口

  • USEREXIT_CHANGE_SALES_ORDER
標準SAP R / 3システムでは、購買依頼が割り当てられ、それまたは販売伝票が変更されると、販売伝票の納入日程行の数量と確認日付が自動的に変更されます(数量、日付など)。
標準システムでこの設定を変更する場合は、受注が自動的に変更されないようにするために、特定の要件を定義できます。この目的には、このユーザー出口を使用してください。この時点で、納入日程行を変更するかどうかを決定します。

プログラムRV45PFZAのユーザー出口

  • USEREXIT_SET_STATUS_VBUK
このユーザー出口では、予約フィールドの仕様をVBUK(ヘッダーステータス)に保存できます。予約フィールドUVK01は、たとえば、追加注文ステータス(拒否ステータスなど)に使用できます。
このユーザー出口では、次のワークエリアを使用できます。
  • VBUK(ヘッダーステータス)
  • FXVBUP(アイテムステータス)
  • FXVBUV(不完全)
  • USEREXIT_SET_STATUS_VBUP
このユーザー出口では、VBUP(アイテムステータス)の予約フィールドの仕様を保存できます。
このユーザー出口では、次のワークエリアを使用できます。
  • FXVBAP(アイテムデータ)
  • FXVBAPF(注文品目フローの動的部分)
  • FXVBUV(不完全)
  • USEREXIT_STATUS_VBUK_INVOICE
このユーザー出口を使用して、ヘッダーレベルで請求ステータスに影響を与えることができます。

画面のユーザー出口

追加のヘッダーデータは画面SAPMV45A 0309にあり、追加のアイテムデータは画面SAPMV45A 0459にあります。これらの画面には、ユーザー出口としてインクルード画面SAPMV45A 8309またはSAPMV45A 8459が含まれています。

特定のインストールのセールスドキュメントにも含まれるフィールドは、メンテナンス画面の[含める]画面に含める必要があります。フィールドにアプリケーション固有のチェックモジュールが必要な場合は、これをインクルードMV45AIZZに含めることができます。モジュールは、インクルード画面の処理ロジックで呼び出されます。

フィールド輸送の場合、変更や調整を行う必要はありません。

新しいフィールドVBAK-ZZKUNをテーブルVBAKに含める必要があります。

チェックがディクショナリ(固定値またはチェックテーブル)を介して定義されている場合、フィールドはインクルード画面SAPMV45A 8309のフルスクリーンエディタに含める必要があります。この場合、処理ロジックに変更を加える必要はありません。

プログラムMV45AFZ4のユーザー出口

  • USEREXIT_MOVE_FIELD_TO_KOMK
このユーザー出口を使用して、無料の商品を決定するために、通信構造-KOMK-に追加のヘッダーフィールドを追加または編集できます。詳細については、無償品決定 IMGアクティビティの新規項目を参照してください 。
  • USEREXIT_MOVE_FIELD_TO_KOMP
このユーザー出口を使用して、無料の商品を決定するために、コミュニケーション構造KOMPで追加の項目フィールドを追加または編集できます。詳細については、無償品決定 IMGアクティビティの新規項目を参照してください

SAPFV45PF0EおよびSAPFV45PF0Cプログラムのユーザー出口

  • EXIT_SAPFV45P_001
このユーザー出口を使用して、会社間請求データを会社間コード販売の収益性セグメントで使用するか、データが外部請求(外部顧客、販売会社コードの販売データ)から取得するかを決定できます。
 
 
posted @ 2020-04-02 14:48  Park_SAP  阅读(856)  评论(0编辑  收藏  举报