顧客要件を充足するために、標準プログラムにデフォルトで用意されている[[サブルーチン>アドオン/サブルーチン]]へのコーディング或いはその機構を指す。
----
#contents
----
* 概要 [#u6bc4c5f]
標準プログラムに「USEREXIT」で始まる[[サブルーチン>アドオン/サブルーチン]]が予め用意されており、そこにコーディングする。
主にロジスティクス側で利用することができるが、基本的には[[SD>販売管理]]で利用するものと考えて良い。
主にロジスティクス側で利用することができるが、基本的には[[SD>販売管理]]のものと考えて良い。
** 使い方 [#dcdce106]
思い思いにコーディングすればよし・・・とも言えない。
というのも、[[内部テーブル>ABAP/内部テーブル]]をはじめプログラム内の[[グローバル変数>アドオン/グローバル変数]]に全てアクセス可能かつ更新可能のため、自由度が非常に高い半面、データの不整合を意図せず発生させてしまうリスクが格段に高いのだ。
** 探し方 [#rb43d282]
どこにどんなコーディングをすればいい?という時は、主に二つの探し方がある。
-[[IMG>SAPの共通用語/IMG]]で
困ったら、SPROのヘルプを見る。結構書いてある。
-実行時間分析
[[トランザクションコード>SAPのオブジェクト/トランザクションコード]]SE30で割り出すことができる。
例えばVA01から伝票登録した後で結果を分析し、[[PERFORM>ABAP/PERFORM]]と文字列EXITでフィルタをかければ、''そのタイミングで利用可能な''EXITを割り出すことができる。
これは[[BADI>SAPの拡張手段/BAdI]]にも共通して利用可能で、その場合は[[CALL METHOD>ABAP/CALL METHOD]]と文字列BADI、「標準と同じ動きをしたい」という場合には[[CALL FUNCTION>ABAP/CALL FUNCTION]]で同様の処理をすべく[[汎用モジュール>SAPのオブジェクト/汎用モジュール]]を探したりと、困ったときに。
* 実際のユーザExit [#yb0065a7]
** 受注 [#r484e405]
*** MV45AFZA [#ucc586f1]
*** MV45AFZB [#g5ff3601]
*** MV45AFZZ [#j029e4e5]
** 請求 [#g5d0d903]
*** RV60AFZZ [#lae7a067]
-USEREXIT_NUMBER_RANGE
[[請求伝票タイプ>販売管理/請求伝票タイプ]]で指定した[[番号範囲>SAPの共通用語/番号範囲]]が利用されるが、ここで任意のものを代入できる。
当然ながら、登録時のみ呼び出される。
-USEREXIT_ACCOUNT_PREP_KOMKCV
[[勘定設定>販売管理/勘定設定]]をユーザ任意の切り口で実施したい場合、ヘッダ[[通信構造>条件テクニック/通信構造]]のKOMKCVに対し、ここで代入する。
-USEREXIT_ACCOUNT_PREP_KOMPCV
[[勘定設定>販売管理/勘定設定]]をユーザ任意の切り口で実施したい場合、明細[[通信構造>条件テクニック/通信構造]]のKOMPCVに対し、ここで代入する。
** RV60AFZC [#cb547cc0]
-USEREXIT_NUMBER_RANGE_INV_DATE
番号範囲によっては、テーブル TVFKD を使用して日付を定義します (イタリアでは国依存必要条件)。
USEREXIT_NUMBER_RANGE は、このユーザ Exit 適用時は自動的に無効化されます。
-USEREXIT_FILL_VBRK_VBRP
このユーザ Exit は、請求伝票登録時にのみ呼び出されます。新規請求伝票のヘッダおよび明細に偏差データおよび追加データを 登録する際にこのユーザ Exit を使用します。
*** RV61AFZB [#v87f4670]
-USEREXIT_PRINT_ITEM
請求伝票の明細行の印刷には、補足もしくは変更を加えることが可能です。
-USEREXIT_PRINT_HEAD
請求伝票のヘッダ行の印刷には、補足もしくは変更を加えることが可能です。
*** RV60AFZD [#w5aeeecb]
-USEREXIT_RELI_XVBPAK_AVBPAK
-USEREXIT_NEWROLE_XVBPAK_AVBPAK
-USEREXIT_NEWROLE_XVBPAP_AVBPAK
~
~
CENTER:【スポンサードリンク】
#htmlinsert(amazon_book_sap_system_implement)
~
~
----
#pcomment(reply)