コンテンツフレーム起動

コンセプトの文書化 汎用モジュールコードの理解 文書を SAP ライブラリストラクチャに組み込む

システムにより、汎用グループとその汎用モジュールに対するオブジェクトの構成が事前に定義されています。汎用グループを登録すると、ワークベンチによりメインプログラム、グローバルデータ、およびソースコードが自動的に生成されます。書式 SAPL<fgrp> を使って、 メインプログラムの名前が自動的に設定されます。 <fgrp> 変数は、汎用グループの名前です。

汎用グループ内の連続する汎用モジュールごとに、ワークベンチはインクルードファイルを自動的に登録します。汎用モジュールビルダの第一画面でソースコードを選択することで、このインクルードファイルを表示することができます。書式 L<functgrp> U<nn> を使って、このインクルードファイルの名前が自動的に設定されます。たとえば、汎用グループ FGRP の最初の汎用モジュールは、インクルードファイル LFGRPU01 になります。後続の汎用モジュールは、 LFGRPU02 LFGRPU03 LFGRPU04 というようなインクルードファイルになります。

メインプログラム

汎用モジュールビルダにより、メインプログラムのインクルードが生成されます。書式 L<functgrp> UXX を使って、 メインプログラムの名前が自動的に設定されます。汎用グループ FGRP の場合、メインプログラムのインクルードは LFGRPUXX となります。

汎用モジュールの書込

汎用モジュールのインタフェースを定義したら、汎用モジュールコードの書込を開始することができます。

汎用モジュールビルダの第一画面で、ソースコードを選びます。 ABAP エディタが表示されます。ここから、 FUNCTION 命令から EDNFUNCTION 命令までの間に汎用モジュールのコードを書き込むことができます。
汎用モジュールのパラメータと例外は、コメント行としてエディタに表示されます。

このグラフィックは添付のテキストに説明されています

 

汎用モジュールを作成するときに考慮すべき新しい点

汎用モジュールでのデータ処理

汎用モジュールからのサブルーチンの呼出

さまざまなサブルーチンを汎用モジュールから呼び出すことができます。

例外の開始

汎用モジュール内で、インタフェースで定義した名前を使って、すべての例外にアドレス指定を行うことができます。例外は、システムまたは呼出元プログラムのいずれかから処理することができます。これは、自分で処理する例外に数値を割り当てることで、汎用モジュールを呼び出すときに決定します。追加情報については、 プログラムからの汎用モジュールの呼出しを参照してください。

 

例外は明示的に開始されなければなりません。
例外の開始に使用できる汎用モジュール内でのみ使用できる ABAP 命令は、次の2つです。

構文

RAISE < 例外 >.

MESSAGE ..... RAISING < 例外 >.

これらの命令の効果は、例外を呼出元プログラムで処理するか、システムに処理させるかによって異なります。

呼出元プログラムで例外を処理することができない場合は、システムが実行時エラーを開始します。

SY-MSGID (メッセージ ID

SY-MSGTY (メッセージタイプ)

SY-MSGNO (メッセージ番号)

SY-MSGV1 から SY-MSGV4 (メッセージに組み込まれる項目 <f1> から <f4> までの内容)

追加情報については、 MESSAGE 命令のキーワード文書を参照してください。
以下に、例外要求の例を示します。

例

以下の汎用モジュールがあるとします。

このグラフィックは添付のテキストに説明されています

N1 がゼロでない場合、 Z1 N1 で除算されます。 N1 が0の場合は、例外 DIV_ZERO が開始されます。

例:プログラム MDTEST が、以下のように汎用モジュール MY_DIVIDE を呼び出します。

このグラフィックは添付のテキストに説明されています このプログラムを実行すると、出力は以下のようになります。

Result = 1,500000

EXPORTING 一覧で N1 = 4 N1 = 0 に置換すると、プログラム MDTEST は値1を SY-SUBRC に割り当てて例外 DIV_ZERO を処理します。この出力は、ゼロ除算になります。

 

 

 

 

コンテンツフレーム終了