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 » Multiple Compute nodes cauisng error

Post new topic  Reply to topic
 Multiple Compute nodes cauisng error « View previous topic :: View next topic » 
Author Message
pvemuri
PostPosted: Wed Nov 10, 2004 1:52 pm    Post subject: Multiple Compute nodes cauisng error Reply with quote

Voyager

Joined: 05 Jan 2004
Posts: 83
Location: CA, USA

Hello all,
My System: Win XP, WBIMB CSD 4, MQ 5.3 CSD 6, DB2 8.1

I have a simple flow, with two compute nodes in it. When I tryto deploy the flow , I have this error in the even viewer. I have just two statements in the first compute node and a OutputRoot=InputRoot in the second one.

The error :
Code:

( MQSI_BROKER.SVU_EG ) An attempt was made to define the function or procedure 'MAIN' but a function or procedure with this name already exists.   

An attempt was made to define the function or procedure 'MAIN' but a function or procedure with this name already exists. Function and procedure names are case insensitive, occupy the same name space and must be unique regardless of the number or type of their parameters   

Examine and correct the SQL program 


Any idea?
Thanks,
pvemuri
Back to top
View user's profile Send private message Send e-mail
Nizam
PostPosted: Wed Nov 10, 2004 3:20 pm    Post subject: Reply with quote

Disciple

Joined: 10 Feb 2004
Posts: 160

Do you see any errors in your tasks window or in the esql editor?
Back to top
View user's profile Send private message
JT
PostPosted: Wed Nov 10, 2004 5:51 pm    Post subject: Reply with quote

Padawan

Joined: 27 Mar 2003
Posts: 1564
Location: Hartford, CT.

Quote:
An attempt was made to define the function or procedure '<insert_0>' but a function or procedure with this name already exists. Function and procedure names are case insensitive, occupy the same name space and must be unique regardless of the number or type of their parameters

Please post all of your ESQL code here.
Back to top
View user's profile Send private message
kirani
PostPosted: Thu Nov 11, 2004 12:31 am    Post subject: Reply with quote

Jedi Knight

Joined: 05 Sep 2001
Posts: 3779
Location: Torrance, CA, USA

Make sure your Main function in a compute node is spelled correctly.
_________________
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
View user's profile Send private message Visit poster's website
pvemuri
PostPosted: Thu Nov 11, 2004 11:31 am    Post subject: Reply with quote

Voyager

Joined: 05 Jan 2004
Posts: 83
Location: CA, USA

I tried using a single compute node and uncommented the CopyEntireMessage() routine. when I tried to deploy it, the error now is
: InputRoot is not in the scope.

I think there is some thing worng with the parser. It was working fine previously.
Thanks,
pvemuri.
Back to top
View user's profile Send private message Send e-mail
jefflowrey
PostPosted: Thu Nov 11, 2004 11:41 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

pvemuri wrote:
I tried using a single compute node and uncommented the CopyEntireMessage() routine. when I tried to deploy it, the error now is
: InputRoot is not in the scope.

I think there is some thing worng with the parser. It was working fine previously.
Thanks,
pvemuri.


I think there is something wrong with your code, like you are trying to put two Main functions inside the same Compute module.

But since you haven't posted your code, I can't be sure.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
pvemuri
PostPosted: Thu Nov 11, 2004 12:05 pm    Post subject: Reply with quote

Voyager

Joined: 05 Jan 2004
Posts: 83
Location: CA, USA

Jeff,

1. I created a message flow project and a message flow in it
2. I attached a MQInput , Compute and a MQOutput node.
3. The ESQL code

Code:


CREATE COMPUTE MODULE TESTFL_Compute
   CREATE FUNCTION Main() RETURNS BOOLEAN
   BEGIN
      -- CALL CopyMessageHeaders();
         CALL CopyEntireMessage();
      RETURN TRUE;
   END;

   CREATE PROCEDURE CopyMessageHeaders() BEGIN
      DECLARE I INTEGER 1;
      DECLARE J INTEGER CARDINALITY(InputRoot.*[]);
      WHILE I < J DO
         SET OutputRoot.*[I] = InputRoot.*[I];
         SET I = I + 1;
      END WHILE;
   END;

   CREATE PROCEDURE CopyEntireMessage() BEGIN
      SET OutputRoot = InputRoot;
   END;
END MODULE;


4. And I created a BAR file, added my message flow and deployedit onto the default exec group.

5. The error logs :
Quote:

BIP2432E: (.CopyEntireMessage, 2.7) : The correlation name 'OutputRoot' is not valid. Those in scope are: .

The first element of a field reference must be a valid correlation name, from those in scope. This message may sometimes be due to an incorrectly formed or spelled expression which is not intended to be a field reference being parsed as if it were a field reference because the parser does not recognize it.

Correct the syntax of the expression and redeploy the message flow.


Quote:

BIP4121E: Syntax error in SQL statements in compute node 'TESTFL.'.

