Author |
Message
|
pandeg |
Posted: Thu Aug 06, 2015 7:44 am Post subject: Not able to find MQRC Reason code |
|
|
Disciple
Joined: 21 Oct 2014 Posts: 195
|
Hi, I want to find out the Reason code for below :
00000000: 444C 4820 0100 0000 0000 0100 4D51 492E I am using the below logic to read the value:
Go to 1 row --> 6 column --> Reading the values in the order 3,4,1,2
I got 0001 and after converting to decimal I am getting the same. Please let me know if this correct. I am not able to find MQRC 0001 Reason code. |
|
Back to top |
|
 |
Vitor |
Posted: Thu Aug 06, 2015 7:53 am Post subject: Re: Not able to find MQRC Reason code |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
pandeg wrote: |
Hi, I want to find out the Reason code for below :
00000000: 444C 4820 0100 0000 0000 0100 4D51 492E |
Where is this emitted from?
pandeg wrote: |
I am using the below logic to read the value:
Go to 1 row --> 6 column --> Reading the values in the order 3,4,1,2 |
How did you arrive at this logic? How did you determine (for example) that 4820 is not a specific endian representation of 2048 and the error is that you're applying persistence to a temporary dynamic queue? _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
pandeg |
Posted: Thu Aug 06, 2015 8:03 am Post subject: Re: Not able to find MQRC Reason code |
|
|
Disciple
Joined: 21 Oct 2014 Posts: 195
|
Quote: |
Where is this emitted from? |
It is emitted from Broker Local Queue. |
|
Back to top |
|
 |
bruce2359 |
Posted: Thu Aug 06, 2015 8:20 am Post subject: Re: Not able to find MQRC Reason code |
|
|
 Poobah
Joined: 05 Jan 2008 Posts: 9469 Location: US: west coast, almost. Otherwise, enroute.
|
pandeg wrote: |
00000000: 444C 4820 0100 0000 0000 0100 4D51 492E |
Next time you post, please include the right-hand end - where 444C 4820 is converted to printable characters.
444C 4820 is 'DLH ' (DLH and a single blank character) - an MQ dead-letter header.
If you examine this with the MQExplorer, it will decode the ReasonCode - if it's an MQ reason-code. In this case, it does not appear to be an MQ-created DLH, and does not contain an MQ Reason-Code.
You will need to look at the broker application that created the DLH to find out what it means. _________________ I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live. |
|
Back to top |
|
 |
Vitor |
Posted: Thu Aug 06, 2015 8:37 am Post subject: Re: Not able to find MQRC Reason code |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
pandeg wrote: |
Quote: |
Where is this emitted from? |
It is emitted from Broker Local Queue. |
Nothing is "emitted" from a queue - messages are put onto a queue.
Where it ended up says nothing about what produced it. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
pandeg |
Posted: Thu Aug 06, 2015 8:50 am Post subject: Re: Not able to find MQRC Reason code |
|
|
Disciple
Joined: 21 Oct 2014 Posts: 195
|
Quote: |
How did you arrive at this logic? How did you determine (for example) that 4820 is not a specific endian representation of 2048 and the error is that you're applying persistence to a temporary dynamic queue? |
I got this logic from some documentation i searched on Google...which is mentioned as below:
To read the messages from DLQ
Go to 1 row --> 5 column --> Read the values in the order 3,4,1,2
eg.:- 0308 will turn into 0803
Convert from Hexa to Decimal using calculator, we will get a unique reason code
To find the error:- mqrc <reason code> |
|
Back to top |
|
 |
tczielke |
Posted: Thu Aug 06, 2015 8:53 am Post subject: |
|
|
Guardian
Joined: 08 Jul 2010 Posts: 941 Location: Illinois, USA
|
Code: |
00000000: 444C 4820 0100 0000 0000 0100 4D51 492E |
To help you with the deciphering of the Reason field:
The above is in a little endian format (since the Version field is x'01000000'), so bytes need to be reversed. As bruce2359 mentioned, it is a DLH structure.
The Reason field = x'00000100'
Byte reversed (due to it being in little endian) is the following:
x'00010000' = 65,536 _________________ Working with MQ since 2010. |
|
Back to top |
|
 |
mqjeff |
Posted: Thu Aug 06, 2015 8:54 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
tczielke wrote: |
x'00010000' = 65,536 |
Which is explicitly a Broker DLQ MQRC value - it's an "application error code".
So, guess what.
Reading the message on the DLQ doesn't really help you figure out why it failed.
Try normal Broker troubleshooting. |
|
Back to top |
|
 |
|