General
Application area: | Messages; see "Messages" |
Macro type: | Type S, MF format 1: 31-bit interface: |
System messages are assigned to the message files that contain them by means of the global class list. The class list contains all message classes (the first 3 characters of the message code) and the assigned names of the message files. The class list is created at system start time and can be modified by system administration during normal operation using the macros MSGSINIT and MSGSMOD, or the MODIFY-MSG-FILE-ASSIGNMENT command.
Nonprivileged users can use their own message files for message output, restricted to their own tasks. The names of the system-wide and/or task-specific message files can be requested by means of the MSGSHOW macro or the SHOW-MSG-FILE-ASSIGNMENT command. The default value for the language of the message output is defined in the user catalog, see the SHOW-USER-ATTRIBUTES command, DFAULT-MSG-LANGUAGE output field; if no default value is specified there, the value set in the startup parameter service is used. For further information on the commands, see the “Commands” manual [19 (Related publications)].
Macro description
The MSGSMOD macro enables system administration to add further message files to the message system or to prohibit access to message files. The message classes and the names of the new message files are entered at the beginning of the class list (range assignment table). All references to message files which are to be locked are deleted from the class list. Modifications to this list are applicable only during the current system run - the generation values are not changed.
Nonprivileged users can add their own message files to the message system and define the language to be used for message output. These message files can then be used for the current task; they are accessed before the system message files when searching for messages.
One macro call can be used to add up to 8 message files to the message system (using the IMPORT operand), and to lock a maximum of 8 message files (using the EXPORT operand). If both EXPORT and IMPORT are included in the same call, the same form of parameter must be used for transmission of the file names in each operand (either register format (r), or addresses (addr), or file names (file)).
Macro format and description of operands
MSGSMOD |
[EXPORT={ {(r) / (r),(r), ... ,(r) / (REG,n)} / {addr / (addr,addr, ... ,addr) / (ADR,n)} / {'file' / ('file', ... ,'file') / (FILE,n)} }] [,IMPORT= { {(r) / (r),(r), ... ,(r) / (REG,n)} / {addr / (addr,addr, ... ,addr) / (ADR,n)} / {'file' / ('file', ... ,'file') / (FILE,n)} }] [,SCOPE=TASK / SYSTEM] ,SEARCH=*UNCHANGED / *ALL / *STD / *TASK 1 ,LAN=*UNCHANGED / *STD / 'language' ,MF=S / C / (C,pre) / (E,...) / (D,pre) / D / L |
1The SEARCH operand is no longer evaluated. It can still be specified for reasons of compatibility.
EXPORT=
IMPORT=
Specifies the message file(s) to be locked (EXPORT) or to be added to the message system (IMPORT).
(r)
Register containing the address value of a field which contains the name of a message file.
((r),..(r))
Specifies a list of up to 8 registers. Each register contains the address value of a field which contains the name of a message file.
(REG,n)
The registers to be used will be specified in the operand list. This operand can only be used if MF=L/D/C is specified.
n = number of addresses; n <= 8. Default value: n=1.
addr
Symbolic address of the field which contains the name of a message file.
(addr,...)
Specifies a list of up to 8 symbolic addresses. These addresses identify fields containing the names of the message files.
(ADR,n)
The addresses will be specified in the operand list. This operand can only be used if MF=L/D/C is specified.
n = number of addresses; n <= 8. Default value: n=1.
'file'
Name of a message file.
(file,...)
Specifies a list of up to 8 (message) file names.
(FILE,n)
The names of the message files will be specified in the operand list. This operand can only be used if MF=L/D/C is specified.
n = number of message files; n <= 8. Default value: n=1.
SCOPE=
Defines the scope of the message files specified with the IMPORT/EXPORT operands. The message files may be accessible to the entire system (i.e. all tasks in the system) or only to the task executing the calling program.
TASK
Only the task executing the program which issued the MSGSMOD macro can access the message files specified with IMPORT/EXPORT. The assignment is canceled automatically at the end of the task. EXPORT can be specified only for message file(s) previously assigned to the task by means of IMPORT.
TASK is the default value for nonprivileged users.
SYSTEM
All tasks in the system can access the message files specified with IMPORT/EXPORT. The assignment is valid for the current system run only. SYSTEM can be specified only under the system administration user ID.
SYSTEM is the default value for the system administration.
LAN=
Serves to define a language to be used for message output. This definition applies to the current task run only.
*UNCHANGED
The language defined for the task run is not changed.
*STD
The language specified in the user catalog or with the system parameter MSGLPRI.
'language'
1 letter to identify the language, where D = German, E = English.
For symbols for other languages please consult system administration.
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.
The C form or D form can only be specified in conjunction with
IMPORT/EXPORT=REG/ADR/FILE. A prefix (pre = 1..4 letters) can be specified, as shown in the macro format.
Default values: | pre = MODC for C form |
If less than four letters are specified for a prefix, the string MODx results (where x corresponds to first letter).
Return information and error flags
R15:
+---------------+ | | | | | | | |b|b|b|b|a|a| +---------------+
A return code relating to the execution of the MSGSMOD macro is transferred in register R15. The values are hexadecimal constants.
bbbb must be read bit by bit.
Bit 2n-1 = 1: the n-th file (in the specified order, starting with EXPORT=...) could not be read without errors.
X'bbbb' | X'aa' | Meaning |
X'xxxx' | X'00' | Normal execution |
X'xxxx' | X'04' | Error during execution of the macro |
X'08' | Operand error | |
X'0C' | Access authorization: user is not TSOS (system administration) | |
X'10' | Resource limitation (REQM error) | |
X'xxxx' | X'30' | The macro cannot be executed |
X'41' | MIP subsystem is not loaded |