The configuration of compute node TESTFL. failed due to errors in the SQL expression. See the following messages for details of the error. The statement text was ' CREATE SCHEMA "" CREATE COMPUTE MODULE TESTFL_Compute CREATE FUNCTION Main() RETURNS BOOLEAN BEGIN -- CALL CopyMessageHeaders(); CALL CopyEntireMessage(); RETURN TRUE; END; CREATE PROCEDURE CopyMessageHeaders() BEGIN DECLARE I INTEGER 1; DECLARE J INTEGER CARDINALITY(InputRoot.*[]); WHILE I < J DO SET OutputRoot.*[I] = InputRoot.*[I]; SET I = I + 1; END WHILE; END; CREATE PROCEDURE CopyEntireMessage() BEGIN SET OutputRoot = InputRoot; END; END MODULE; CREATE PROCEDURE CopyEntireMessage() BEGIN SET OutputRoot = InputRoot; END; CREATE FUNCTION Main() RETURNS BOOLEAN BEGIN -- CALL CopyMessageHeaders(); CALL CopyEntireMessage(); RETURN TRUE; END; CREATE PROCEDURE CopyMessageHeaders() BEGIN DECLARE I INTEGER 1; DECLARE J INTEGER CARDINALITY(InputRoot.*[]); WHILE I < J DO SET OutputRoot.*[I] = InputRoot.*[I]; SET I = I + 1; END WHILE; END; '.

The next error message will give specific details of where the error occurred in the statement text. Check the correct syntax for compute node SQL statements in the WebSphere MQ Integrator publications. Correct the statements configuring the node and redeploy the configuration.


Quote:

BIP4041E: Execution group 'default' received an invalid configuration message. See the following messages for details of the error.

The message broker received an invalid configuration message and has not updated its configuration. This can arise as a result of errors in the specification of either message flows or message sets which the configuration manager was unable to detect. It can also result from a message flow requiring a type of node that is not supported by the broker installation, from the broker having become out of step with the configuration database or from other applications sending extraneous messages to the broker's configuration queues (SYSTEM.BROKER.ADMIN.QUEUE & SYSTEM.BROKER.EXECUTIONGROUP.QUEUE).

Check the relevant message flow and message set definitions, check that all necessary plug-ins are installed, perform a complete redeploy of the broker's configuration and ensure that no applications are writing to the broker's configuration queues.
Back to top
View user's profile Send private message Send e-mail
chenulu
PostPosted: Thu Nov 11, 2004 12:19 pm    Post subject: Reply with quote

Voyager

Joined: 27 Mar 2002
Posts: 87
Location: Research Triangle Park, NC

From the error it appears that there is a syntax error. Can you check where the CREATE SCHEMA is coming from? I had cut and pasted your ESQL code into a compute node and it deployed fine. If you still are having ussues, check the contents of the bar file using winzip and examine the contents of the CMF and see what ESQL you have in there.
Back to top
View user's profile Send private message Send e-mail
pvemuri
PostPosted: Thu Nov 11, 2004 12:32 pm    Post subject: Reply with quote

Voyager

Joined: 05 Jan 2004
Posts: 83
Location: CA, USA

chenulu,
I looked into the BAR file read the .cmf file, I can see the CREATE SCHEMA "" in that file. I dont know where it comes from. Also, the CopyEntireMessage() and CopyMessageHeaders() functions appear twice.
No idea about whats going on. Probaly, I have to install MB again.
Thanks,
pvemuri.
Back to top
View user's profile Send private message Send e-mail
bolek
PostPosted: Fri Nov 12, 2004 2:38 am    Post subject: Reply with quote

Apprentice

Joined: 25 Jul 2002
Posts: 35
Location: Germany

pvemuri wrote:
chenulu,
I looked into the BAR file read the .cmf file, I can see the CREATE SCHEMA "" in that file. I dont know where it comes from. Also, the CopyEntireMessage() and CopyMessageHeaders() functions appear twice.
No idea about whats going on. Probaly, I have to install MB again.
Thanks,
pvemuri.


Try to update your Tooling using update manager - install new version of IY62722 (IFix 011), I think it will help !
Back to top
View user's profile Send private message
edtguy
PostPosted: Tue Nov 16, 2004 7:13 am    Post subject: Reply with quote

Novice

Joined: 28 Oct 2004
Posts: 13
Location: Hoboken, NJ, USA

By any chance is this problem releated to Windows XP? My machine was just upgraded to XP and I had to re-install WBI, MQ, DB2. I created a simple message flow: MQInput Node -> Compute Node (uncomment CopyEntireMessage) -> MQOutput Node. I created a bar file & when I tried to deploy it, got the exact same error set as pvemuri.
I took bolek's advice and ran the update manager. There were four items listed, and I installed them all. I restarted the workbench, created a new bar file, but the same error is still occurring. I am going to re-boot my machine just to be sure, but I assume I will get the same result.

-Ed
Back to top
View user's profile Send private message Send e-mail AIM Address Yahoo Messenger
edtguy
PostPosted: Tue Nov 16, 2004 7:50 am    Post subject: Reply with quote

Novice

Joined: 28 Oct 2004
Posts: 13
Location: Hoboken, NJ, USA

I stand corrected!
After installing the WBI upgrades, I rebooted my machine. When I restarted the workbench, I ran the Help->Software Updates->New Updates option to confirm that I was completely up to date, which I am. I deleted all my existing projects, created a new simple message flow and corresponding bar file. This time, the bar file deploys successfully.
Apparently, restarting just the workbench without rebooting the computer is not enough.
Cheers,
Ed
Back to top
View user's profile Send private message Send e-mail AIM Address Yahoo Messenger
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Multiple Compute nodes cauisng error
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.