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 » SELECT STATEMENT

Post new topic  Reply to topic
 SELECT STATEMENT « View previous topic :: View next topic » 
Author Message
LearnMQSI
PostPosted: Thu Dec 02, 2004 9:48 am    Post subject: SELECT STATEMENT Reply with quote

Centurion

Joined: 20 Aug 2002
Posts: 137

Hi Folks,

Can somebody explain me the following SELECT Statement within
IF L1 <> oldL
condition
end if;

I need to know what exactly happening in SELECT Statement. Thanx a bunch in advance


Current Values in variables:
DECLARE ABC CHARACTER;
DECLARE XYZ CHARACTER;
DECLARE CON CHARACTER;
DECLARE DEF CHARACTER;
DECLARE V1 CHARACTER;

DECLARE refin REFERENCE TO "OutputRoot"."MRM"."TMP"."FIN"[1];
DECLARE refout REFERENCE TO "OutputRoot"."MRM"."TMPO"."FIN"[1];

SET ABC = 'DSF';
SET XYZ = 'DS';
SET CON = 'DSF';
SET L1 = 'FSD';
SET oldL1 = ' ';
SET DEF = 'N';

IF ABC = 'Temp' THEN
SET V1 = TRIM(' ' FROM DEF);
ELSE
IF XYZ = 'V' THEN
SET V1 = "Outpput"."MRM"."P"."V".{CAST(TRIM(' ' FROM ABC) AS
CHAR)};
ELSE
IF L1 <> oldL1 THEN
SET V1 = THE (SELECT ITEM T.{CAST(TRIM(' ' FROM ABC)
AS CHAR)} FROM "OutputRoot"."MRM"."P"."V".{CAST( TRIM(' '
FROM XYZ) AS CHAR)}[] AS T WHERE T.{CAST(TRIM(' ' FROM
CON) AS CHAR)} = L1);
ELSE
SET V1 = NULL;
END IF;
END IF;
Back to top
View user's profile Send private message
JT
PostPosted: Thu Dec 02, 2004 1:20 pm    Post subject: Reply with quote

Padawan

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

Reviewing the code as you provided it, and after all the substitutions have been made, the SELECT statement translates to:
Code:
SET V1  =  SELECT ITEM T.DSF FROM OutputRoot.MRM.P.V.DS[] AS T WHERE T.DSF = 'FSD'

....so V1 is set to 'FSD'.

The first condition: IF ABC = 'Temp' returns FALSE, as ABC was originally set to 'DSF', and never modified

The next condition would then be: IF XYZ = 'V' returns FALSE, as XYZ was originally set to 'DS', and never modified

The next condition would then be: IF L1 <> oldL1 returns TRUE, as L1 was originally set to 'FSD', and oldL1 was originally set to a space, and never modified

Not sure if I have this correct or not (because it doesn't make sense in the example you provided), but it appears the SELECT statement is searching all occurrences of P.V.DS.DSF and returning the value that is assigned to a particular DSF element, when that DSF element has a value of 'FSD'.

Note: If you keep this code, I don't see a reason to do the casting/trimming in the SELECT statement since all of the variables were declared as CHARACTER.
Back to top
View user's profile Send private message
LearnMQSI
PostPosted: Sat Dec 04, 2004 1:25 pm    Post subject: SELECT STATEMENT Reply with quote

Centurion

Joined: 20 Aug 2002
Posts: 137

Hi JT,

Thank you so much for your quick response. I really appreciate your help.

It helping me understanding the SELECT STATEMENT code.


Take Care


LEARNMQSI
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 » SELECT STATEMENT
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.