LINEDIT r'lacro 1BE 1EN2Tli 1I!EQIX In all the
examples shown r the length of the argument being sUbstituted was
determined by the number of periods in the message text. The number of
periods indicated the size of the output field r and indirectly
determined the size of the input data area.
For hexadecimal and decimal .substitutionsr the input data is
truncated on the left. To ensure that a decimal number will never be
truncated r you can code 10 periods (11 for negative numbers) in the
message text where it will be sUbstituted. For hexadecimal data
w
code
eight periods to ensure that no characters are truncated when a fullword
is substituted. When you are coding sUbstitution lists with the CHARA r HEX4A options r howeverr you can specify the length of the
field. You must code the SUB operand as follows: SUB=(typer(addresswlength» CHAR8A w and
input data
Both address and length may be specified using register notation. For
example: SUB= (HEX4A w (LOC w (4» 1 shows that the characters at location
message text; the number of characters
contained in register 4 r but it cannot
periods coded in the message text. are substituted into the
is determined by the value
be larger than the number of You can use this method in the special case where only one character
is to be substituted. Since you must always code at least two periods
to indicate that substitution is to be performed w you can code two
periods and specify a length of one r as follows:
LINEDI'I TEXT='INVALID LETTER •• 'rSUB=(CHARAw (PLIST+24 w When you want to make several
substitutions in the same liner you must enter a sUbstitution list for
each set of periods in the message text. For example:
LINEDIT TEXT='VALUFS ARE ••••• and •••••• 'w SUB= (DEC r (3) r HEXA w LOC) might generate a line as follows: VALUES ARE -45 AND FFE3C2. You should remember that if you are using the standard form of the
macro instructionr and you want to perform more than one sUbstitution in
a single line, the LINEDIT macro will not generate reentrant code. If
you code RENT=NO on the macro linew then you will not receive the message indicating that the code is not reentrant. If you want reentrant coder you must use the list and execute forms of the macro instruction.
326 Vr'I/370 CMS Command and Macro Reference
LINEDIT Macro Use the DISP operand to specify the output disposition of the edited
line. The format of the DISP operand is: DISP= DISP=TYPE NONE PRINT SIO CPCOMM ERRMSG specifies that the message is to be displayed on the terminal.
This is the default disposition. DISP=NONE specifies that no output occurs. This option is useful with the BUFFA operand. DISP=SIJ specifies that the message is to be displayea, at the terminal,
using SIO instead of TYPLIN, which is normally used. This option
is used by CMS routines in cases where free storage pointers may be
destroyed. Since lines are not stacked in the console buffer, no CONWAIT function is performed. DISP=PRINT specifies that the line is to be printed on the virtual printer.
The first character of the line is interpreted as a carriage
control character and as such does not appear on the printed
output. (See the discussion of the PRINTL macro for a list of
valid ASA control characters., DISP=CPCOMM specifies that the line is to be passed to CP to be executed as a CP command. For example:
LINEDIT TEXT='QUERY USERS',DOT=NO,DISP=CPCOMM results in the CP command line being passed to CP and executed. On return, register 15 contains the return code from the CP command
that was executed. DISP=ERRMSG specifies that the line is to be checked to see if it qualifies for
error message editing. If it does, it is displayed as an error
message rather than as a regular line.
The standard format of VM/370 error messages is:
xxxmmmnnns
where xxxmmm is the name of the module issuing the message, nnn is
the message number, and s is the severity code. You can code
whatever you want for the first nine characters of the code when
you write error messages for your programs, but the tenth character
must specify one of the following VM/370 message types: INformation Warning Frror
section 6. CMS Macro Instructions 327
Previous Page Next Page