DFHTPR (terminal page retrieval program)

The terminal page retrieval program (DFHTPR) processes messages built by BMS and placed in temporary storage.

Figure 1 shows the relationships between the components of page retrieval.
Figure 1. Page retrieval program interfaces
Diagram showing the components of page retrieval and the relationships between them
Note:
  1. DFHTPR can be initiated as a stand-alone transaction (CSPG), or by a user-defined paging command (for example, P/, or 3270 PA/PF keys), or linked to from a BMS conversational operation (SEND PAGE request with CTRL=RETAIN or RELEASE).
    DFHTPR performs the following functions:
    • Displays the first page of a routed message
    • Displays subsequent pages of a message at a terminal for which a SEND PAGE request with CTRL=AUTOPAGE was specified
    • Processes paging commands from a terminal
    • Processes the CSPG transaction when it is entered at the terminal
    • Purges a message displayed at the terminal if the terminal is in display status and other than a paging command is entered at the terminal.
  2. DFHTPR is entered from the BMS mapping control program (DFHMCP) to display the first page of a message originated at the terminal if CTRL=RETAIN was specified in the BMS request. DFHTPR reads from the terminal and processes paging commands until other than a paging command is entered.
  3. DFHTPR uses storage control to:
    • Acquire and free message control blocks (MCBs)
    • Free message control record (MCR) storage
    • Acquire storage for information and error messages to be sent to the destination terminal and the main terminal
    • Free an automatic initiate descriptor (AID) taken off the AID chain
    • Acquire and free storage for a route list constructed in response to a COPY command entered at a terminal
    • Acquire a TIOA into which to place a device-independent page when performing the COPY function.
  4. Temporary-storage control is used to retrieve and replace MCRs and to retrieve and purge pages.
  5. Basic mapping support is used to display error and information messages at a requesting terminal, and to send a page to the destination terminal in the COPY function.
  6. Task control is used to retain exclusive control of an MCR while it is being updated.
  7. DFHTPR communicates with interval control during error processing when a temporary-storage identification error is returned while attempting to retrieve an MCR. Up to four retries (each consisting of a one-second wait followed by another attempt to read the MCR) are performed. (The error may be due to the fact that an MCR has been temporarily released because another task is updating it. If so, the situation may correct itself, and a retry is successful.)
  8. Terminal control is used to read in the next portion of terminal input after a page or information message is sent to the terminal when a SEND PAGE request with CTRL=RETAIN was specified.
  9. Transient data control is used to send error or information messages to the main terminal.
  10. The terminal output macro (DFHTOM) is issued to provide an open subroutine that puts a completed page out to the terminal.