Author |
Message
|
andrewhirst |
Posted: Thu Jan 27, 2005 6:24 am Post subject: Unable to write to ApplIdentityData field |
|
|
 Apprentice
Joined: 06 Jul 2004 Posts: 33 Location: UK
|
Hello,
I'm trying to copy the ReplyToQ and ReplyToQMgr in to the ApplIdentityData field to be used later, but all I get is a space padded string. I've tried hard coding it, with the same result. This is the code in the compute node:
Code: |
SET OutputRoot = InputRoot;
-- Enter SQL below this line. SQL above this line might be regenerated, causing any modifications to be lost.
-- SET OutputRoot.MQMD.ApplIdentityData = TRIM(InputRoot.MQMD.ReplyToQ)||'&'||TRIM(InputRoot.MQMD.ReplyToQMgr);
SET OutputRoot.MQMD.ApplIdentityData = 'Q.ISR.VEH.DET.RPLY&GB30652D1';
SET OutputRoot.MQMD.ReplyToQMgr = 'QSXGWP01';
SET OutputRoot.MQMD.ReplyToQ = 'Q.ISR.VEHICLE.DETAIL.REPLY';
|
The trace reports this:
Code: |
Assigning value ''Q.ISR.VEH.DET.RPLY&GB30652D1'' to field / variable 'OutputRoot.MQMD.ApplIdentityData'.
|
But the ApplIdentityData field is full of spaces:
Code: |
ReplyToQ : 'Q.ISR.VEHICLE.DETAIL.REPLY '
ReplyToQMgr : 'QSXGWP01 '
** Identity Context
UserIdentifier : 'andrew.hirst'
AccountingToken :
X'16010515000000D931F8424D64492E828BA628620B000000000000000000000B'
ApplIdentityData : ' '
** Origin Context
PutApplType : '11'
PutApplName : 'C:\WINNT\system32\mmc.exe'
PutDate : '20050127' PutTime : '13445237'
ApplOriginData : ' '
GroupId : X'000000000000000000000000000000000000000000000000'
|
Any ideas anyone?
Many thanks in advance.
Andrew. _________________ Andrew Hirst |
|
Back to top |
|
 |
JT |
Posted: Thu Jan 27, 2005 8:53 am Post subject: |
|
|
Padawan
Joined: 27 Mar 2003 Posts: 1564 Location: Hartford, CT.
|
If you alter the ApplIdentityData parameter, you need to also ensure that "set identity" is selected as the message context, under the Advanced tab of the MQOuput node.
Also, be aware that the ApplIdentityData field is only 32 characters in length. |
|
Back to top |
|
 |
kirani |
Posted: Fri Jan 28, 2005 12:28 am Post subject: |
|
|
Jedi Knight
Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA
|
Using "Set Identity" on MQOutput node could change some of your MQMD felds.
Search for "Identity" in this forum to find related post. _________________ Kiran
IBM Cert. Solution Designer & System Administrator - WBIMB V5
IBM Cert. Solutions Expert - WMQI
IBM Cert. Specialist - WMQI, MQSeries
IBM Cert. Developer - MQSeries
|
|
Back to top |
|
 |
andrewhirst |
Posted: Fri Jan 28, 2005 1:58 am Post subject: |
|
|
 Apprentice
Joined: 06 Jul 2004 Posts: 33 Location: UK
|
Intetresting.....
But how does a property of the MQOutput node affect the Compute node.
BTW, I'm using WMQI 2.1. _________________ Andrew Hirst |
|
Back to top |
|
 |
mqmhr |
Posted: Fri Jan 28, 2005 2:33 am Post subject: |
|
|
Centurion
Joined: 28 Dec 2004 Posts: 105
|
Am also trying understand this, I do not think the "Set Identity Context" of the Output Node is "affecting your Compute Node" in any way. Rather it is affecting the descriptor of the message that is output by the MQOutput Node.
Since the ApplIdentityData is one of the three fields belonging to the identity context of the message, a change to this field value will not take effect unless the put is issued with "MQPMO_SET_IDENTITY_CONTEXT". This option to MQPMO is internally set when the checkbox "Set Identity Context" is checked in the MQOutput Node.
Masters, kindly validate a newbie's understanding. |
|
Back to top |
|
 |
andrewhirst |
Posted: Fri Jan 28, 2005 6:52 am Post subject: Bingo! |
|
|
 Apprentice
Joined: 06 Jul 2004 Posts: 33 Location: UK
|
That works (not that I ever doubted it).
I's like to know why. I assume that, within a message flow, certain properties are not restricted to the node in which they are set.
Many thanks. _________________ Andrew Hirst |
|
Back to top |
|
 |
EddieA |
Posted: Fri Jan 28, 2005 10:10 am Post subject: |
|
|
 Jedi
Joined: 28 Jun 2001 Posts: 2453 Location: Los Angeles
|
Quote: |
it is affecting the descriptor of the message that is output by the MQOutput Node. |
Absolutely correct.
Quote: |
I assume that, within a message flow, certain properties are not restricted to the node in which they are set |
I'm not sure what you mean by that. But it's only at the Output Node, that certain properties are "acted" upon. There's a lot you can do in a Compute node that can cause a message to be invalid, or have conflicting properties, and these can then flow through a number of other Compute nodes without problems. It's only when the message is serialised that they would be picked up as errors.
Cheers, _________________ Eddie Atherton
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0 |
|
Back to top |
|
 |
|