Enabling the Dead Letter Queue solution Rules


The following section describes the Rules that are delivered as part of the DLQ solution and how to configure them.

You can choose to not use these Rules and can create your own Rules. If you choose to create your own Rules, BMC strongly advises that you save these Rules a Rule Set other than the AAORULBQ Rule Set because when you apply BMC AMI Ops Automation maintenance, user-specified in AAORULBQ Rules will be deleted.

Tip

If you choose to store your own DLQ Rules in the Rule Set AAORULBQ, you must remember to create a back up copy of the Rule Set which is described in step 4 in Implementing-the-Dead-Letter-Queue-solution prior to applying any maintenance.

In addition, the Rules in Rule Set AAORULBQ are initially set to DISABLED. When you update the Rules that you want to use, you must remember to set the Rule(s) to ENABLED.

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

Important

The following steps show examples of the action specification panel settings for the MQDEDQ04 and MQDEDQ05 Rules.

  1. 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).

    Important

    If there is not enough room for all the queue manager names on this panel, you can create a SHARED variable with all of the queue names, and specify the variable name in the field, prefixed by an ampersand (&).


    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 changes
  2. Define 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 changes

    In 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:32

    Important

    MDEDQ06 Rule Processor Detail Control panel-example 2 shows the MQDEDQ06 Rule as DISABLED in the Initial Mode field. After you have modified this Rule to meet your criteria as described in the procedure, you must remember to change the status of the Rule to ENABLED.

  3. On 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 changes
  4. On 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 changes

    There 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.

    Important

    You are not required to use any of these variables on the Variable Dependencies panel.

    For example, you can specify that the Rule selects all dead letter messages regardless of the message attributes by leaving the variable dependency panel blank and then specify on the parameters for which messages to process with parameters in the Rule-initiated EXEC QMEDEDQ3 on the Action Specification panel.

    Refer to Rules and their pre-specified values for an example of parameter specifications you can choose for the QMEDEDQ3 EXEC.

  5. 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 changes

    The 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.



 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*