RAMP-TSAD07 ステップ4. ファンクション・キー/ボタンの有効化と必要なスクリプトの追加

LANSA RAMP-TS

RAMP-TSAD07 ステップ4. ファンクション・キー/ボタンの有効化と必要なスクリプトの追加


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

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

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

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


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


2.    変更を保存し、フレームワークを再起動します。

次に、これらの各画面のvHandle_BUTTONCLICKスクリプトを確認し、ボタン・ナビゲーションが正しく処理されるように変更します。

3.    まず、「RAMP-TSAD06 ステップ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 (Junction)を取得します。

Enterを送信してUFRTS03_D1に進みます。

デフォルトのボタン・スクリプトはこれを処理しません。

UFRTS03_D3

(注を参照)

前へ/F12

UFRTS03_D2

F12を送信してUFRTS03_R1 (Junction)を取得します。

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()要求だけです。以降の要求を待ち行列に入れて、結果の画面が非同期で到着したときに処理する必要があります。

7.    スクリプトの変更を保存し、RAMP定義の部分的な保存を行います。

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