ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Exception with REFERENCE pointing InputRoot.MRM....

Post new topic  Reply to topic
 Exception with REFERENCE pointing InputRoot.MRM.... « View previous topic :: View next topic » 
Author Message
mqxplorer
PostPosted: Sun Sep 06, 2009 9:08 pm    Post subject: Exception with REFERENCE pointing InputRoot.MRM.... Reply with quote

Master

Joined: 22 Jun 2009
Posts: 206

Hi All,

We are uisng WMB V6.1.

I am facing some problem with REFERENCE pointing InputRoot.MRM or child elements of MRM.

DECLARE RefInfo REFERENCE TO InputRoot.MRM.MR46TR_PERSON_INFO[CTR].MR46TR_PERSON_INFORMATION;

Below MR46TR_PERSON_INFORMATION we have some child elements, when I am debugging the flow, when the control comes onto the DECLARE statement, Iam getting an exception. The exception list shows me a different error (An error with the IF statement under the DECLARE statement).

The IF statement under DECLARE statement is as below:

IF TRIM( RefInfo.MR46TR_PERSON_RESIDENCE_INFO.MR46TR_HOUSE_NUMBER ) <> ' ' THEN
However, the error (exception) I am getting is :

Error detected whilst executing the SQL statement ''IF TRIMBOTH(BOTH FROM RefInfo.MR46TR_PERSON_RESIDENCE_INFO.MR46TR_HOUSE_NUMBER) <> ' ' THEN... END IF;''

I don't really understand why I am getting this error.

When I replace the "RefInfo" part with "InputRoot.MRM.MR46TR_PERSON_INFO[CTR].MR46TR_PERSON_INFORMATION" in the ESQL file, I am not getting any exceptions, I am able to go ahead wth the debugging of my flow witout being stopped anywhere. I am not sure where I am going wrong. As REFERENCE enhances the flow performance, I am not intersted to replace the refernce varaible with the whole tree structure. Could someone explain me where I am going wrong? I have tried different possible ways, however, I could not get rid of this error.

Any help would be appreciated.

Thanks in advance.
Back to top
View user's profile Send private message
WMBDEV1
PostPosted: Mon Sep 07, 2009 1:03 am    Post subject: Reply with quote

Sentinel

Joined: 05 Mar 2009
Posts: 888
Location: UK

It seems you're missing the poignant parts of the error message.

Run a user trace in debug mode and include the error messages that are also generated with this failure.
Back to top
View user's profile Send private message
mqxplorer
PostPosted: Mon Sep 07, 2009 9:36 am    Post subject: Reply with quote

Master

Joined: 22 Jun 2009
Posts: 206

Hi WMBDEV1,

Thanks for your reply.

Here is my code where I am getting the exception:

Code:
SET COUNTER= 1;

      WHILE COUNTER <= InputRoot.MRM.MT568KK_MR46TR_CNT DO
          
             
          DECLARE RefInfo REFERENCE TO InputRoot.MRM.MR46TR_PERSON_INFO[COUNTER].MR46TR_PERSON_INFORMATION;

IF TRIM (RefInfo.MR46TR_PERSON_RESIDENCE_INFO.MR46TR_HOUSE_NUMBER) <> ' ' THEN

Do some operations.. END IF;

After running user trace, I got the error message for the above code and I am posting that here (Posting the whole trace will be too lengthy..)

Trace:

Code:
Executing statement   ''SET COUNTER = 1;'' at ('.CBL_TO_XML_TRANSFORM.ProducePkg', '803.7').
2009-09-07 12:17:23.183631     3716   UserTrace   BIP2537I: Node 'WESPAK_CBL_TO_XML_TRANSFORM_REPLY_MSGFLOW.CBL_TO_XML_TRANSFORM': Executing statement   ''WHILE COUNTER <= InputRoot.MRM.MT568KK_MR46TR_CNT DO ... END WHILE;'' at ('.CBL_TO_XML_TRANSFORM.ProducePkg', '805.7').

Code:
2009-09-07 12:17:24.822044     3716   UserTrace   BIP2539I: Node 'WESPAK_CBL_TO_XML_TRANSFORM_REPLY_MSGFLOW.CBL_TO_XML_TRANSFORM': Evaluating expression ''COUNTER'' at ('.CBL_TO_XML_TRANSFORM.ProducePkg', '805.13'). This resolved to ''COUNTER''. The result was ''1''.

