Enabling the Dead Letter Queue solution Rules
To make the DLQ solution work, you must to select and modify the DLQ solution Rules and also, select and modify the EXEC parameters that the DLQ solution Rule-initated EXEC invokes.
The DLQ solution uses the Rules MQDEDQ04 and MQDEDQ05 to specify input parameters to the solution and the Rules fire when they detect the QA6033I journal message that is issued when BMC AMI Ops Automation for MQ connects to the queue manager.
To enable the Dead Letter Queue solution Rules
In the Action: Set Variables - JRNL panel, replace the values XXX, YYY and ZZZ with the names of the queue managers that will have automated Dead Letter Queue handling (see Specifying retry intervals).
BMC Software -------- Action: Set Variables - JRNL -------------- BMC AMI OpsA
COMMAND ===> TGT --- JB74
Rule-set === AAORULBQ Rule-id === MQDEDQ04
Target ===> _________________________________
Variable Name Variable Value
BMCAO_DLQ_QMGRS__________________ XXX YYY ZZZ________________________________
_________________________________ ___________________________________________
_________________________________ ___________________________________________
_________________________________ ___________________________________________
_________________________________ ___________________________________________
_________________________________ ___________________________________________
_________________________________ ___________________________________________
_________________________________ ___________________________________________
_________________________________ ___________________________________________
_________________________________ ___________________________________________
--> ATTENTION: Use AAV command to use Advanced Set Variables panel <--
Press ENTER to continue, END return to Detail Control, CANCEL to cancel changesDefine the interval at which the DLQ solution will attempt to retry placing the messages onto their destination queue (see MDEDQ06 Rule Processor Detail Control panel-example 1). The default value is 60.
BMC Software -------- Action: Set Variables - JRNL -------------- BMC AMI OpsA
COMMAND ===> TGT --- JB71
Rule-set === AAORULBQ Rule-id === MQDEDQ04
Variable Name Variable Value
1) BMCAO_DLQ_QMGRS__________________ = XXX YYY ZZZ _____
2) BMCAO_DLQ_RETRY_INTERVAL_________ = 60_______________
3) _________________________________ = _________________
4) _________________________________ = _________________
5) _________________________________ = _________________
6) _________________________________ = _________________
7) _________________________________ = _________________
8) _________________________________ = _________________
9) _________________________________ = _________________
10) _________________________________ = _________________
Press ENTER to continue, END return to Detail Control, CANCEL to cancel changesIn the following Rule, MQDEDQ06 is one of several Rules that the DLQ solution uses to determine what criteria causes the Rule to fire and what actions the Rule takes with the dead letter message.
The Rules also allow you to specify parameters that Rule-initiated EXECs use to select dead letter messages and actions the EXEC takes with the messages. See MDEDQ06 Rule Processor Detail Control panel-example 2 to see an example of the Rule Processor Detail Control panel for the MDEDQ06 Rule.
BMC Software ------------ Rule Processor Detail Control --------- BMC AMI OpsA
COMMAND ===> TGT --- JB71
TIME --- 22:48:33
The following options are displayed in sequence, or may DATE --- YY/MM/DD
be selected by entering the two-character code
S1 - Selection Criteria AV - Set Variable(s)
SV - Variable Dependencies AA - Alert Action(s) I
A1 - Action Specification(s) I AD - Alert Action(s) II
A2 - Action Specification(s) II
Rule ID ===> MQDEDQ06
Event Type ===> MQS Type of event ( ? for list)
Initial Mode ===> DISABLED (ENABLED/DISABLED/TEST)
Criteria match rate threshold:
If matched ===> (Maximum # times matched within INTERVAL, 0-100)
in seconds ===> (Interval length, 1-99999 seconds)
then status ===> (SUSPEND, DISABLE, NOACTION)
Application information:
Group ===> ADMIN Func ===> APPLID Code ===> MQ
Author ===> BMC Desc ===> MANAGE DEAD LETTER QUEUE
Last Modified by BMC1 on 05/10/25 at 16:32On the Selection Criteria panel for the MDEDQ6 Rule, note that the value in the Format field is pre-specified as MQFMT_DEAD_LETTER_HEADER.You can enter a single queue manager name, multiple queue manager names or a generic specification such as CSQ* (see MDEDQ06 Rule Processor Detail Control panel-example 3).
BMC Software ------------- Selection Criteria - MQS ------------ BMC AMI OpsA
COMMAND ===> TGT --- JB71
Rule-set === AAORULBQ Rule-id === MQDEDQ06
Queue Identification: (1 to 12 Queue Managers)
Manager(s) ===> XXXX
Queue Id ===>
Message Identification:
Format ===> MQFMT_DEAD_LETTER_HEADER (Value from MD Format field)
Event Type ===> (Enter ? for help)
Sub Len Op Value
Msgid ===> ___ : ___ __ ____________________________________________
CorrelId ===> ___ : ___ __ ____________________________________________
Msg Buffer ===> ___ : ___ __ ____________________________________________
___________________
Press ENTER to continue, END return to Detail Control, CANCEL to cancel changesOn the Variable Dependencies panel (see MDEDQ06 Rule Processor Detail Control panel-example 4), that the variable IMFQ_MD_APPLIDENTITYDATA is pre-specified to select the dead letter messages that are eligible to cause this Rule to fire and invoke the DLQ solution.Change YOUR_DATA to specify the values that match data from the messages you want automated with the DLQ solution.
BMC Software ------------ Variable Dependencies - MQS ---------- BMC AMI OpsA
COMMAND ===> TGT --- JB71
Rule-set === AAORULBQ Rule-id === MQDEDQ06
OR/
Variable-name Op Variable-Value AND
IMFQ_MD_APPLIDENTITYDATA________ EQ YOUR_DATA__________________________ ___
________________________________ __ ___________________________________ ___
________________________________ __ ___________________________________ ___
________________________________ __ ___________________________________ ___
________________________________ __ ___________________________________ ___
________________________________ __ ___________________________________ ___
________________________________ __ ___________________________________ ___
________________________________ __ ___________________________________ ___
________________________________ __ ___________________________________ ___
________________________________ __ ___________________________________ ___
________________________________ __ ___________________________________ ___
________________________________ __ ___________________________________ ___
________________________________ __ ___________________________________
Press ENTER to continue, END return to Detail Control, CANCEL to cancel changesThere are several additional Rules included in the DLQ solution and each contains a unique message attribute that the Rule uses to select messages that the LDLQ solution will process. The complete list of Rules and their pre-specified values are:
Rule name
Pre-defined variable value
MQDEDQ06
IMFQ_MD_APPLIDENTITYDATA
MQDEDQ07
IMFQ_MD_PUTAPPLNAME
MQDEDQ08
IMFQ_MD_PUTAPPLTYPE
MQDEDQ09
IMFQ_DLH_DESTQNAME
MQDEDQ10
IMFQ_DLH_DESTQMGRNAME
MQDEDQ11
IMFQ_DLH_FEEDBACK
MQDEDQ12
IMFQ_DLH_FORMAT
MQDEDQ13
IMFQ_MD_MSGTYPE
MQDEDQ14
IMFQ_MD_PERSISTENCE
MQDEDQ15
IMFQ_DLH_REASON
MQDEDQ16
IMFQ_MD_REPLYTOQ
MQDEDQ17
IMFQ_MD_REPLYTOQMGR
MQDEDQ18
IMFQ_MD_USERIDENTIFIER
You do not have use a separate Rule for each of these selection criteria variable values. You can combine up to a maximum of 13 variables on the Variable Dependencies panel for a single Rule.
On the Action Specification panel, specify the name of the EXEC that the Rule invokes and specify any parameters that the Rule will pass tot he EXEC.
BMC Software ---------- Action Specification(s) I - MQS -------- BMC AMI OpsA
COMMAND ===> TGT --- JB71
Rule-set === AAORULBQ Rule-id === MQDEDQ06
Automation Actions:
Journal ===>
* Exec Name/Parms ==> QMQDEDQ3 AD()
* Cmd(Type MQ ) ===>
* Issue Msg( WTO ) =>
POST Target ===>
POST ID ===>
POST Parms ===>
MQ Automation Actions:
Keep Message ===> YES (Yes or NO) Remove DLH ===> (Yes or No)
Destination Que ===>
Destination QMgr ===>
* Enter a question mark(?) and blank in any field on the line for more options.
Press ENTER to continue, END return to Detail Control, CANCEL to cancel changesThe Action Specification panel above shows the invocation of DLQ Solution Exec QMQDEDQ3. The single parameter AD() indicates that selection is by the ApplIdentityData field of the Message Descriptor. If you were to use this parameter, you would add the actual ApplIdentityData value to use. This is the same value that you used on the Variable Dependency panel.