The Shout Message command is intended for critical system conditions
where an important message must be sent. For example, if you are
running out of auxiliary storage or mirroring has been suspended, it
is important that a responsible person be informed immediately.
Messages sent to the QSYSOPR message queue can be overlooked even if
it is displayed. If no one has the QSYSOPR queue in break mode, the
message may never be seen.
You may have critical programs where any failure represents your own
'critical system condition'. You can add a SHOUT command to these
programs as the processing function for any non-monitored escape
A typical use of SHOUT message is in conjunction with a command like
the TAA tool CHKSYSCND which monitors critical messages sent by the
To issue SHOUT directly for one of your own programs, the following
would be typical.
SHOUT USERS(QSYSOPR QSECOFR JONES *FIRSTUSER)
MSG('The PAYROLL program PAY123X has failed.')
FSTMSG('A critical system condition has occurred. +
The PAYROLL update program has failed. +
Contact the system administrator immediately...')
The USERS parameter describes those users that will be sent the MSG
value as a break message if they are active. The special value
*FIRSTUSER allows the FSTMSG value to be sent to the active user who
has the highest user class. See the parameter description.
The *ALLACTIVE value may also be specified for the USERS parameter.
This will allow a message to be sent to all active users. For
example, you may want to inform them that some function is now
operational or that they should discontinue the use of some function.
A limit of 1600 job/user combinations may be sent messages.
A user without *JOBCTL special authority may use SHOUT if authorized
to the TAAJOBCTL authorization list.
Command parameters *CMD
USERS A list of up to 10 user names that will be sent a
message from the MSG parameter. If the user is
active, the message is sent as a break message to
the workstation message queue where the user is
If the user has multiple jobs active to the same
workstation, only a single message is sent. If the
same user name is signed onto multiple workstations,
each workstation will receive the message.
If the user is not active, the message is sent to
the user's message queue. It will remain there
until the user signs on and displays his messages.
The special value *FIRSTUSER is the default. Other
user names may also be specified and *FIRSTUSER does
not have to be specified. The intent of *FIRSTUSER
is to allow for the case where none of the specified
users are active. In this case, the active list of
users is searched for the user with the highest user
class as specified in the user profile (e.g.
*SYSOPR is higher than *USER, and *PGMR is higher
than *SYSOPR). This user is sent the FSTMSG value.
If there are multiple users with the highest class
(including *USER), the first user found will be sent
a break message if the job is active.
If this first user is no longer active or no users
are active, a message is sent to the job log.
*ALLACTIVE may be specified with or without a
specific list of users (it cannot be specified with
*FIRSTUSER). If the user is not in the named list
and is active, SNDBRKMSG will be sent with the
ALLMSG value. If the user is in the named list and
is active, SNDBRKMSG will be used with MSG parameter
value. If the user is in the named list, but is not
active, the MSG value will be sent as a normal
message to his message queue.
For *ALLACTIVE, only one message will be sent to the
workstation if the user has either group or system
request jobs. A maximum of 1600 job/user
combinations may exist for *ALLACTIVE to be sent
MSG The message that will be sent to the named users.
Because a break message is sent if the user is
active, a string of text must be used (as opposed to
a message ID). Normally the string of text will be
taken from a RCVMSG command. You may want to 'wrap'
the message with other text (For an example, see the
CHKSYSCND tool). There will be no second level for
use by the HELP key.
FSTMSG The message that will be sent to *FIRSTUSER if no
named user is active. The default is *MSG meaning
to send the same value as MSG. A different value
may be specified to allow a more generic message in
case only end users are active at the time.
ALLMSG The message that will be sent if *ALLACTIVE was
specified and the user was not also named on the
USERS parameter. The default is *MSG meaning to
send the same value as MSG. A different value may
be specified to allow a more generic message in case
only end users are active at the time.
Sending a break message
Sending a break message does not guarantee that a break will occur at
the workstation. The CHGJOB BRKMSG option controls whether the user
job will be broken into.
The TAA Tools must be on your system:
CHKJOBCTL Check job control
CVTWRKUSR Convert work user
EXCJOBCTL Execute job control
EXTLST Extract list
RTVJOBSTS Retrieve job status
SNDCOMPMSG Send completion message
SNDESCMSG Send escape message
None, the tool is ready to use.
Objects used by the tool
Object Type Attribute Src member Src file
------ ---- --------- ---------- ----------
SHOUT *CMD TAAMSGL QATTCMD
TAAMSGLC *PGM CLP TAAMSGLC QATTCL
TAAMSGLC2 *PGM CLP TAAMSGLC2 QATTCL