Code:
2009-09-07 12:17:24.822168     3716   UserTrace   BIP2539I: Node 'WESPAK_CBL_TO_XML_TRANSFORM_REPLY_MSGFLOW.CBL_TO_XML_TRANSFORM': Evaluating expression ''InputRoot.MRM.MT568KK_MR46TR_CNT'' at ('.CBL_TO_XML_TRANSFORM.ProducePkg', '805.20'). This resolved to ''InputRoot.MRM.MT568KK_MR46TR_CNT''. The result was ''1''.
Code:
2009-09-07 12:17:24.822189     3716   UserTrace   BIP2539I: Node 'WESPAK_CBL_TO_XML_TRANSFORM_REPLY_MSGFLOW.CBL_TO_XML_TRANSFORM': Evaluating expression ''COUNTER <= InputRoot.MRM.MT568KK_MR46TR_CNT'' at ('.CBL_TO_XML_TRANSFORM.ProducePkg', '805.13'). This resolved to ''1 <= 1''. The result was ''TRUE''.

Code:
2009-09-07 12:17:24.822237     3716   UserTrace   BIP2537I: Node 'WESPAK_CBL_TO_XML_TRANSFORM_REPLY_MSGFLOW.CBL_TO_XML_TRANSFORM': Executing statement   ''DECLARE RefInfo REFERENCE TO InputRoot.MRM.MR46TR_PERSON_INFO[COUNTER].MR46TR_PERSON_INFORMATION;'' at ('.CBL_TO_XML_TRANSFORM.ProducePkg', '808.9').

Code:
2009-09-07 12:17:26.415109     3716   UserTrace   BIP2539I: Node 'WESPAK_CBL_TO_XML_TRANSFORM_REPLY_MSGFLOW.CBL_TO_XML_TRANSFORM': Evaluating expression ''COUNTER'' at ('.CBL_TO_XML_TRANSFORM.ProducePkg', '808.74'). This resolved to ''COUNTER''. The result was ''1''.
Code:
2009-09-07 12:17:26.415229     3716   UserTrace   BIP2537I: Node 'WESPAK_CBL_TO_XML_TRANSFORM_REPLY_MSGFLOW.CBL_TO_XML_TRANSFORM': Executing statement   ''IF TRIMBOTH(BOTH FROM RefInfo.MR46TR_PERSON_RESIDENCE_INFO.MR46TR_HOUSE_NUMBER) <> ' ' THEN... END IF;'' at ('.CBL_TO_XML_TRANSFORM.ProducePkg', '812.13').

Code:
2009-09-07 12:17:30.169473     3716   Error       BIP2628E: Exception condition detected on input node 'WESPAK_CBL_TO_XML_TRANSFORM_REPLY_MSGFLOW.MYINPUTQUEUE'.
                                       The input node 'WESPAK_CBL_TO_XML_TRANSFORM_REPLY_MSGFLOW.MYINPUTQUEUE' detected an error whilst processing a message.  The message flow has been rolled-back and, if the message was being processed in a unit of work, it will remain on the input queue to be processed again.  Following messages will indicate the cause of this exception.
                                       Check the error messages which follow to determine why the exception was generated, and take action as described by those messages.
2009-09-07 12:17:30.169506     3716   RecoverableException  BIP2230E: Error detected whilst processing a message in node 'WESPAK_CBL_TO_XML_TRANSFORM_REPLY_MSGFLOW.CBL_TO_XML_TRANSFORM'.
                                       The message broker detected an error whilst processing a message in node 'WESPAK_CBL_TO_XML_TRANSFORM_REPLY_MSGFLOW.CBL_TO_XML_TRANSFORM'. An exception has been thrown to cut short the processing of the message.
                                       See the following messages for details of the error.
Code:
2009-09-07 12:17:30.169515     3716   RecoverableException  BIP2488E:  ('.CBL_TO_XML_TRANSFORM.Main', '135.2') Error detected whilst executing the SQL statement ''ProducePkg();''.
                                       The message broker detected an error whilst executing the given statement. An exception has been thrown to cut short the SQL program.
                                       See the following messages for details of the error.

Code:
2009-09-07 12:17:30.169525     3716   RecoverableException  BIP2934E: Error detected whilst executing the function or procedure ''ProducePkg''.
                                       The message broker detected an error whilst executing the function or procedure ''ProducePkg''. An exception has been thrown to cut short the processing of the message.
                                       See the following messages for details of the error.
