Remove Nonprogram Messages (QMHRMVM) API


  Required Parameter Group:

1 Qualified message queue name Input Char(20)
2 Message key Input Char(4)
3 Messages to remove Input Char(10)
4 Error code I/O Char(*)

  Optional Parameter Group:

5 Allow default reply rejection Input Char(10)

  Default Public Authority: *USE

  Threadsafe: Yes

The Remove Nonprogram Messages (QMHRMVM) API removes messages from nonprogram message queues. The removed instances of the messages are no longer available for you to work with. However, other instances of the messages might still exist in other message queues, and the definitions of predefined messages are still in the message files.

You can use this API to remove a single message or a group of messages from a message queue, or to clear a message queue of all messages except unanswered inquiries.

To remove messages from program message queues, see Remove Program Messages (QMHRMVPM) API.


Authorities and Locks

Message Queue Authority
*OBJOPR and *DLT
Message Queue Library Authority
*EXECUTE

Required Parameter Group

Qualified message queue name
INPUT; CHAR(20)

The name of the message queue from which to remove messages, and the library in which it resides. The first 10 characters specify the message queue, and the second 10 characters specify the library.

You can use these special values for the library name:

*CURLIB The job's current library
*LIBL The library list

Message key
INPUT; CHAR(4)

If the messages to remove parameter specifies *BYKEY, the key to the single message being removed. The key is assigned by the command or API that sends the message.

If the messages to remove parameter does not specify *BYKEY, use blanks for this parameter.

Messages to remove
INPUT; CHAR(10)

The message or group of messages being removed. Valid values follow:

*ALL All messages in the message queue.
*BYKEY The single message specified in the message key parameter.
*KEEPUNANS All messages in the message queue except unanswered inquiry and unanswered senders' copy messages.
*NEW All new messages in the message queue. New messages are those that have not been received.
*OLD All old messages in the message queue. Old messages are those that have already been received.

Error code
I/O; CHAR(*)

The structure in which to return error information. For the format of the structure, see Error code parameter.


Optional Parameter Group

Allow default reply rejection
INPUT; CHAR(10)

Removing an unanswered inquiry causes the default reply to be sent to the inquiry message. This value indicates whether a reply handling exit program will be allowed to reject a default reply that is sent as a result of using this function. A reply handling exit program can be registered via the system registration facility for exit point QIBM_QMH_REPLY_INQ. If the parameter is not specified, a value of *NO is used. Valid values are:

*NO A reply handling exit program will not be allowed to reject a default reply.
*YES A reply handling exit program will be allowed to reject a default reply. If an exit program rejects the reply, a CPD2476 (Reply rejected by a reply handling exit program) will be sent as a diagnostic message to the program using this function. The CPD2476 will be followed by a CPF2422 (Reply not valid) escape message that the program using this function should monitor for to handle and recover from error situations.

Error Messages

Message ID Error Message Text
CPF24AE E Message key and messages to remove are mutually dependent.
CPF24A6 E Value for messages to remove not valid.
CPF24B4 E Severe error while addressing parameter list.
CPF2401 E Not authorized to library &1.
CPF2403 E Message queue &1 in &2 not found.
CPF2408 E Not authorized to message queue &1.
CPF2410 E Message key not found in message queue &1.
CPF2422 E Reply not valid.
CPF2450 E Work station message queue &1 not allocated to job.
CPF2451 E Message queue &1 is allocated to another job.
CPF2477 E Message queue &1 currently in use.
CPF3CF1 E Error code parameter not valid.
CPF3C3A E Value for parameter &2 for API &1 not valid.
CPF3C36 E Number of parameters, &1, entered for this API was not valid.
CPF3C90 E Literal value cannot be changed.
CPF8127 E &8 damage on message queue &4 in &9. VLIC log-&7.
CPF8176 E Message queue for device description &4 damaged.
CPF9830 E Cannot assign library &1.
CPF9838 E User profile storage limit exceeded.
CPF9872 E Program or service program &1 in library &2 ended. Reason code &3.


API introduced: V2R1.1

[ Back to top | Message Handling APIs | APIs by category ]