Programming requirements

Table 1 lists some of the considerations and questions that relate to writing a program operator. This list supplements the list of programming considerations found in Programming for the IBM 3270 Information Display System.

Table 1. Some considerations that affect the coding of a program operator
Program function Programming considerations
Handling VTAM® operator commands and VTAM messages
  • Can a timer routine perform predefined actions while the network is active?
  • How is the program operator going to examine and react to messages received from VTAM?
  • Are there situations that require human intervention?
  • Should displays be processed or reformatted prior to sending them to the terminal?
  • Should commands be processed before sending them to VTAM?
  • Are there other services that the program operator can provide?
    • Operator-to-operator communication
    • Hard-copy log (the hard-copy log available to the system console is not available to the program operator)
Opening the program operator
  • How many ACBs are to be opened?
  • Are separate EXLSTs to be used if more that one ACB is used?
Establishing sessions to handle VTAM operator commands
  • When a terminal logs on, how is authorization for the terminal and the operator to be determined?
    • Is the terminal or operator authorized to use the program operator?
    • What type of authorization is to be used (for example, a password as a part of the logon message)?
  • How does the program operator determine the terminal's authorization?
    • Can this terminal receive all VTAM messages?
    • Can this terminal enter only certain commands?
Correlating messages and responses
  • Is a table needed to associate messages and responses with a specific terminal?
  • What type of messages are received by the program operator (solicited or unsolicited)?
    Note: The message-suppression level specified by the system console operator or a program operator determines the levels of VTAM operator messages received by any VTAM operator.
  • How is the ID field of the header to be used?
  • How is the header set up to send the message to VTAM?
  • If a reply is requested, does the program operator
    • Generate the reply?
    • Pass the messages to a terminal?
    • Keep track of the message until a reply is sent?
  • If the terminal cannot receive the message, should it be sent to the system console, sent to another terminal, or discarded?
Outage of the session with the terminal operator
  • What happens to messages that are intended for the terminal?
    • Should they be sent to the system console?
    • Should they be sent to another terminal?
    • Should they be discarded?
  • If all the terminals are lost, what should the program operator do?
    • Terminate?
    • Request operator intervention?
    • Wait for other terminals to log on?
Closing the program operator
  • In what order are the ACBs in the application program to be closed?
  • Are outstanding messages to be sent to the system console?
  • What happens if the first CLOSE fails?
  • Should any additional messages be processed before issuing a second CLOSE?