The MAP OUTIN statement requests an output data transfer (MAP OUT) followed by an input data transfer (MAP IN). MAP OUTIN combines the functions of the MAP OUT and MAP IN requests; however, it cannot be used to perform pageable map functions or native mode data transfers. By definition, the MAP OUTIN request is synchronous; it forces the program to be conversational.
►►─── MAP OUTIN (map-name) ───────────────────────────────────────────────────► ►─┬─────────────────────────────────────────────────────────────────────┬────► └─ OUTPUT ─┬───────────────────────────┬─┬───────────┬─┬────────────┬─┘ └─ DATA ─┬─ YES ───────┬────┘ ├─ NEWPAGE ─┤ └─ LITERALS ─┘ ├─ NO ────────┤ └─ ERASE ───┘ ├─ ERASE ─────┤ └─ ATTRibute ─┘ ►─┬────────────────────────┬─────────────────────────────────────────────────► └─ INPUT DATA ─┬─ YES ─┬─┘ └─ NO ─┘ ►─┬───────────────────────────────────────────────────────────────┬─ ; ──────►◄ └─ MESSAGE (message-text) ─┬─ TO (end-message-data-location) ─┬─┘ └─ LENGTH (data-length) ───────────┘
Specifies the 1- to 8-character name of a map specified by the DECLARE MAP statement, as described in DML Precompiler-Directive Statements.
Specifies screen display-options for the data being output:
Specifies whether variable-storage data fields are to be transmitted to the terminal. This specification applies to all variable-storage data fields unless overridden by an OUTPUT DATA YES/NO clause in a previously issued MODIFY MAP request.
YES Transmits the contents of variable-storage data fields to the corresponding map fields.
NO Does not transmit the contents of variable-storage data fields to the corresponding map fields. However, if the automatic error handling facility detects an error in any field, the system will transmit the applicable attribute bytes.
ERASE Does not transmit the contents of variable-storage data fields and fills the corresponding map fields with null values.
ATTRIBUTE Transmits only the attribute bytes for variable-storage data fields. Data in the record buffer is not sent to the terminal.
Activates the erase-write function; the system clears the screen and transmits both literal and variable fields to the map. If NEWPAGE is not specified, the system will write over any existing screen display without first erasing it. The keywords NEWPAGE and ERASE are synonymous.
To erase individual map fields, use the OUTPUT DATA ERASE option of the MODIFY MAP statement (described later in this chapter). To request that the system erase all screen fields and activate the erase-write function, the MAP OUT statement must specify OUTPUT DATA ERASE NEWPAGE.
Transmits literal fields as well as variable-storage data fields to the terminal. If LITERALS is not specified, the system will write literal fields to the map only when a MAP OUT request specifies the ERASE option.
Specifies whether the contents of map fields will be moved to variable-storage data fields (YES) or left unchanged (NO).
This specification applies to all variable-storage data fields unless overridden by an INPUT DATA YES/NO clause in a previously issued MODIFY MAP request.
Specifies the message to be displayed in the map's message area. Message-text is the symbolic name of a program variable-storage entry that contains the message text. The length of the message text is determined by one of the following specifications:
Specifies the end of the program variable-storage entry that contains the message text and is specified following the last data item in message-text. End-message-data-location is the symbolic name of either a user-defined dummy byte field or a field that contains a data item not associated with the output data stream.
Defines the length in bytes of the message text. Data-length is either the symbolic name of a user-defined field that contains the length, or the length itself expressed as a numeric constant.
Note: To reference a message stored in the data dictionary, use the ACCEPT TEXT INTO parameter of the WRITE LOG statement (described later in this chapter) to copy the message into message-text.
The following statement erases the screen, transmits literal and variable map fields (null values), and performs a mapin operation when the operator presses an AID key:
MAP OUTIN (EMPMAPLR) OUTPUT DATA ERASE NEWPAGE INPUT DATA YES;
Upon completion of the MAP OUTIN function, the ERROR_STATUS field in the IDMS DC communications block indicates the outcome of the operation:
The request has been serviced successfully.
The I/O operation has been interrupted; the terminal operator has pressed ATTENTION or BREAK.
A logical error (for Example, an invalid control character) has been encountered in the output data stream.
A permanent I/O error has occurred during processing.
The dial-up line for the terminal is disconnected.
The map request block (MRB) contains an invalid field, indicating a possible error in the program's parameters.
The map load module named in the MRB cannot be found.
The terminal being used is out of service.
The requested map does not support the terminal device being used.
The specified edit or code table either cannot be found or is invalid for use with the named map.
An error has occurred in a user-written edit routine.
A data conversion error has occurred; internal map data does not match the map's data description.
The user-written edit routine specified for the named map cannot be found.
|
Copyright © 2014 CA.
All rights reserved.
|
|