GET_FORM_MESSAGEファンクション

LANSA RAMP-TS

GET_FORM_MESSAGEファンクション


指定した行番号の5250メッセージ・テキストを取得し、オプションでフレームワーク・メッセージとしてルーティングします。

構文

var bMoreRecords = GET_FORM_MESSAGE([iRow,] [sMoreIndicator,][bRoute])

パラメータ

iRow

省略可能。メッセージ行番号を指定する整数。デフォルトは最後の行です。

sMoreIndicator

省略可能。さらにメッセージがあるかどうかを示すためにアプリケーションで使用される文字列。デフォルトは"+"です。

bRoute

省略可能。メッセージをフレームワークのメッセージ ・エリアにルーティングするかどうかを指定するブール値。trueの場合、画面のメッセージのテキストは削除されます。デフォルトはtrueです。

 

戻り値

ブール値。次のいずれかの値を返します。

true

メッセージ行に表示されたエレメントでさらにインジケータが見つかりました。

false

メッセージ行に表示されたエレメントでさらにインジケータは見つかりませんでした。

 

備考

さらに、RAMPは取得した最後のメッセージを格納するvLastMessageというプロパティを現在のフォーム・オブジェクトに設定します。このプロパティをスクリプトで使用するには、以下のようにします。

 

var sLastMsg = this.vLastMessage;

 

このポインターの使用は現在のスクリプト内のみで有効です。

 

使用例

GET_FORM_MESSAGE(22);    /* Extract messages and hide the message line  */

if (this.vLastMessage != "") ALERT_MESSAGE("ERROR:" + this.vLastMessage);

GET_FORM_MESSAGE(22, "More");  

  

以下のサンプルは、到着スクリプトでGET_FORM_MESSAGESを使用して、すべての5250メッセージをフレームワークにルーティングしています。

このGET_FORM_MESSAGEは、5250画面で表示されているテキストを指定した行で取得します。

5250画面でさらにメッセージがあることが示された場合は、結果としてtrueを返します。その他のメッセージを読み取るためには、メッセージを表示する必要があります。これは、メッセージを表示している行にカーソルを設定し、Page Downキーを5250画面に送信することで実現します。5250画面が到着したら、新しいメッセージを取得します。これは高価な演習です。

 

   /* ====================================================== */
   /* ==================  vHandle_ARRIVE  ================== */
   /* ====================================================== */
   /* Handle arrival at this Destination */
   /* oPayload: The payload supplied by the event initiator */
   /* oPreviousForm: Reference to previous object Form*/

 

   vHandle_ARRIVE: function(oPayload, oPreviousForm)
   {
     var bReturn = true;

 

     SHOW_CURRENT_FORM(true);
     HIDE_5250_BUTTONS();
     SETBUSY(false); /* Turn off the busy state to allow user interaction */

 

     /* Get the 5250 message text from the message area */
     var flagMoreRecords = GET_FORM_MESSAGE(22);

 

    /* If there are more messages */

     if (flagMoreRecords == true)
     {

 

        /* Move the cursor to the line displaying the Messages */
        SETCURSORTOROW(22);

 

        /* Bring up the next message */
        SENDKEY(KeyPageDown);

 

     }

 

    /* <ARRIVE /> - Do not remove or alter this line */

 

     return(bReturn);
   },