指定した行番号の 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 を返します。その他のメッセージを読み取るためには、メッセージを表示する必要があります。これは、メッセージを表示している行にカーソルを設定し、PageDown キーを 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);
   },
  • No labels