Code:
2009-09-07 12:17:30.169534     3716   RecoverableException  BIP2488E:  ('.CBL_TO_XML_TRANSFORM.ProducePkg', '812.13') Error detected whilst executing the SQL statement ''IF TRIMBOTH(BOTH FROM RefInfo.MR46TR_PERSON_RESIDENCE_INFO.MR46TR_HOUSE_NUMBER) <> ' ' THEN... END IF;''.
                                       The message broker detected an error whilst executing the given statement. An exception has been thrown to cut short the SQL program.
                                       See the following messages for details of the error.
Code:
2009-09-07 12:17:30.169731     3716   RecoverableException  BIP2334W: Unable to resolve union for the '1' child of element ''(0x01000013:Name+):MR46TR_PERSON_RESIDENCE_INFO''. Additional diagnostic information is '9be0520'
                                       An incoming message contained a union which was neither resolved by the message's tagging nor by the accesses made by SQL statements. Either the message was of an unexpected type or there is an error in the SQL. See earlier messages for details of the node in which this error occurred and the action taken as a result.
                                       Check that the incoming messages are of the correct type and that the logic of the SQL of the node in which the error occurred
Code:
2009-09-07 12:17:31.298082     3716   UserTrace   BIP2631I: Backed out message being propagated to failure terminal; node 'WESPAK_CBL_TO_XML_TRANSFORM_REPLY_MSGFLOW.MYINPUTQUEUE'.
                                       Node 'WESPAK_CBL_TO_XML_TRANSFORM_REPLY_MSGFLOW.MYINPUTQUEUE' has received a message which has previously been backed out because of a processing error in the message flow.  The MQMD 'backoutCount' of the message exceeds (or equals) the 'backoutThreshold' defined for the WebSphere MQ input queue.  The message broker is propagating the message to the failure terminal of the node.
                                       Examine the other messages and the message flow to determine why the message is being backed out.  Correct this situation if possible.  Perform any local error recovery processing required.


END Trace:

I am really wondering where this TRIMBOTH has come into picture when I have just TRIM(..) ...

As soon as my cursor comes onto the DECALRE statement and when I try to 'step into' the code, it just raises an exception.

Would it be possible for you to explain me the reason why I am getting the exception I posted, based on the info I have provided?

Thanks in advance.

Thanks


Last edited by mqxplorer on Mon Sep 07, 2009 11:11 am; edited 1 time in total
Back to top
View user's profile Send private message
kimbert
PostPosted: Mon Sep 07, 2009 10:56 am    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Polite request: Please use [code] tags when you post source code or trace output. It makes it *so* much more readable for the rest of us.
You should be able to edit that post and add the tags now...
Back to top
View user's profile Send private message
mqxplorer
PostPosted: Mon Sep 07, 2009 11:14 am    Post subject: Reply with quote

Master

Joined: 22 Jun 2009
Posts: 206

Hi Kimbert,

Thanks for your suggestion. I followed your suggestion and edited my post. Is this OK?

Thanks
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Mon Sep 07, 2009 1:33 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

mqxplorer wrote:
SET COUNTER= 1;

WHILE COUNTER <= InputRoot.MRM.MT568KK_MR46TR_CNT DO


DECLARE RefInfo REFERENCE TO InputRoot.MRM.MR46TR_PERSON_INFO[COUNTER].MR46TR_PERSON_INFORMATION;

IF TRIM (RefInfo.MR46TR_PERSON_RESIDENCE_INFO.MR46TR_HOUSE_NUMBER) <> ' ' THEN

Do some operations.. END IF;


Not a good use of the reference... Let me show you a better one...
Code:
SET COUNTER= 1;
  Declare RefInfo Reference to InputRoot.MRM.MR46TR_PERSON_INFO[COUNTER].MR46TR_PERSON_INFORMATION;

      WHILE (COUNTER <= InputRoot.MRM.MT568KK_MR46TR_CNT  and Lastmove(RefInfo)) DO
         
IF TRIM (RefInfo.MR46TR_PERSON_RESIDENCE_INFO.MR46TR_HOUSE_NUMBER) <> ' ' THEN

Do some operations.. END IF;
MOVE RefInfo next sibling keep type name;
SET counter = counter + 1;
ENDWHILE


Note that it also checks the value of lastmove(RefInfo) for each loop including the first one and last one.

Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
kimbert
PostPosted: Mon Sep 07, 2009 1:56 pm    Post subject: Reply with quote

Jedi Council

Joined: 29 Jul 2003
Posts: 5542
Location: Southampton

Much nicer - thanks for that.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Exception with REFERENCE pointing InputRoot.MRM....
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.