このステップでは、画面の [次へ] および [前へ] ボタンを有効にして、エンド・ユーザーがファンクション内で画面間を移動できるようにします。また、スクリプトにいくつかの変更も加えます。


  1. 画面 UFRTS03_D1、UFRTS03_D2、UFRTS03_D3 のプロパティを確認し、以前計画したようにボタン/ファンクション・キーを有効にします。   
    UFRTS03_D1は以下のようになります。



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



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



  2. 変更を保存して、フレームワークを再起動します。  
    次に、これらの各画面の vHandle_BUTTONCLICK スクリプトを確認し、ボタン・ナビゲーションが正しく処理されるように変更します。

  3. まず始めに、RAMP-WINAD06 ステップ 1. 複数の 5250 画面のシナリオ の 5250 ナビゲーション画像を参照します。

  4. このナビゲーションの画像から、何を実行する必要があるかは簡単にわかります。

    画面

    ボタン/ファンクション・キー

    結果として表示される画面

    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つのシンプルな例です。

  5. 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()要求だけです。以降の要求を待ち行列に入れて、結果の画面が非同期で到着したときに処理する必要があります。
  6. スクリプトの変更を保存し、RAMP 定義の部分的な保存を行います。


次のステップを完了するまで、変更をテストしないでください。これはアプリケーションのナビゲーションがスタックすることがあり、アプリケーションのキャンセルが必要になる場合があるからです。