このステップでは、画面の [次へ] および [前へ] ボタンを有効にして、エンド・ユーザーがファンクション内で画面間を移動できるようにします。また、スクリプトにいくつかの変更も加えます。
- 画面 UFRTS03_D1、UFRTS03_D2、UFRTS03_D3 のプロパティを確認し、以前計画したようにボタン/ファンクション・キーを有効にします。
UFRTS03_D1は以下のようになります。

UFRTS03_D2は以下のようになります。

UFRTS03_D3は以下のようになります。

- 変更を保存して、フレームワークを再起動します。
次に、これらの各画面の vHandle_BUTTONCLICK スクリプトを確認し、ボタン・ナビゲーションが正しく処理されるように変更します。
- まず始めに、RAMP-WINAD06 ステップ 1. 複数の 5250 画面のシナリオ の 5250 ナビゲーション画像を参照します。
- このナビゲーションの画像から、何を実行する必要があるかは簡単にわかります。
画面 | ボタン/ファンクション・キー | 結果として表示される画面 | vHandle_BUTTONCLICKが実行する必要がある内容 |
|---|
UFRTS03_D1 | 次へ/Enter | UFRTS03_D2 | Enterキーの送信 デフォルトのボタン・スクリプトがこれを処理します。 |
UFRTS03_D2 | 次へ/Enter | UFRTS03_D3 | Enterキーの送信 デフォルトのボタン・スクリプトがこれを処理します。 |
UFRTS03_D2 (注を参照) | 前へ/F12 | UFRTS03_D1 | F12を送信してUFRTS03_R1 (ジャンクション)を取得します。 Enterを送信してUFRTS03_D1に進みます。 デフォルトのボタン・スクリプトはこれを処理しません。 |
UFRTS03_D3 (注を参照) | 前へ/F12 | UFRTS03_D2 | F12を送信してUFRTS03_R1 (ジャンクション)を取得します。 Enterを送信してUFRTS03_D1に進みます。 Enterを送信してUFRTS03_D2に進みます。 デフォルトのボタン・スクリプトはこれを処理しません。 |
UFRTS03_D2とUFRTS03_D3への前へ/F12操作の追加に注意してください。基盤の5250アプリケーションでは、このような直接の移動は存在しません(つまり、1つの操作でUFRTS03_D2からUFRTS03_D1に実際に移動することはできません)。
ただし、いくつかのシンプルなスクリプトを使用して、この機能が実際に存在する場合と同様に画面をユーザーに表示することができます。これは、既存の5250アプリケーションに価値を付加するもう1つのシンプルな例です。
- vHandle_BUTTONCLICK ファンクションを変更します。UFRTS03_D1スクリプトを変更する必要はありません。
UFRTS03_D2で、以下のようなボタン・クリック・スイッチ文を使用します。
switch (sButton)
{
case KeyEnter: /* Enter-Next means move forward to UFRTSD03_03 */
SENDKEY(KeyEnter);
break;
case KeyF12: /* F12-Previous means go back to UFRTSD03_01 */
Q_SENDKEY("",KeyEnter);
SENDKEY(KeyF12);
break;
default:
ALERT_MESSAGE("Invalid function key used");
break;
}
UFRTS03_D3 で、以下のようなボタン・クリック・スイッチ文を使用します。
switch (sButton)
{
case KeyF12: /* F12-Previous means go back to UFRTSD03_02 */
Q_SENDKEY("",KeyEnter);
Q_SENDKEY("",KeyEnter);
SENDKEY(KeyF12);
break;
default:
ALERT_MESSAGE("Invalid function key used");
break;
}
注意: - これらの RAMP スクリプトは、F12 の使用の実際の意味を再解釈するために変更されました。5250画面UFRTS03_D3が表示されているRAMPタブでは、以上の変更により、F12ファンクション・キーは、F12、Enter、5250サーバーへのEnterの送信を意味します。ユーザーがこの画面から前の画面に直接移動できるようになったため、この再解釈は基盤の5250アプリケーションに価値を付加します。多数の価値あるビジネス・プロセスの機能強化は、このように非常にシンプルな戦略によって支えられています。
- すべての無効なファンクション・キーによってアラート・メッセージが表示されるようになりました。この目的は、エラーを防ぐためのみです。RAMPでは、何らかの方法でキーの使用を禁止する必要があります。
- Q_SENDKEY() ファンクションの使用RAMP-TS SENDKEY()の操作は非同期です。このため、即座に送信できるのは最初のSENDKEY()要求だけです。以降の要求を待ち行列に入れて、結果の画面が非同期で到着したときに処理する必要があります。
|
- スクリプトの変更を保存し、RAMP 定義の部分的な保存を行います。
次のステップを完了するまで、変更をテストしないでください。これはアプリケーションのナビゲーションがスタックすることがあり、アプリケーションのキャンセルが必要になる場合があるからです。