コンテンツフレーム起動

Dynpro 文書を SAP ライブラリストラクチャに組み込む

R/3 システムで表示される各 Dynpro は、アプリケーションプログラムに関連しています。Dynpro は、データを送受信したり、入力マスクによるユーザのインタラクションに応じて動作します。画面入出力を編成する方法は 3 通りあります。これらの方法は、プログラミングの方法と、ユーザのインタラクション方法に関して異なります。

Dynpro

もっとも一般的なケースでは、ABAP ワークベンチでスクリーンペインタを使用して、Dynpro 全体とその制御ロジックを作成します。

選択画面および一覧

R/3 システムには、選択画面と一覧を頻繁に使用する特別なタイプの Dynpro 2 つ用意されています。これらの Dynpro と制御ロジックは、処理ロジックで ABAP 命令によって生成されます。この場合は、スクリーンペインタを使う必要はありません。代わりに、 処理ロジック Dynpro 全体を定義します。

R/3 システムの Dynpro には、メニューバー、標準ツールバー、アプリケーションツールバーも組み込まれています。この 3 つのオブジェクトは、Dynpro ステータスを構成します。各ステータスは、それに対応するアプリケーションプログラムのオブジェクトです。ステータスは、Dynpro のスタンドアロン部分です。ステータスは 1 つの Dynpro に明示的に関連していないため、いくつの Dynpro でも再使用することができます。ステータスを定義するには、ABAP ワークベンチでメニューペインタを使用します。Dynpro と一覧に対して独自のステータスを定義することができます。選択画面には、一定のステータスが割り当てられています。

以下の各セクションで、異なるタイプの Dynpro について詳しく説明します。

Dynpro

Dynpro には入力マスクが設定されており、これを使用してデータの入出力を行うことができます。この入力マスクはユーザ自身が定義することができます。画面マスクが SAPgui によって表示されると、2 つのイベントが開始します。画面が表示される前には、出力前プロセス (PBO) イベントが処理されます。ユーザが画面と対話するときに、入力後プロセス (PAI) イベントが処理されます。

Dynpro 1 つの PBO 処理ブロックと 1 つの PAI 処理ブロックにリンクしています。Dynpro PAI とその後続 Dynpro PBO を統合したものが、アプリケーションプログラムのダイアログステップです。 

画面言語は ABAP の特別なサブセットであり、少数のキーワードのみが含まれています。命令は他の ABAP 命令と構文上類似していますが、ABAP プログラムでDynpro 命令を使用したり、Dynpro 制御ロジックに ABAP 命令を使用することはできません。もっとも重要な Dynpro キーワードは MODULEFIELDCHAIN 、および LOOP です。これらのキーワードは、処理ロジックを制御ロジックにリンクするためだけに使われます。つまり、処理ロジック内でモジュールを呼び出したり、Dynpro ABAP プログラム間のデータ転送を、たとえば項目のチェックによって制御したりすることです。

Dynpro の入力/ 出力マスクには、入出力項目、押ボタン、ラジオボタンなど、通常のグラフィカルユーザインタフェースのすべてのエレメントが含まれています。次の図に、標準的な Dynpro マスクを示します。

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

Dynpro のすべての有効エレメントには項目名がついており、共有メモリ内で Dynpro 項目にリンクしています。Dynpro 項目は ABAP ディクショナリにリンクすることができます。こうすることで、整合性チェックだけでなく、自動項目および値ヘルプが使用できるようになります。

ユーザアクションによってエレメントが変更されると、それに応じて Dynpro 項目の値も変更されます。値は、PAI イベントで Dynpro と処理ロジック間で転送されます。その際に、Dynpro 項目の内容が同じ名前のプログラム項目に転送されます。

Dynpro は関連の ABAP プログラム内でモジュールを呼び出します。このモジュールでは、Dynpro (PBO) が準備され、ユーザによる入力 (PAI) が処理されます。Dynpro エレメントの属性変更のための ABAP 命令がありますが ( 属性の表示/ 非表示など)Dynpro エレメントを定義するための ABAP 命令は用意されていません。

ダイアログ画面によって、ユーザとアプリケーションプログラムがたがいに通信することができます。ダイアログ画面はトランザクションなどのダイアログ指向プログラムで使用されます。この場合のプログラムは主に、一連の Dynpro の処理で構成されています。基本的に、選択画面や一覧を使う場合よりも高い柔軟性を必要とする際に、Dynpro を使用します。

