GET_FORM_MESSAGE Function
Get the 5250 message text at a specified row number and optionally route as a Framework message.
Syntax
var bMoreRecords = GET_FORM_MESSAGE([iRow,] [sMoreIndicator,][bRoute])
Parameters
|
Return Value
Boolean. Returns one of the following possible values:
|
Remarks
Additionally, RAMP will set a property called vLastMessage in the current form object that will contain the text of the last message retrieved. To use this property in your script use:
var sLastMsg = this.vLastMessage;
Note that the use of the this pointer is only valid within the current script.
Examples
GET_FORM_MESSAGE(22); /* Extract messages and hide the message line */
if (this.vLastMessage != "") ALERT_MESSAGE("ERROR:" + this.vLastMessage);
GET_FORM_MESSAGE(22, "More");
The following example shows using GET_FORM_MESSAGES in an Arrival Script to rout all 5250 messages to the Framework
The GET_FORM_MESSAGE retrieves the text visible on the 5250 screen at the nominated line.
If the 5250 screen indicates that there are more messages available the function will return a result of true. For the other messages to be read they must be made visible. This is achieved by setting the cursor to the line displaying the message and sending a Page Down key to the 5250 screen. When the 5250 screen arrives the new message is retrieved. Note that this is an expensive exercise.
/* ====================================================== */
/* ================== 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);
},