The MRCB is a working storage area defined within the application program area used for processing mapping requests. It contains the name of a map to be used in a Com-plete mapping CALL function, plus additional control information pertinent to both input and output operations.
The format of the MRCB is shown in the following table.
Copy code for the MRCB is provided in the Com-plete source library:
CCMRCB - Assembler
COBMRCB - COBOL
PL1MRCB - PL/I
Field Name | Offset | Len | Description |
---|---|---|---|
The first 8 bytes should be: | |||
MAPNAME | 0 | 4 | Required. |
VERSION | 4 | 1 | Required. If B, then MAPMVER must be blank. |
FILLER | 5 | 3 | Must be spaces. |
or: | |||
MAPNAME | 0 | 6 | Required. Six-character map name must have device code in the last two bytes (for example, F2). |
FILLER | 6 | 2 | Must be spaces and MAPMVER must be B. |
MAP-COUNT | 8 | 2 | Binary halfword. Specifies the number of maps to be kept
resident. The default value, spaces, is the same as 2 (binary 16448, x'4040'). The map count field should be reset to zero (x'0000') on the last mapping call that uses a map so that the map is deleted from thread storage. Failure to do this may result in an abend S80A of the application, due to insufficient storage. |
FCTE-COUNT | 10 | 2 | Binary halfword. Specifies the number of Field Control Table
Entries (FCTEs) in the FCT. Must be less than 16449. A value of 16448 (x'4040') is the same as 0. |
FCE-FORMAT | 12 | 1 | Character. Must be one of the following: S or space FCT entries are short form entries of 6 bytes each. They contain the field name only. L FCT entries are long form entries of 10 bytes each. They contain the field name, an input flag, and the FDC override field. E FCT entries are extended form entries of 13 bytes each. They contain the field name, an input flag, the FDC override field, the color override field, and the symbol set ID override. |
MAP-CONCAT | 13 | 1 | Character. Must be one of the following: N or space The map is not concatenated or addressed. The map is accessed from the resident area of Com-plete or the Com-plete load library chain. A The map is addressed, and the location is specified by MAP-ADDRESS. C The map is concatenated to the MRCB and does not need to be loaded. |
WRITE-OPTION | 14 | 1 | Character. Must be one of the following: A or space Write all unprotected fields. O Write only those fields specified in the FCT. |
READ-OPTION | 15 | 1 | Character. Must be one of the following: A or space Allow all unprotected fields that have been entered by the terminal operator to be moved into the data area. O Allow only those unprotected fields specified in the FCT and those that have been entered by the terminal operator to be moved into the data area. |
TCC | 16 | 8 | Terminal control codes to be concatenated to those in the map. |
CURSOR-OUT | 24 | 6 | Field name to place cursor in during WRTM call. |
CURSOR-IN | 30 | 6 | Name of the field that the cursor was found in during the READM call. |
RETURN-CODE | 36 | 2 | Binary halfword. Return code from the last READM or WRTM call. |
ENTER-CODE | 38 | 2 | Alphanumeric codes or numeric codes to indicate which terminal
interrupt key was pressed. With the exception of the alphanumeric codes TR and
SP, the alphanumeric codes signify those keys that do not transmit data.
Numeric codes indicate data transfer, if data was entered. space No data entered. CL Clear key entered. TR Test request entered. SP Selector pen interrupt. SC ID card reader. A1 through A3 through keys entered. 00 Normal entry (ENTER, EOT, etc.). 01 through 24 through keys. |
FIELDS-READ | 40 | 2 | Binary halfword. Count of the number of fields read. |
ERROR-FIELDS | 42 | 2 | Binary halfword. Count of the number of input fields found in
error (invalid keyword, alpha data in numeric field, etc.). This field can be multiplied by 10 to obtain the length for writing the feedback area to the terminal. |
FEEDBACKLGTH | 44 | 2 | Binary halfword. Specifies the length of the MRCB feedback area. This value must be less than 16449. 16448 (x'4040') is the same as 0. |
MAPMVERS | 46 | 1 | Space or scaling of map. Mapping uses the map with name built from four characters of the MAPNAME field concatenated with the device code of the terminal. |
B Scaling of map. Mapping uses the map with the name given by all six characters of the MAPNAME field. The map is scaled to fit the device code of the terminal in use. | |||
47 | 1 | Must be spaces. Reserved for future use. | |
MAP-ADDRESS | 48 | 4 | Must be spaces unless MAP-CONCAT is A. If MAP-CONCAT is A, then this is the address of the map. The map can be located within the thread, or in the resident area of Com-plete. |
EXPANSION | 52 | 18 | Must be spaces. Reserved for future use. |
FEEDBACK-AREA | 70 | nn | Feedback area used during input exception processing. If this area exists, the MRCB field FEEDBACK-LGTH must be non-zero and less than 16448. When an input exception occurs, the name of the field in error and an exception code are placed here. The format of each entry is "FFFFFF XX", where "FFFFFF" is the name of the field in error, and "XX" is the exception code. |