コマンドハンドラータブと多数の5250 Destination画面
多数の5250 Destination画面を1つのコマンドハンドラータブに関連付けることができます。この機能にはさまざまな用途があり、いくつかのアプリケーション設計に関する一般的な問題を解決できる場合があります。
例えば、5つの異なる5250 Destinationフォームがあり、各フォームがリポート作成基準を要求し、リポートをバッチに送信するとします。 この5つの5250画面をuReport1、uReport2、…uReport5と呼ぶことにします。
このアプリケーションのプロトタイプを作成するとき、複数の方法でこの5つの異なるリポートを処理できます。
ビジネスオブジェクトの数が多すぎる
各リポートを"Report 1"から"Report 5"までの固有のビジネスオブジェクトとして定義します。この場合、アプリケーションのナビゲーション・ツリーは次のような構造になります。
ユーザーがいずれかのリポートをクリックすると、フォームの右側全体にリポートの関連5250フォームが表示されます。
コマンドタブの数が多すぎる
Report 1からReport 5までの5つの関連するコマンドまたはアクションを持つ"Reports"という名前の1つのビジネス・オブジェクトを定義します。この場合、アプリケーションのナビゲーションとコマンド・ハンドラー・タブは次のような構造になります。
ユーザーがリポートタブをクリックすると、関連する5250フォームがタブに表示されます。いずれかのタブがデフォルトになります。
これらの方法にはいくつかの問題があります。
· 1番目の方法は、使用するビジネスオブジェクトの数が多すぎます。
· 2番目の方法は、使用するコマンド(またはアクション)の数が多すぎます。
50個または500個の異なるタイプのリポートがある場合、どうなるでしょうか。
対策:ダイナミックコマンドタブ
Reportsという名前の1つのビジネスオブジェクトを作成し、それにSubmit Report Requestという1つのダイナミックコマンドハンドラータブを設定することで解決できます。
例えば、2つのタブを表示するように設定されたReportsビジネスオブジェクトがあるとします。1番目のタブは"Submit Report Request"で、2番目のタブは、複数の異なる方法でリポートバッチジョブの出力を表示できる"View Spool Files"です。
この例では、実際に表示される5250 Destination画面を実行時に動的に変更する必要があるので、"Submit Report Request"コマンドハンドラータブだけに注目します。
この1つのタブに表示される5250画面を変更するには、主に次の2つの方法を使用します。
· ユーザー制御コマンドタブと多数のDestination画面
· プログラム制御コマンドタブと多数のDestination画面
制限事項
· Framework SWITCH機能を使用して、多数の5250 Destination画面が定義されたコマンドハンドラーに切り替えることはできません。
· このオプションを使用するコマンドハンドラーは、個別のポップアップウィンドウではなく、メインのフレームワークウィンドウに配置する必要があります。