Syntax
Recall { expression | “BYE” | “EXIT” } [TEACH expression]
Parameters
Recall can be abbreviated as RC.
"BYE"
Log off the application without retaining the current ispec and user information.
"EXIT"
Log off the application, retaining the current ispec and user information.
expression
A string expression naming either the class or ispec to recall, an attribute which contains the alias of the Ispec to be recalled, or a string expression containing the name. For example, where “Customer” is the name of an ispec to recall, and “Cust” is the alias name, valid values are:
Recall "Customer" Recall "Cust" Recall Customer Move "Cust" RecallIspec Recall RecallIspec
TEACH expression
Display a teach screen, specified by the string expression, which is either a string expression or an attribute containing the name.
Description
The Recall logic command displays a specified ispec (or the current ispec, if none is specified).
For MCP-based systems, the Recall command displays Teach information associated with an Ispec. When the Teach command option is included, the Ispec is displayed on Page 1, and the Teach information on Page 2 for MCP-based systems. While using an intermediate variable to display Teach information associated with an ispec, you must pass the alias of the teach screen. For example, if "Customer" is the name of an ispec to recall, "Cust" is the alias name of the teach screen, and "Cust1" is the intermediate variable. The valid logic code is:
MOVE "Cust" Cust1 RECALL TEACH Cust1
The Recall logic command functions similarly to the SwitchTo logic command. Like the SwitchTo logic command, the specified ispec is not recalled until the current logic has completed.
Upon execution, the Recall logic command sets the Glb.Error built-in segment attribute to "*****".
If the current ispec is recalled, the Construct method for the ispec is ignored. However, if the Construct method is required, it is possible to recursively recall the current ispec through an intermediate (dummy) ispec.
If more than one Recall or SwitchTo logic statement is specified in the logic, then only the last Recall or SwitchTo logic statement is executed.
Note: The use of Recall logic command is invalid in Reports and Messengers.
Recall "Bye"
The Recall "Bye" logic command variant logs off the application without retaining the current ispec and user information. This logic command can be invoked even if a report is running. If the report attempts to display or access information from the terminal that signed off:
For Systems based on the Windows operating systems, the Report will fail with an END-OF-INPUT error.
Similarly, if you are running a Report attached to the terminal, and you start ROC from page 2, a BYE from ROC would also cause the Report to be detached from the terminal.
For MCP-based systems, if the Report produces messages they are discarded and any Accept commands will hang the system.
For MCP-based systems, Accept commands cause the Report to hang waiting for a response. To provide the response, log back onto that terminal and provide the input to the Accept command in the usual way (> character followed by a text response).
Recall "Exit"
For MCP and Windows-based systems the Recall "Exit" logic command variant logs off the application while retaining the current ispec and user information. This enables future re-entry.
Recall Teach
The Recall Teach logic command variant displays a teach screen associated with the specified ispec.
The ispec is displayed on Page 1. If the recalled ispec is the current ispec, the contents of Page 1 remain unchanged and there is no loss of data.
Restrictions on the Recall logic command depend on the origin of the input message, as listed in the following table.
Message Origin | Ispecs Permitted | Teach Variant |
---|---|---|
Terminal | All | Permitted |
NOF | All | Permitted |
GLI | All | Ignored |
OFFLINE | All | Ignored |
HUB | Recall ignored | Ignored |
Recall and OLTP
The following conditions apply to the Recall command when processing an OLTP transaction:
The transaction response message buffer format is the buffer format associated with the last Ispec that was invoked to process the message.
The TEACH; option is ignored. No user indication will be given.
Any attempt to recall the Report Output Control System is ignored, and is treated as an invalid recall. (Refer to Handling Invalid Recalls for more information.)
For an MCP-based application, a recall to an Ispec in a different subsystem is ignored, and is treated as an invalid recall. (Refer to Handling Invalid Recalls for more information.)
Recall (BYE) and Recall (EXIT) are treated as invalid recalls.
The action of the Recall ispec command depends on the origin of the input message, as shown in the following table.
Message origin | Ispecs permitted | TEACH option |
---|---|---|
Terminal | All | Permitted |
NOF | All | Permitted |
GLI | All | Ignored |
OFFLINE | All | Ignored |
Hub AUTO; | Recall ignored | Ignored |
OLTP | User Ispecs | Ignored |
When the input message originates from an OLTP Server, you cannot Recall any ROC Ispecs. For an MCP-based application, a Recall of a user Ispec is permitted only within the current subsystem, which is that of the OLTP Server issuing the Recall command.
If the final Ispec is unable to reply to the OLTP transaction (for example, it is not marked as OLTP reply-capable) or if the recalled Ispec cannot be accessed due to any of the above restrictions, then an Agile Business Suite-defined default OLTP buffer (LINCdefaultwarn) is used to return a 15-character warning message to the client transaction. Refer to the Agile Business Suite Runtime for ClearPath MCP Administration Guide for more information on this buffer.
If the OLTP client transaction is an application, this message is available to user logic in the built-in segment attribute Glb.HubStatus when Glb.Status is five asterisks (*****).
Restrictions
The following restrictions apply to use of the Recall logic command:
It is not valid in Edit methods of copy ispecs and copy events.
Messages queued from the Message logic command take priority over recalled teach screens.
Example
This example is of the Cust ispec, which has a Customer key:
If Maint = "ADD" Glb.Work := Customer Recall "Sale" : To record a sale Glb.Error := Glb.Spaces : To update Cust EndExitt
The Sale event has Customer, Product, and Quantity attributes, and the following Construct method:
Customer := Glb.Work : Move new customer