Apr 13, 2009

ABAPプログラム概要

本章では、可能な ABAP プログラム、画面、処理ブロックに関する概要を説明します。

ABAP プログラムは処理ブロックから構成されており、コンポーネントとして画面を含むことができます。処理ブロックおよび画面とも ABAP 実行時環境により制御されます。

ABAP には以下のプログラムタイプがあります。
・ 実行可能プログラム
タイプ 1 。REPORT 命令で宣言、プログラム名の入力またはトランザクションコードの使用で開始、SUBMIT を使用した呼出可能、独自の画面を作成可能。
・ モジュールプール
タイプ M 。PROGRAM 命令で宣言、トランザクションコードの使用で開始、CALL TRANSACTION または LEAVE TO TRANSACTION を使用した呼出可能、独自の画面作成可能。
・ 汎用グループ
タイプ F 。FUNCTION-POOL 命令で宣言、非実行可能、汎用モジュールのコンテナ、独自の画面作成可能。
・ クラス定義
タイプ K 。CLASS-POOL 命令で宣言、非実行可能、クラスのコンテナ、( 現時点で) 独自の画面作成不可能。
・ インタフェース定義
タイプ J 。CLASS-POOL 命令で宣言、非実行可能、インタフェースのコンテナ、独自の画面を作成不可能。
・ サブルーチンプール
タイプ J 。PROGRAM 命令で宣言、非実行可能、サブルーチンのコンテナ、独自の画面を作成不可能。
・ データ型グループ
タイプ T 。TYPE-POOL 命令で宣言、非実行可能、型定義のコンテナ、独自の画面を作成不可能。
・ インクルードプログラム
タイプ I 。宣言命令なし、非実行可能、ソースコードモジュールのコンテナ。
タイプ F 、K 、J 、S 、および T の非実行可能プログラムが必要に応じてメモリにロードされます。インクルードプログラムは別々にコンパイルされる単位ではありません。該当するインクルード命令が起こるプログラムにソースコードが挿入されます。
画面
タイプ1 、M 、または F の ABAP プログラムは、以下の画面タイプを含んで処理することができます。
・ Dynpro
スクリーンペインタを使って定義され、画面順序に結合することができる。CALL SCREEN またはトランザクションコードを使用して呼び出され、該当する ABAP プログラムの対話式モジュールで処理されます。
・ 選択画面
ABAP プログラム内で定義される。実行時環境または CALL SELECTION-SCREEN 命令を使用して呼び出され、該当する ABAP プログラムのイベントブロックで処理されます。
・ 一覧
ABAP プログラム内で定義される。実行時環境により呼び出され、該当する ABAP プログラムのイベントブロックで処理されます。
クラス定義 (タイプ K プログラム) はまだ画面をサポートしません。サブルーチンプール ( タイプ S プログラム) は独自の画面を含めることはできません。
処理ブロック
すべての ABAP プログラムは、処理ブロックから構成されています。処理ブロックはネストできません。プログラムが実行されると、処理ブロックが呼び出されます。ABAP プログラムのすべての命令は、グローバルデータ宣言のほかに、処理ブロックに属しています。
ABAP には以下の処理ブロックが含まれています。
ダイアログモジュール
これは、タイプ 1 、M 、および F のプログラムのMODULE...ENDMODULE 命令で定義され、ローカルデータ領域およびパラメータインタフェースを持ちません。画面フローロジックで MODULE 命令を使って呼び出され、画面を処理します。
イベントブロック
これは、イベントキーワードの 1 つで定義され、ローカルデータ領域およびパラメータインタフェースを持ちません。ABAP 実行時環境のイベントに反応します( 例外: AT SELECTION-SCREEN および GET は、サブルーチンを使用して内部に導入され、ローカルデータを持ちます) 。
以下のものは区別して扱います。
・ レポートイベント
INITIALIZATION
START-OF-SELECTION
GET
END-OF-SELECTION
タイプ 1 のプログラムの実行中に ABAP 実行時環境により呼び出されます。レポートプログラムのアプリケーションロジックがこれに含まれます。
・ 選択画面イベント
AT SELECTION-SCREEN OUTPUT
AT SELECTION-SCREEN ON VALUE REQUEST
AT SELECTION-SCREEN ON HELP REQUEST
AT SELECTION-SCREEN ON
AT SELECTION-SCREEN ON BLOCK
AT SELECTION-SCREEN ON RADIOBUTTON GROUP
AT SELECTION SCREEN
AT SELECTION SCREEN ON END OF
タイプ 1 、M 、または F プログラムの選択画面で、ユーザアクションの次に ABAP 実行時環境により呼び出され、選択画面を処理します。
・ 一覧イベント
TOP-OF-PAGE
END-OF-PAGE
AT LINE-SELECTION
AT PF
AT USER-COMMAND
一覧の登録中、またはタイプ 1 、M 、または F プログラムの一覧で、ユーザアクションの次に ABAP 実行時環境により呼び出されます。
プロシージャ
ABAP には、次のプロシージャが含まれます。プログラムはローカルデータ領域およびパラメータインタフェースを持ちます。
・ サブルーチン
タイプ K を除いてどのプログラムにおいても FORM...ENDFORM によって定義され、どの ABAP プログラムにおいても PERFORM 命令を使用して呼び出されます。
・ 汎用モジュール
タイプ F のプログラムの FUNCTION...ENDFUNCTION によって定義され、どの ABAP プログラムからも CALL FUNCTION を使用して呼び出されます。
・ メソッド
タイプ K の プログラムのグローバルクラス、またはどのABAP プログラムのローカルクラスにおいてもMETHOD...ENDMETHOD によって定義されます。また、グローバルクラスのどの ABAP プログラムからも、ローカルクラスが定義されるプログラムからも、CALL METHOD を使用して呼び出されます。

No comments: