多数の 5250 デスティネーション画面を 1 つのコマンドハンドラータブに関連付けることができます。この機能にはさまざまな用途があり、アプリケーション設計に関する一般的な問題を解決できる場合があります。 

例えば、5 つの異なる 5250 デスティネーション・フォームがあり、各フォームがレポート作成基準を要求し、このレポートをバッチに送信するとします。この 5 つの 5250 画面を uReport1、uReport2 … uReport5 と呼ぶことにします。

このアプリケーションのプロトタイプを作成するとき、この 5 つの異なるリポートの処理方法は様々考えられます。     

ビジネスオブジェクトの数が多すぎる

各リポートを"Report 1"から"Report 5"までの固有のビジネスオブジェクトとして定義します。この場合、アプリケーションのナビゲーション・ツリーは次のような構造になります。

ユーザーがいずれかのリポートをクリックすると、フォームの右側全体にリポートの関連5250フォームが表示されます。

コマンドタブの数が多すぎる

Report 1 から Report 5 までの 5 つの関連するコマンドまたはアクションを持つ "Reports" という名前の 1 つのビジネス・オブジェクトを定義します。この場合、アプリケーションのナビゲーションとコマンド・ハンドラー・タブは次のような構造になります。

 

ユーザーがリポートタブをクリックすると、関連する5250フォームがタブに表示されます。いずれかのタブがデフォルトになります。

これらの方法にはいくつかの問題があります。

50 個または 500 個の異なるタイプのリポートがある場合、どうなるでしょうか。

解決策:ダイナミックコマンドタブ

解決策としては、例えば "レポート" という名前の 1 つのビジネスオブジェクトを作成し、それに "レポート要求の送信" という1つのダイナミック・コマンドハンドラー・タブを設定することです。  

例えば、2 つのタブを表示するように設定されたビジネスオブジェクト "レポート"があるとします。1番目のタブは "レポート要求の送信" で、2 番目のタブは、複数の異なる方法でリポートバッチジョブの出力を表示できる "スプールファイルの表示" です。 

この例では、実際に表示される 5250 デスティネーション画面を実行時に動的に変更する必要があるので、"レポート要求の送信" コマンドハンドラータブだけに注目します。 

この 1 つのタブに表示される 5250 画面を変更するには、主に次の2つの方法を使用します。

制限