カスタマ固有の汎用モジュールの登録 

汎用モジュール Exit を使用すると、標準 R/3 プログラム内にユーザ独自の機能または処理ロジックをインプリメントすることができます。汎用モジュール Exit を利用するためには、まず、 拡張管理プロジェクトの登録のセクションに記述したように、プロジェクトを登録する必要があります。つぎに、使用したい汎用モジュール Exit を含んだ SAP 拡張をインクルードしなければなりません。 プロジェクト管理トランザクションのメイン画面から、以下のことを行ってください。

1. 拡張管理コンポーネントを選択して、変更を選択してください。

プロジェクト内にインクルードした拡張に含まれるすべてのユーザ Exit がリストされます。

2. 使用したい汎用モジュール Exit にカーソルをあわせてください。

3. コンポーネントの編集を選択してください。

SAP アプリケーションの開発者が用意した汎用モジュールが表示されます。このモジュールに独自の機能を埋め込むには、そのモジュールに含まれるインクルードプログラム( ZXnnnU01 )を使用してください。汎用モジュールおよびインクルードプログラムは、両方ともユーザ用に予約してある名称範囲内にあります。

4. ダブルクリックして、インクルードプログラムを汎用モジュールに入れてください。

システムは、インクルードプログラムを登録するかどうかを問い合わせます。

5. インクルードプログラムを登録することを確認してください。

6. エディタで、機能のソースコードを入力してください。

7. インクルードプログラムを保存してください。

既定のインタフェースパラメータの利用

汎用モジュール Exit を使用する際には、ユーザ独自の汎用モジュールが、それをコールする標準 R/3 プログラムのプログラムロジックにどのように収まるのかを意識する必要があります。標準プログラム内でユーザの汎用モジュールのコールを定義する場合、 SAP は標準プログラムとの間で転送することのできるデータを正確に指定することができます。ユーザ機能のコールに、エクスポート / インポートパラメータが含まれている場合には、ユーザ汎用モジュール自身も、この既定のインタフェースを持つことになります。

汎用モジュール Exit の汎用モジュールの一般的な枠組みまたはインタフェースを変更することはできません。特別なインクルードプログラムを使用して独自のプログラミングロジックを追加することができるだけです。独自のインクルードプログラム用のソースコードを登録する場合には、汎用モジュール Exit のインタフェースが設定している制限を意識する必要があります。インクルードプログラムとの間で値を転送することができるのは、その値が汎用モジュールの既定のインタフェース内にインクルードされている場合に限られます。

SAP が提供するサンプルコードの利用

SAP は、 SAP が提供する汎用モジュール Exit 用のサンプルコードを用意しています。このサンプルコードをインクルードプログラム内にコピーすることができます。サンプルコードを使用するには、以下のことを行ってください。

1. カスタマ固有の汎用モジュールの登録のステップ 1 - 6 に記述したようにしてユーザのインクルードプログラムを登録し、保存してください。

2. プロジェクト管理トランザクションにもどってください。

3. プロジェクト内の Exit を照会して、インクルードプログラム用に登録した汎用モジュール Exit にカーソルをあわせてください。

4. 編集 R SAP ソースコードの利用を選択してください。

サンプルコードが存在する場合は、そのコードはインクルードプログラムにコピーされます。インクルードプログラム内に、すでにコードを書いてある場合、サンプルコードは、そのコードに追加されます。必要に応じて、自由にサンプルコードを書きかえることができます。

グローバルデータの宣言

SAP は汎用モジュール Exit に既存のグローバルデータを提供することができます。 SAP がサブルーチンに汎用モジュール Exit を与える場合などに、グローバルデータが必要になります。 SAP によって定義されるグローバルデータは、すべて LXnnnTOP と呼ばれるインクルード内に格納されています。ここで、 nnn は汎用グループの文字を表しています。ユーザ独自のグローバルデータを任意の汎用モジュール Exit 内で定義することができます。

グローバルデータ定義を登録する場合には、 ABAP ワークベンチのナビゲーション機能を利用してください。

1. 定義する項目または内部テーブルの名称をエディタ内で入力してください。

2. 項目またはテーブルの名称をダブルクリックしてください。

そのオブジェクトについては、データ定義が存在しないので、システムは、定義するのかどうかをたずねます。

3. 新規データ定義を登録することを確認してください。

ZXnnnTOP という名称の新規インクルードが自動的に登録されます。このインクルードを使用して、ユーザ独自の汎用モジュール Exit 用(1つまたは複数)のデータ定義をすべて格納してください。

サブルーチンの登録

SAP は、あらかじめプログラム化してある特定の汎用モジュール Exit 付のサブルーチンをインクルードすることができます。これらの既存のサブルーチンは、すべて LXnnnF00 というインクルードに格納されています。ここで、 nnn は、汎用グループの文字を表しています。これらのルーチンをユーザインクルードプログラムからコールすることができます。

ユーザ独自のサブルーチンを登録することもできます。新規サブルーチンの登録時には、ワークベンチのナビゲーションを使用し、以下のことを行ってください。

1. エディタをオープンして、キーワード PERFORM とその後にサブルーチンの名称を入力してください。

2. サブルーチンの名称をダブルクリックしてください。

そのサブルーチンはまだ存在していないので、システムは登録するのかどうかをたずねます。

3. 新規サブルーチンを登録することを確認してください。

ZXnnnZZZ という名称のインクルードが自動的に登録されます。ここで、 nnn は、汎用グループの文字を表しています。このインクルードには、ユーザ汎用モジュールで使用されるすべてのサブルーチンが含まれている必要があります。

中心的なインクルードプログラム( ZXnnnU01 )には、コマンド FUNCTION および ENDFUNCTION が含まれています。そのため、このインクルードプログラム内では、 FORM および ENDFORM というキーワードを使用するべきではありません。

ユーザ独自 Dynpro 画面のコール

ユーザ汎用モジュールからユーザ独自の画面をコールすることができます。標準の R/3 トランザクションで利用できないようなプロセスをユーザに実行させるための Dynpro をコールすることがあるかもしれません。ワークベンチのナビゲーションを使用して独自の画面とそれに関連する制御ロジックを登録してください。以下のようにしてください。

1. エディタで CALL SCREEN xxx コマンドを入力してください。 xxx Dynpro 番号です。

2. 画面番号をダブルクリックしてください。

システムが画面を登録するのかどうかを訊ねた後で、スクリーンペインタツールに移動します。

PBO および PAI モジュールを登録するには、以下のようにしてください。

1. 制御ロジックエディタでモジュールの名称を入力してください。

2. 各名称をダブルクリックしてください。

モジュールが登録されます。同時に、 SAP の命名標準にしたがったインクルードプログラムが登録されます。

ワークベンチのナビゲーションを使用して、汎用モジュールにインクルードしたい、イベントなどの別のプログラムオブジェクトを登録してください。