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 |
|
 |
|