Previous Topic: MAP OUT (DC/UCF)Next Topic: MODIFY MAP (DC/UCF)


MAP OUTIN (DC/UCF)

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.

Syntax
►►─── 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) ───────────┘
Parameters
map-name

Specifies the 1- to 8-character name of a map specified by the DECLARE MAP statement, as described in DML Precompiler-Directive Statements.

OUTPUT

Specifies screen display-options for the data being output:

DATA YES/NO/ERASE/ATTRIBUTE

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.

NEWPAGE

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.

LITERALS

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.

INPUT DATA YES/NO

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.

MESSAGE (message-text)

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:

TO (end-message-data-location)

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.

LENGTH (data-length)

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.

Example

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;
Status Codes

Upon completion of the MAP OUTIN function, the ERROR_STATUS field in the IDMS DC communications block indicates the outcome of the operation:

0000

The request has been serviced successfully.

4625

The I/O operation has been interrupted; the terminal operator has pressed ATTENTION or BREAK.

4626

A logical error (for Example, an invalid control character) has been encountered in the output data stream.

4627

A permanent I/O error has occurred during processing.

4628

The dial-up line for the terminal is disconnected.

4631

The map request block (MRB) contains an invalid field, indicating a possible error in the program's parameters.

4633

The map load module named in the MRB cannot be found.

4639

The terminal being used is out of service.

4642

The requested map does not support the terminal device being used.

4652

The specified edit or code table either cannot be found or is invalid for use with the named map.

4653

An error has occurred in a user-written edit routine.

4654

A data conversion error has occurred; internal map data does not match the map's data description.

4655

The user-written edit routine specified for the named map cannot be found.