| Author | 
		  Message
		 | 
		
		  | MVO | 
		  
		    
			  
				 Posted: Mon Oct 04, 2004 5:35 pm    Post subject: WBI 5.0 Message flows migration - multiple errors | 
				     | 
			   
			 
		   | 
		
		
		    Centurion
 
 Joined: 09 Sep 2001 Posts: 131
  
  | 
		  
		    
			  
				Hi,
 
 
We've just migrated to WBI 5.0 from WMQI 2.1
 
 
Most message flows, after migration, have errors e.g. Filter nodes, WHILE loop in Compute nodes, database statements in Compute nodes.
 
 
Any idea ?
 
 
Thanks | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | kirani | 
		  
		    
			  
				 Posted: Mon Oct 04, 2004 10:36 pm    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Jedi Knight
 
 Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA 
  | 
		  
		    
			  
				Do you have atleast FP1 installed for WBIMB? What errors are you receiving during migration? Can you post sample error messages here? Look at the migration log file for more detailed info on the errors. _________________ 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 | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | MVO | 
		  
		    
			  
				 Posted: Tue Oct 05, 2004 5:18 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Centurion
 
 Joined: 09 Sep 2001 Posts: 131
  
  | 
		  
		    
			  
				We have WBI 5.0 FP4 installed, CM running on Win2000.
 
 
Some of the errors (Message broker toolkit):
 
1) Compute node:
 
Unresolvable database table reference D.COL1
 
Unresolvable database table reference Database.TABLE1
 
 
I have this ESQL statement in my compute node:
 
set OutputRoot.XML.Reference=(select D.COL1 from Database.TABLE1 as D) | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | JT | 
		  
		    
			  
				 Posted: Tue Oct 05, 2004 5:39 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Padawan
 
 Joined: 27 Mar 2003 Posts: 1564 Location: Hartford, CT. 
  | 
		  
		    
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | MVO | 
		  
		    
			  
				 Posted: Fri Oct 08, 2004 9:18 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Centurion
 
 Joined: 09 Sep 2001 Posts: 131
  
  | 
		  
		    
			  
				Thanks for the info.  I've realized that some ESQL syntax has changed e.g. LOOP, WHILE with label now required END with label name, CASE now terminates with END CASE (was CASE.... END in WMQI2.1).
 
 
However, what is wrong with this ESQL ?
 
 
set Environment.Variables.WIP.data=
 
case INtran
 
  when 'A1' then
 
    case Environment.Variables.INval.D1
 
      when 1 then Environment.Variables.INval.D1value
 
      else Environment.Variables.INval.D1a
 
    end case
 
  when 'A2' then
 
    case Environment.Variables.INval.D2
 
      when 1 then Environment.Variables.INval.D2value
 
      else Environment.Variables.INval.D2a
 
    end case
 
end case;
 
 
Thanks | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | JT | 
		  
		    
			  
				 Posted: Fri Oct 08, 2004 11:52 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Padawan
 
 Joined: 27 Mar 2003 Posts: 1564 Location: Hartford, CT. 
  | 
		  
		    
			  
				I think you're confusing the CASE statement with the CASE function. In your context, you're using the CASE function, which doesn't require an END CASE;, just and END;. 
 
 
Check them out to discern the differences. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | MVO | 
		  
		    
			  
				 Posted: Fri Oct 08, 2004 12:04 pm    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Centurion
 
 Joined: 09 Sep 2001 Posts: 131
  
  | 
		  
		    
			  
				OK, I removed CASE from END CASE as follows:
 
 
set Environment.Variables.WIP.data= 
 
case INtran 
 
when 'A1' then 
 
case Environment.Variables.INval.D1 
 
when 1 then Environment.Variables.INval.D1value 
 
else Environment.Variables.INval.D1a 
 
end
 
when 'A2' then 
 
case Environment.Variables.INval.D2 
 
when 1 then Environment.Variables.INval.D2value 
 
else Environment.Variables.INval.D2a 
 
end 
 
end; 
 
 
as still have syntax error.
 
 
What's wrong with the statement ?  It always works under WMQI 2.1 | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | JT | 
		  
		    
			  
				 Posted: Fri Oct 08, 2004 1:58 pm    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Padawan
 
 Joined: 27 Mar 2003 Posts: 1564 Location: Hartford, CT. 
  | 
		  
		    
			  
				
   
	| Quote: | 
   
  
	| ...still have syntax error.  | 
   
 
 
What is the exact syntax error. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | MVO | 
		  
		    
			  
				 Posted: Sat Oct 09, 2004 3:28 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Centurion
 
 Joined: 09 Sep 2001 Posts: 131
  
  | 
		  
		    
			  
				Syntax error. Valid options include: identifier - ( + CASE CAST COUNT CURRENT_DATE CURRENT_GMTDATE CURRENT_GMTTIME 
 
CURRENT_GMTTIMESTAMP CURRENT_TIME CURRENT_TIMESTAMP EVAL EXISTS EXTRACT FALSE FOR INTERVAL LOCAL_TIMEZONE 
 
MAX MIN NOT NULL OVERLAY PARSE PASSTHRU POSITION RAND ROW 
 
SELECT SIMPLE_FUNCTION SUBSTRING SUM THE TRIM TRUE UNKNOWN UUIDASBLOB UUIDASCHAR 
 
WHEN | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | kirani | 
		  
		    
			  
				 Posted: Sat Oct 09, 2004 1:07 pm    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Jedi Knight
 
 Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA 
  | 
		  
		    
			  
				I think you cannot use nested case statements. Try this instead,
 
 
   
	| Code: | 
   
  
	
 
declare value1 char;
 
declare value2 char;
 
set value1 = 
 
   case Environment.Variables.INval.D1 
 
      when 1 then Environment.Variables.INval.D1value 
 
      else Environment.Variables.INval.D1a 
 
   end ;
 
 
set value2 = 
 
   case Environment.Variables.INval.D2 
 
      when 1 then Environment.Variables.INval.D2value 
 
      else Environment.Variables.INval.D2a 
 
   end ;
 
 
      
 
set Environment.Variables.WIP.data= 
 
   case INtran 
 
   when 'A1' then value1
 
   when 'A2' then value2
 
                end; 
 
 | 
   
 
 _________________ 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 | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | MVO | 
		  
		    
			  
				 Posted: Tue Oct 12, 2004 5:35 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Centurion
 
 Joined: 09 Sep 2001 Posts: 131
  
  | 
		  
		    
			  
				As I mentioned earlier, the statement always works in WMQI 2.1.  It's too bad that WBI 5.0 no longer supports this, and even worse, it's not documented anywhere !
 
 
I have several message flows with ESQL statements similar to this one.  Anyways, I will make the change as Kirani suggested and see what happens.
 
 
Thanks. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | kirani | 
		  
		    
			  
				 Posted: Tue Oct 12, 2004 10:48 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Jedi Knight
 
 Joined: 05 Sep 2001 Posts: 3779 Location: Torrance, CA, USA 
  | 
		  
		    
			  
				After you confirm that it doesn't work then you can try opening a PMR for this problem. _________________ 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 | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | 
		    
		   |