コンテンツフレーム起動

インクルードプログラム 文書を SAP ライブラリストラクチャに組み込む

インクルードプログラムは、グローバル R/3 リポジトリオブジェクトです。インクルードプログラムはソースコードのモジュール化でのみ使用され、パラメータインタフェースは備えていません。

インクルードプログラムの機能を以下に示します。

        ライブラリ: インクルードプログラムでは、同じソースコードをさまざまなプログラムで使用することができます。たとえば、冗長なデータ宣言を異なるプログラムで使用するときに役立ちます。

        配列 インクルードプログラムでは、複雑なプログラムを整然と管理することができます。汎用グループとモジュールプールでは、インクルードプログラムを使用してプログラムの共通部分を格納することができます。ABAP ワークベンチは、インクルードプログラムを自動的に作成し、そのプログラムを一意に命名することにより、複雑なプログラムの作成を広範囲にわたってサポートします。特別なインクルードが、プログラムの TOP インクルードです。命名規則に従ってこのインクルードに命名すると、このインクルードは常にプログラムナビゲーションと構文チェックに含まれます。 

独自のインクルードプログラムの作成

インクルードプログラムを自分で作成する場合は、プログラム属性として型 I をそのインクルードプログラムに割り当てる必要があります。ABAP プログラムの INCLUDE 命令の後でインクルードプログラム名をダブルクリックし、インクルードプログラムを作成または変更することもできます。インクルードプログラムが存在する場合は、ABAP ワークベンチでそのインクルードプログラムへのナビゲートが行われます。存在しない場合は新規に作成されます。

インクルードプログラムは単独で実行できないため、他のプログラムに組み込む必要があります。インクルードプログラムには、他のインクルードを組み込むことができます。

インクルードプログラムのソースコード作成における制約は、以下に示すものだけです。

        インクルードプログラム自身をインクルードプログラムから呼び出すことはできない。

        インクルードプログラムには完全な命令を組み込む必要がある。

インクルードプログラムの命令が呼出元のプログラムのソースコードと論理的に一致しているのを確認する必要があります。その際、インクルードプログラムの編集中に ABAP エディタでチェックを選択するだけでは不十分です。

例

***INCLUDE INCL_TST.

TEXT = 'Hello!'.

ここでは、項目 TEXT が宣言されていないために構文チェックでエラーがレポートされます。ただし、正しいデータ型をもつ項目 TEXT が宣言されているプログラムに INCL_TST を組み込むことができます。

構文チェックで有効な結果を招くには、インクルードを伴うプログラムをチェックする必要があります。この例外が TOP インクルードです。別のインクルードの構文をチェックすると、TOP インクルードの内容が常に組み込まれます。

インクルードプログラムの使用

別のプログラムでインクルードプログラムを使用するには、命令 INCLUDE <incl> を入力します。

INCLUDE 命令は、インクルードプログラム <incl> のソースコードを呼出元のプログラムにコピーするのと同様の機能を備えています。構文チェックでは、インクルードプログラムの内容も分析されます。インクルードプログラムはランタイム時にロードされずに、プログラム生成時に展開されます。インクルードプログラムの生成後、そのロードバージョンには全インクルードの静的バージョンが含まれます。その後、インクルードプログラムを変更すると、そのインクルードプログラムを使用しているプログラムは自動的に再生成されます。

INCLUDE 命令と同じ行に他の命令を配置することはできません。また、INCLUDE 命令を複数行にまたがって配置することはできません。

 例

以下のプログラムがあるとします。

***INCLUDE STARTTXT.

WRITE: / 'Program started by', SY-UNAME,
       / 'on host', SY-HOST,
         'date:', SY-DATUM, 'time:', SY-UZEIT.

ULINE.

その他の ABAP プログラムにこのプログラムを組み込んで、標準の一覧ヘッダを表示することができます。

PROGRAM SAPMZTST.
INCLUDE STARTTXT.

............

これにより、出力は以下のようになります。

Program started by KELLERH

on host ds0025   date: 03/19/1998 time: 09:00:39
___________________________________________________________

................

 

 

 

 

 

コンテンツフレーム終了