Message Subsystem

With the iSphere Message Subsystem you can manage and monitor messages on an IBM i server:

The iSphere Message Subsystem integrates into the Remote Systems Explorer as shown below. From there you can use the context menu (right click)to create message filters or to perform actions on selected messages.

Use the iSphere Messages context menu (right click) to create filters for your messages.

Use the message file context menu (right click) to rename a message filter or to change the filter properties.

Use the message file context menu (right click) to remove or view the message details.

Answer inquiry messages from the message detail dialog:

Monitoring Messages

You can also use the iSphere message subsystem to monitor the message queue of your user profile in the background. When a new message is added to the message queue you can be notified by:

Use the context menu (right click) of the iSphere Messages node to configure the message monitor.

When Display informational messages as list on startup is check, these messages are collected and then presented in a list. Otherwise all pending informational messages are displayed one by one which might be annoying for a huge number of pending messages:

Double click a message to display the details.

The Login credentials are optional and must be specified only for email servers that require an authenticated user for sending emails.

Notice: The email password is stored in the Eclipse secure storage area.
See: Windows | Preferences | General | Security | Secure Storage

Important: Eclipse 3.2, which is used by WDSCi, does not have a secure storage container. Here the password is encrypted and stored by iSphere, which might not be as secure as the Eclipse secure storage area.

The message monitor requires an exclusive lock on your message queue. It will not get the lock if the message queue is locked by another job, such as a 5250 session. Therefore it is recommended you start RDi/WDSCi before any 5250 session. But you can also use the following CL command to unlock the message queue:

DLCOBJ OBJ((library_name/message_queue_name *MSGQ *EXCL)) SCOPE(*THREAD)

The command must be executed from the job that holds the lock.

The message queue is not immediately unlocked when option Monitor message queue is unchecked. It can take up to 5 seconds until the lock has been removed.

Send Message

You can send messages from the context menu of the iSphere Message Subsystem. Open the context menu and select Send Message to open the Send IBM i Message dialog:

Now enter the message text, tab forward to the Recipients field and enter the user profile that will receive the message. Hit the [ENTER] key to send the message.

The available options are:
Message type -
*INFO Informational. The message does not need a reply.
*INQ Inquiry. The message needs a reply. If the message queue and library name parameter was specified, the reply is placed on that message queue; otherwise, the reply is placed on the message queue specified in the user profile of the sender.

The user profile name of the person sending the reply is added to the beginning of the message text, allowing the person receiving the reply to determine which user it is from.

Delivery mode -
*BREAK Break message. If the user is signed on, the message goes to the work station message queues that the user is signed on to and temporarily interrupts the work that the user is doing. If the user is not signed on, the message goes to the user profile message queue and the sender is notified. If display station names are specified, the message goes to the message queues for the specified display stations.
*NORMAL The message goes to the user profile or display station message queue. If the message queue is in notify mode for that user, the message waiting light is turned on. If the message queue is in break mode, the message temporarily interrupts the work that the receiver is doing. If the message queue is in hold mode, the receiver is not notified.
Message text -
The complete text of the message. The text you specify is displayed as the default on the Send a Message display.
Recipient type :
*USR The list of names contains only user profile names.
*DSP The list of names contains only display station names.
Recipients -
name Name of a user profile or display station. Use this option to send a message to a specific user profile or display station.
*LIST The user profile or display station names are specified as a list.
*ALL The message queues of all users. When you use this value, it must be the only item in the list. This value cannot be used if *DSP is specified for the name type indicator parameter.
*ALLACT The message queues of all active users or display stations. This value can be used in combination with specific user profile names or display station names and with *SYSOPR.
*SYSOPR The system operator's message queue, QSYSOPR. This value can be used in combination with specific user profile names and with *ALLACT. It cannot be used if *DSP is specified for the name type indicator parameter.

Forward Message

You can forward messages from the context menu of an IBM i Message. Open the context menu and select Forward Message to open the Send IBM i Message dialog:

Remove Messages

Messages can only be removed with option Delete of the context menu of a message of a monitored message queue. It cannot be removed from an IBM i command line, because the Java MessageQueue class holds an *EXCL lock on monitored message queues. That is the same thing, what an interactive IBM i job does.
Because of the nature removing messages works, it may take some seconds until a message is really removed, although it disappears immediately after having executed the Delete option.

Remove Messages from an IBM i Command Line

Actually messages cannot be removed from a monitored message queue, because the Java message queue class puts an *EXCL lock on the message queue when it waits for incoming messages. But you can get around that limitation by sending a *REMOVE_ALL message to the message queue to make the message monitor remove all messages from the queue:

SNDMSG MSG('*REMOVE_ALL') TOUSR(user_profile)

End Message Monitor

Message monitoring ends, when the Monitor message queue checkbox is unchecked. That may take up to 5 seconds, because of the receive message timeout. You can also end the message monitor from a 5250 command line or any program by sending *END_MONITORING to a monitored message queue like this:

SNDMSG MSG('*END_MONITORING') TOUSR(user_profile)

You need to check the Monitor message queue checkbox again to start the message monitor again.

Acknowledgement

Over several months, many on the WDSC_L mailing list at midrange.com have asked us to adopt the Message Subsystem feature from the RSE Extensions Plug-in of Softlandings Systems.

In our opinion, forking another open source project is difficult, but sometimes there are good reasons to do this. If the original contributor cannot provide further support and enhancements, for whatever reasons, it benefits the community if others are willing to do this. This is the spirit of open source and everyone who starts an open source project has to be aware of this.

So, we decided to adopt the Message Subsystem feature from the RSE Extensions Plugin to iSphere. If anyone has a feature request regarding the Message Subsystem, please let us know immediately.