選択画面

選択画面は、ABAP プログラムで値の入力に使われる特別のDynpro です。選択画面を作成する場合は、スクリーンペインタではなく、プログラムの処理ロジックで ABAP 命令を使用します。選択画面は、これらの命令に従って生成されます。Dynpro 制御ロジックはシステムによって提供され、アプリケーションプログラマには表示されません。

ABAP プログラムの宣言部分で、特殊な宣言命令 PARAMETERSSELECT-OPTIONS 、およびSELECTION-SCREEN を使用して選択画面を定義します。これらの命令によって、各選択画面の入力項目の宣言と書式化が行われます。次に、標準的な選択画面を示します。

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

選択画面でもっとも重要なエレメントは、個別値および選択テーブル用の入力項目です。選択テーブルを使用すると、より複雑な選択基準を入力することができます。選択テーブルはシステムで自動的に処理されるため、ABAP では簡単に選択テーブルを使用することができます。他の Dynpro と同様に、ABAP ディクショナリ項目を参照する入力項目に対して項目ヘルプと使用可能な値ヘルプが用意されています。ユーザは、選択画面に対して事前定義された入力値セットを使用することができます。この事前定義された入力値セットをバリアントといいます。

CALL SELECTION-SCREEN 命令を使用して、ABAP プログラムから選択画面を呼び出します。プログラムがタイプ 1 の実行可能プログラム ( レポート) の場合、ABAP 実行時環境では、プログラムの宣言部分で定義された選択画面が自動的に呼び出されます。選択画面はイベントを開始します。したがって、ABAP プログラムのイベントブロックを呼び出すことができます。

選択画面には主に入力項目が表示されるため、選択画面のダイアログは、スクリーンペインタを使って定義したDynpro よりも入力中心に設定されています。ダイアログ画面には入力項目と出力項目を含めることができます。ただし、プログラムが処理を続行する前にユーザからのデータを必要とする場合には、選択画面が適しています。たとえば、データベースにアクセスする前に選択画面を使用して、データ読込量を制限することができます。 

一覧

一覧は出力中心の Dynpro であり、書式化された構造化データを表示します。一覧の定義、書式化、書込には ABAP コマンドが使用されます。システムは、特殊な一覧 Dynpro ABAP により定義された一覧を表示します。選択画面の場合と同様に、制御ロジックはシステムによって提供され、アプリケーションプログラマには表示されません。

一覧のもっとも重要なタスクは、データの表示です。ただし、ユーザは一覧を使って対話することができます。一覧はマウスクリックに応じて動作し、入力項目を含めることも可能です。他のタイプの Dynpro との類似点もありますが、一覧はまったく異なる手法で表示されます。一覧上の入力項目を通常の Dynpro の入力項目と比較することはできません。一覧と ABAP プログラム間でのデータ転送方法が、そのつどまったく異なるためです。一覧上の入力項目が ABAP ディクショナリにリンクしている場合は、通常の自動項目および使用可能な値ヘルプを使用することができます。次に、標準的な一覧を示します。

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

ABAP プログラムの処理ブロックで、特殊な命令セット ( 一覧命令 WRITESKIPULINENEW-PAGE など) を使用して一覧を定義します。これらの命令が実行されると、一覧がシステム内に構成されます。一覧プロセッサと呼ばれる内部システムプログラムが、一覧の表示と一覧内でのユーザアクションの解釈を行います。印刷のために R/3 スプールシステムに送信できるデータは、一覧形式で作成されていなければならないため、一覧は重要です。

ABAP プログラムで、LEAVE TO LIST-PROCESSING 命令を使用して、次の Dynpro を一覧として定義します。プログラムがタイプ 1 の実行可能プログラム ( レポート) の場合、ABAP 実行時環境では、プログラムで定義された一覧が自動的に呼び出されます。1 つのプログラムは、最大 21 の一覧を処理することができます。基本一覧から、最大 20 の詳細一覧を作成することができます。一覧上のユーザアクションによってイベントが開始されます。したがって、ABAP プログラムのイベントブロックを呼び出すことができます。

一覧は出力中心です。ユーザが一覧 Dynpro でアクションを実行する際に、通常はプログラムの次の部分の一覧内容の一部が使用され、値が直接入力されることはありません。出力データを使って作業する場合や、データを印刷したり、ユーザの次のアクションが出力データに依存する場合には、一覧を使用するのが適切です。

 

 

 

 

コンテンツフレーム終了