Author |
Message
|
lung |
Posted: Wed Oct 29, 2003 12:19 am Post subject: SQL Exception - clearDownChildEnv |
|
|
 Master
Joined: 27 Aug 2002 Posts: 291 Location: Malaysia
|
Hi,
I'm experiencing an exception in which I just could not find an answer to. Here, I believe, is the portion of my ESQL that is causing the exception...
Code: |
CALL SetAccountNo(OutputRoot.XML.Msg.MsgBody.AccInfo, InputRoot.XML.Msg.MsgBody.AccountNo);
.
.
.
CREATE PROCEDURE SetAccountNo(INOUT outMsgBody REFERENCE, IN inMsgBody REFERENCE)
BEGIN
SET outMsgBody.AccountNo = inMsgBody;
END; |
And here is the exception that I am getting...
Code: |
(0x1000000)RecoverableException = (
(0x3000000)File = 'F:\build\S210_P\src\DataFlowEngine\ImbRdl\ImbRdlRoutine.cpp'
(0x3000000)Line = 875
(0x3000000)Function = 'SqlRoutine::clearDownChildEnv'
(0x3000000)Type = 'ComIbmComputeNode'
(0x3000000)Name = 'e4359c58-f800-0000-0080-916c206bbbae.1326a358-f800-0000-0080-916c206bbbae.46d9d05c-f800-0000-0080-916c206bbbae'
(0x3000000)Label = 'CMS_INQ_MAIN_FLOW.CMS_INQ_SUBFLOW.CMS_INQ_RPL_SUBFLOW.PrepareReply'
(0x3000000)Text = ''
(0x3000000)Catalog = 'WMQIv210'
(0x3000000)Severity = 3
(0x3000000)Number = 2933
(0x1000000)Insert = (
(0x3000000)Type = 5
(0x3000000)Text = 'outMsgBody'
) |
This is my first time working with the syntax 'REFERENCE' within a PROCEDURE.
Please assist. Thanks! |
|
Back to top |
|
 |
lung |
Posted: Sun Nov 02, 2003 7:48 pm Post subject: |
|
|
 Master
Joined: 27 Aug 2002 Posts: 291 Location: Malaysia
|
|
Back to top |
|
 |
madi |
Posted: Fri Jun 27, 2008 8:11 am Post subject: |
|
|
 Chevalier
Joined: 17 Jan 2006 Posts: 475
|
i have this same problem!!
any solutions?
--madi _________________ IBM Certified Solutions Developer - WMB 6.0 |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri Jun 27, 2008 8:31 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Could it be because as the source you are not passing a tree (reference) but and endpoint (value)?  _________________ MQ & Broker admin |
|
Back to top |
|
 |
madi |
Posted: Fri Jun 27, 2008 8:36 am Post subject: |
|
|
 Chevalier
Joined: 17 Jan 2006 Posts: 475
|
here is what im calling it with
Code: |
CALL Map_SourceA_To_DestA(InputRoot, OutputRoot, Environment); |
--madi _________________ IBM Certified Solutions Developer - WMB 6.0 |
|
Back to top |
|
 |
madi |
Posted: Mon Jun 30, 2008 5:25 am Post subject: |
|
|
 Chevalier
Joined: 17 Jan 2006 Posts: 475
|
Any Ideas??
Can I pass OutputRoot to a procedure as a reference and access it from there?? I mean theoretically.
--madi _________________ IBM Certified Solutions Developer - WMB 6.0 |
|
Back to top |
|
 |
mgk |
Posted: Mon Jun 30, 2008 8:01 am Post subject: |
|
|
 Padawan
Joined: 31 Jul 2003 Posts: 1642
|
Hi,
You should be able to pass OutputRoot to a procedure, but you may not need to. If you procedure is declared at MODULE scope then OutputRoot, InputRoot etc will always be in scope (so you can use them directly). However, if the procedure is declared at SCHEMA scope then the default correlation names (OutputRoot etc) are not in scope and need to be passed by reference to the procedure.
Regards, _________________ MGK
The postings I make on this site are my own and don't necessarily represent IBM's positions, strategies or opinions. |
|
Back to top |
|
 |
madi |
Posted: Mon Jun 30, 2008 8:24 am Post subject: |
|
|
 Chevalier
Joined: 17 Jan 2006 Posts: 475
|
thanks!!
im just using the roots directly now, but not sure why i got that exception when I did pass it through as a reference
--madi _________________ IBM Certified Solutions Developer - WMB 6.0 |
|
Back to top |
|
 |
|