コンテンツエリア開始

ABAP プログラムユニットの実行 Locate the document in its SAP Library structure

ABAP プログラムはNetWeaver アプリケーションサーバ ABAP 上でのみ実行されます。NetWeaver アプリケーションサーバ ABAP には、ABAP プログラムのプラットフォーム依存の実行時環境を提供する、カーネルおよび管理サービスのコンポーネントが組み込まれています (NetWeaver AS ABAP: 概要を参照してください)

ABAP プログラムは、ソースコード内で任意の順序で発生する、独立した処理ブロックで構成されています。処理ブロックは、構造ブロックで構成されるプログラムのセクションです。これらは順次処理されます。処理ブロックは ABAP プログラムの外部から、または同じ ABAP プログラムの処理ブロックから呼び出すことができます (処理ロジックの構造も参照してください)。処理ブロックがプログラムの外部から呼び出される場合は、ABAP 実行時環境または別の ABAP プログラムによって呼び出されます。

This graphic is explained in the accompanying text

ABAP プログラムを開始するには、その処理ブロックの 1 つ以上がプログラム自体の外部から開始される必要があります。各 ABAP プログラムには、プログラムを実行するかどうか、およびプログラムの実行方法を決定するプログラムタイプがあります。

実行可能なプログラム

これらのプログラムは、ユーザがプログラム名またはトランザクションコードを入力することによって実行することができます。これらは実際のアプリケーションプログラムであり、後で詳細に説明します。

実行可能プログラム

実行可能プログラムは、プログラム名を入力することによって実行することができます。実行可能プログラムを開始する場合は、事前定義した順序で一連の処理ブロック (イベントブロック) を呼び出すプロセッサが実行時環境で開始されます。この順序は、レポートタスクに沿って進行します。このため、実行可能プログラムはレポートとも呼ばれます。追加情報については、直接実行を参照してください。

実行可能プログラムの特徴としては、論理データベースとリンクできるという点があります。論理データベースには、非可視のシステムプログラムによって、実行可能プログラムに対して規定した順序で呼び出されるサブルーチンが含まれています。サブルーチンにより、特定のレポート機能が再利用可能になります。追加情報については、論理データベースを参照してください。

モジュールプール

モジュールプールは、トランザクションコードを使用してのみ開始することができます。トランザクションコードにより、画面自体とその制御ロジックで構成されるDynpro が開始されます。Dynpro 制御ロジックでは、対応する ABAP プログラムで特別な処理ブロック (ダイアログモジュール) を呼び出すことができます。これはダイアログモジュールにちなみ、モジュールプールと呼ばれます。モジュールプールの実行に関する追加情報については、トランザクションを参照してください。

 

Note

リリース 6.10 以降は、グローバルクラスおよびローカルクラスのパブリックメソッドをトランザクションコードに添付し、そのフレームワークプログラムをトランザクションコードによって "実行可能" にすることができます。

 

直接実行が不可能なプログラム

このようなプログラムは、ユーザが直接開始することはできません。代わりに、これらのプログラムには、すでに実行中のアプリケーションプログラムでのみ使用可能な処理ブロックまたはその他のソースコードが含まれています。これらについては、後のセクションで詳細に説明します。

汎用グループ

これは汎用モジュールのコンテナとして機能します。ABAP プログラムから汎用モジュールを呼び出すと、メインプログラム全体が現在のプログラムの内部セッションにロードされます。汎用モジュールはプロシージャの一種です。これについては、プロシージャのセクションで詳細に説明します。

クラスプール

クラスプールはグローバルクラスのコンテナとして機能します。クラス ABAP オブジェクトに属しています。これについては該当するセクションで詳細に説明します。

インタフェースプール

インタフェースプールはグローバルインタフェースのコンテナとして機能します。インタフェース ABAP オブジェクトに属しています。これについては該当するセクションで詳細に説明します。

サブルーチンプール

サブルーチンプールは、外部からのみ呼び出されるサブルーチンのコンテナプログラムです。ABAP プログラムからサブルーチンを呼び出すと、メインプログラム全体が現在のプログラムの内部セッションにロードされます。サブルーチンはプロシージャの一種です。これについては、プロシージャのセクションで詳細に説明します。

インクルードプログラム

インクルードプログラムには、呼出可能な処理ブロックは含まれません。これは ABAP ソースコードのモジュール化のみに使用され、他のプログラムにインクルードされます。インクルードプログラムについては、ソースコードモジュールセクションで詳細に説明します。

Note

リリース 6.10 以降は、クラスプールおよびサブルーチンプールはトランザクションコードから開始することができます。トランザクションコードは、そのプログラムのローカルクラスまたはグローバルクラスのパブリックメソッドに添付することができます。

ABAP でのプログラムの開始

直接開始できるすべてのプログラムには、すでに実行中の別のアプリケーションプログラムからのプログラム呼出に使用できるABAP 命令があります。追加情報については、呼出元プログラムを参照してください。

 

 

 

コンテンツエリア終了