RAMP-TSAD03 ステップ2. HANDLE_PROMPT()の高機能な使い方

LANSA RAMP-TS

RAMP-TSAD03 ステップ2. HANDLE_PROMPT()の高機能な使い方


前述のサンプルHANDLE_PROMPT()は、ボタン・クリックの開始と同時に実行されていました。

ただし、この5250画面のすべてのプロンプトがF4を使用して実行されていることを理解している場合は、次のようにロジックを高速で高機能にすることができます。

vHandle_BUTTONCLICK: function(sButton)
   {
     var bReturn = true;
     
        /* <BUTTONCLICK /> - Do not remove or alter this line */
     
        /* Handle function keys and buttons */
     
        switch (sButton)
        {
           case KeyF4:
            if (!HANDLE_PROMPT()) ALERT_MESSAGE("Position the cursor in a promptable field when using F4");
            break;

           case KeyEnter:
             SENDKEY(KeyEnter);
          
             etc, etc, etc
 

 

注:このステップは単にテクニックを示しています。この変更を自分のスクリプトで実行しないでください。

ここでは、HANDLE_PROMPT()要求が必要なのはF4が使用されたときのみであることを理解しているため、F4が使用されたときのみこの要求が呼び出されるように、要求をボタン・クリック・ファンクションの先頭からKeyF4 caseステートメントに移動しました。

また、HANDLE_PROMPT()が要求(ファンクション呼び出しの前の"!"に注意してください)を処理しなかった場合は、"F4を使用するときはプロンプト可能なフィールドにカーソルを配置してください"と通知するメッセージ・ボックスが表示されるように、ロジックも追加しました。

これを実行できるのは、F4がクライアント上でのみ処理され、サーバー上の5250 RPGプログラムで処理されないことを理解しているからです。

これは、処理されないF4要求を5250アプリケーションに渡して、処理されるかどうかを確認する前述のステップのデフォルト動作とは対照的です。