LRDD
Purpose
Use the LRDD macroinstruction in conjunction with the LINERD macro to map the LINERD descriptors for multiple inputs.
Usage Notes
- For more information on the LRDD macro, see z/VM: CMS Application Development Guide for Assembler.
- The LRDD mapping macro expands as follows:
LRDD DSECT LRDDNEXT DS A Pointer to next LINERD descriptor (LRDD) DS CL8 Reserved LRDDLINE DS F Line number LRDDCOL DS F Column number LRDDTXTA DS A Text address for input LRDD LRDDTXTL DS F Length of text following this LRDD * for input LRDD DS CL4 Reserved * LRDDFLG1 DS XL1 Flag byte #1 for input LRDD LRDDRESI EQU X'01' .... ...X Reserved area of vscreen LRDDOUTL DS XL1 Field outlining byte for input LRDD LRDDCSET DS XL1 MIXED/SBCS field attribute for input LRDD DS CL6 Reserved LRDDATTR DS XL1 Attribute byte for input LRDD LRDDCOLR DS XL1 Color byte for input LRDD LRDDEXHI DS XL1 Extended highlighting byte for input LRDD LRDDPSS DS XL1 PSS byte for input LRDD * LRDDFLG2 DS XL1 Flag byte #2 for cursor LRDD LRDDRESC EQU X'01' .... ...X Reserved area of vscreen * DS XL1 Reserved * LRDDKEY DS XL1 Holds key pressed for cursor LRDD LRDDLEN EQU *-LRDD Length of LRDD in bytes LRDDDBSZ EQU ((LRDDLEN+7)/8) Length of LRDD in doublewords *Note: The next three usage notes pertain to the cursor & key descriptor only. - If the cursor is not located in the vscreen, the value in both LRDDLINE and LRDDCOL is -1. If the cursor is located between the top and bottom of the vscreen, the line and column are returned. If the cursor is located on the line following the bottom line, the column number is returned in LRDDCOL and LRDDLINE is set to 0. If the cursor is located below the line following the bottom line, LRDDLINE is set to 0 and LRDDCOL is set to 2.
- If the LRDDRESC flag of the LRDDFLG2 field is not set, the cursor is in the scrollable area of the vscreen. If this flag is set, the cursor is in the top reserved area of the vscreen if the line number is a positive value, and if the line number is negative, the cursor is in the bottom reserved area.
- The LRDDKEY field returns the hexadecimal value of the key pressed. These values are documented
in the IBM 3270 Information Display System Data Stream Programmer's Reference. The
valid key values are:
Code Key Code Key X'7D' ENTER X'C3' PF15 X'F1' PF1 X'C4' PF16 X'F2' PF2 X'C5' PF17 X'F3' PF3 X'C6' PF18 X'F4' PF4 X'C7' PF19 X'F5' PF5 X'C8' PF20 X'F6' PF6 X'C9' PF21 X'F7' PF7 X'4A' PF22 X'F8' PF8 X'4B' PF23 X'F9' PF9 X'4C' PF24 X'7A' PF10 X'6C' PA1 X'7B' PF11 X'6E' PA2 X'7C' PF12 X'6B' PA3 X'C1' PF13 X'6D' CLEAR X'C2' PF14 Note: The following usage notes pertain to the input descriptors only. - The text always immediately follows the LRDD input descriptor, and LRDDTXTA points to that location.
- The input length returned in LRDDTXTL may be shorter than the field displayed for user modification in the vscreen (trailing nulls are removed). If only part of a field from a virtual screen is displayed on the physical screen and the field is modified, the entire field is returned. If LRDDTXTL is zero, no text follows the descriptor.
- If the LRDDRESI flag of the LRDDFLG1 field is not set, the input was read from the scrollable area of the vscreen. If the flag is set, the input was read from the top reserved area of the vscreen if the line number is a positive number, and if the line number is a negative number, the input was read from the bottom reserved area.
- LRDDCSET returns the character set of the input. X'00' indicates a mixed DBCS field, and X'01' indicates a SBCS field, or a pure DBCS (PSS 8) field.
- Valid values for the LRDDOUTL, LRDDATTR, LRDDCOLR, LRDDEXHI, and LRDDPSS fields are documented in the description of the LWRD macroinstruction.
