General
Application area: | Message system; see "Messages" |
Macro type: | Type S; see "S-type macros" |
Macro description
The OPSGEN macro controls the starting and termination of S variable generation by the message system and transfers the variable name under which the variable created is to be stored.
Macro format and description of operands
OPSGEN |
[SIGNAL=*START / *STOP] ,OUTPUT=*SYSOUT / *NONE ,MODE=*REPLACE / *EXTEND [,MSGVAR=addr / (r)] [,MSGVARL=length / addr / (r)] [,MF=D / C / E / L / M] [,PARAM=addr / (r)] ,PREFIX=N / p ,MACID=MHG / macid |
MF=
For a general description of the MF operand, its operand values and any subsequent operands (e.g. for a prefix), see section “S-type macros”. The valid MF values are given at the start of the macro description under “macro type” and are included in the macro format.
SIGNAL=
Gives the current task the signal to start or terminate generation of structured message output to S variables. The output contains the message text, message code, inserts and reply area.
*START
If this signal is given, MIP starts to generate structured message output and to store it in S variables.
*STOP
Generation of structured message output is terminated.
OUTPUT=
Determines whether or not messages from the program should be output to SYSOUT.
*SYSOUT
Messages are output to SYSOUT.
*NONE
Messages are discarded and not output.
MSGVAR=
Shows the address of an area containing the name of the required variable.May only be specified if MF=M.
addr
Symbolic address of an area which again contains the address of the variable name.
(r)
Register containing the address of the area.
MSGVARL=
Specifies the length (max. 255) of the area addressed in MSGVAR.
length
Length of field to be specified in bytes.
addr
Symbolic address of a field 2 bytes long containing the length. This value may only be specified in conjunction with MF=M.
(r)
Register containing the address of the 2 byte field.
MODE=
Specifies whether the existing contents of the S variable should be overwritten or whether the newly generated messages should be added to the old contents.
*REPLACE
S variable contents are deleted prior to description with the newly generated messages.
*EXTEND
The newly generated messages are added to the existing S variable contents.
Return information and error flags
Standard header:
+---------------+ | | | | | |c|c|b|b|a|a|a|a| +---------------+
A return code relating to the execution of the OPSGEN macro is transferred in the standard header
(aaaa=maincode,bb=subcode1,cc=subcode2).
X'cc' | X'bb' | X'aaaa' | Meaning |
X'00' | X'00' | X'0000' | Function executed successfully |
X'00' | X'01' | X'0002' | Error in the parameter list |
X'00' | X'01' | X'FFFF' | Function not known |
X'00' | X'02' | X'FFFF' | Incorrect specification of UNIT/FUNCTION in standard header |
X'00' | X'03' | X'FFFF' | Incorrect specification of VERSION in standard header |
X'00' | X'20' | X'0003' | Problems with variable generation |
X'00' | X'20' | X'0004' | Error in execution of function |
X'00' | X'40' | X'0001' | SIGNAL=*STOP operand specified without prior switching on of variable |
Other return codes which, in accordance with conventions, apply to all macros are given in the table “Standard return codes” (Standard header).