Enhancement
1代目拡張
拡張スポットを探すメソッド1
1 VA02:伝票番号を入力し―システム:ステータス-PGM:SAPMV45A

2 一般的に、この形、INCLUDE:??????Z?―>ENHANCEMENT
キーワード検索:USEREXIT*;
今回の例:USEREXIT_SAVE_DOCUMENT



拡張を改修できるところ:

拡張スポットを探すメソッド2
1 SPRO

2SE38:MV45AFZZ―KEYWORD:SAVEで探す。

2代目拡張
二代目拡張:SMOD&COMDにより管理。FUNCTIONに基づく拡張で、トランザクションコードを実行すると、TRIGGERされたFUNCTION。
(SAP事前予定されたINCLUDE:XXXXX)。
これらのFUNCTION:CALL FUNCTION-CUSTOMER。
二代目は、全部INCLUDEという形??
基本的な流れ:
拡張したい画面で → SYS-STATUS:PGMをクリックし
→ 検索(ボタン) → INPUT 「CALL CUSTOMER-FUNCTION*」
→ ‘CALL CUSTOMER-FUNCTION’ 末の 3桁数のNumber をコピーし
→ SE37 「EXIT_‘DYN NAME’ _ 3桁数のNumber」。
メゾット1:
1 VA01 → SYS-STATUS-PGM ID-FIND:「CALL CUSTOMER-FUNCTION*」

2SE37:SAP予定のINCLUDE拡張

メゾット2:
1ME22N → SYS:STATUS-PGMID

2GOTO:属性 Package:ME
→ SMOD:検索ヘルプに情報システム:「パッケージ:ME」
→ 「購買」をキーワードをして、検索。


3該当拡張IDを照会、コンポーネントをクリック。

CALL CUSTOMERーFUNCTION:
名称の特徴: EXITーPGMIDー3位桁数


特定業務により、ロジックを書く。

4SMODで活性化
他:INCLUDEでBREAK-POINTを設定し、チェックできる。
他の方法:
1. DYNP_VALUES_READ
2. MODX_ALL_ACTIVE_MENUENTRIES(メニュー拡張)
3. MODX_FUNCTION_ACTIVE_CHECK(イグジット拡張)
4. MODX_MENUENTRY_ACTIVE_CHECK(メニュー拡張)
5. MODX_SUBSCREEN_ACTIVE_CHECK(スクリーン拡張)
BREAK-POINTを設定し、チェックできる。
3代目拡張
SAP社が提供されたBAdIにより、関連するメソッドを、インスタントする。
BAdI(BUSINESS ADD-IN):OO技術に基づく拡張ということ。
SE18で管理、SE19で実装。
基本的な流れ:
BAdIの実現、すべてのトランザクションコードは唯一のCLASS:「CL_EXITHANDLER」を利用し、SE24でメソッドにBREAKPOINTを設定;
その後、拡張に関連するトランザクションコードを実行する。そのBAdIを見つけることが可能です。

例えば:
1一つずつのBAdI名称をメモし、一つずつその内容を確認する。

2SE19にて、BAdIの実装登録 → 有効化


3新規作成



この時、BAdIが有効化されました。

IFにて、各メソッドの調査が可能です。
クリックして、ロジックを書ける。

実戦1
トランザクションコード:VA01にて、新しいタブを作成し、データ入力が可能。
1Breakpointを設定、GET BAdI.

1「ME21N」購買発注
まず、伝票作成:4500001818
次に、「MIGO」にて、入庫処理
MB_MIGO_BADI
MB_MIGO_ITEM_BADI
/SAPMP/SPLIT_POPUP
WORKORDER_EXEC_STEPS
BADI_LAYER
BADI_SD_SALES
BADI_SD_SALES_ITEM
GOS_SRV_SELECT
BADI_MATN1
2伝票4500001818を入力すると
WB2_ADDITIONAL_DATA
WB2_ADD_DATA_INT
GOS_SRV_SELECT
/SAPSLL/CTRL_MM0A_R3
WVKU_DETERMINE_SP
BADI_SERIAL_IN_STO
3保存する
入出庫伝票 5000001447 が転記されました
その他:MIGOーA03で、取り消しが可能。
新規依頼:ME23N画面の「明細」にて、タブを新規作成し、データ入力と保存が可能。
分析:
BAdIスポットの可能なところ:
增强点也就两个位置,位置1:トランザクションコードの入力後; 2または伝票の入力後、タブを表示する時に;
MIGO –
1 执行MIGO代码
MB_MIGO_BADI BAdI: 外部詳細従属画面 (MIGO)
MB_MIGO_ITEM_BADI 明細データ変更用 MIGO の BAdI
/SAPMP/SPLIT_POPUP SAPMP: GR 時の MIGO の数量分配画面
WORKORDER_EXEC_STEPS ビジネスアドイン: 実行ステップの指図への接続
BADI_LAYER BADI 用レイヤ値管理
COST_ESTIMATE PCP: 現在使用不可能
BADI_SD_SALES 受注処理の一般拡張
BADI_SD_SALES_ITEM 受注処理の拡張 (明細)
GOS_SRV_SELECT GOS: ジェネリックサービスの制限選択
BADI_MATN1
操作2:输入采购订单,显示分页签
WB2_ADDITIONAL_DATA
WB2_ADD_DATA_INT
GOS_SRV_SELECT
/SAPSLL/CTRL_MM0A_R3
WVKU_DETERMINE_SP
最有可能实现:
MB_MIGO_BADI BAdI: 外部詳細従属画面 (MIGO)
MB_MIGO_ITEM_BADI 明細データ変更用 MIGO の BAdI
增强有三代,也可说4代:ENHANCEMENT SPOT(基于BAdI)
发现是移植到增强点的BAdI,且存在SAMPLE BAdI
BAdI 実装
SE18


又は、SE19


有効化

SE18で

クラスの有効化


MIGOにて確認

INIT:自动生成的代码,为什么生成以及代码用途。也是EXAMPLE的好处。
注册BAdI,你注册001,我注册002,才没有冲突。一个增强一个注册:Regristration
方法中APPEND参数TOCT_INIT:注册对应表
s
まとめ
1

浙公网安备 33010602011771号