Unloading messages
If the access is SHARED, other programs can unload messages from a queue that AutoOPERATOR monitors.
The MainView for MQ Exec capability, which can use the MQ API to destructively GET messages from a queue and PUT them to another queue (that is, MOVE), and browse the GET messages and PUT them to another queue (in other words, COPY). These actions are accomplished by using the IMFEXEC MQI GET and IMFEXEC MQI PUT/PUT1 commands (as well as commands such as OPEN, CLOSE, CONN, DISC, and so on). Examples of how to code the IMFEXEC MQI commands are provided in the BBSAMP library with names that start with QMQNBxxx.
The System Queue Archival Solution automatically archives Instrumentation Event messages into GDG data sets when a SYSTEM.ADMIN.*.EVENT queue becomes a certain percentage full. You can write your own program by using the IMFEXEC MQI commands to COPY or MOVE messages to another queue or even invoke CSQUTIL from an Exec. If CSQUTIL needs exclusive access to unload the queue, you can copy the messages to another queue that is not within the configuration of AAOMQLxx and use the CSQUTIL utility on that queue.
If the mode is set to EXCLUSIVE, MainView AutoOPERATOR requires exclusive use of the queue and if a queue is put in the AAOMQLxx member, other applications cannot access it. When this setting causes a conflict with MQ utilities such as CSQUTIL, perform the following steps:
To unload messages
- Remove the queue from the AAOMQLxx member
- Use the .RESET MQxx BBI control command to pick up the modification.xx is the two-character suffix of an AAOMQLxx member.
- Run the MQ utility that was having the conflict.
- Add the queue to the AAOMQLxx member.
- Use the .RESET MQxx BBI control command to pick up the modification.