|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
CopyMessageHeaders Procedure |
« View previous topic :: View next topic » |
Author |
Message
|
elvis_gn |
Posted: Mon Jun 19, 2006 4:35 am Post subject: |
|
|
 Padawan
Joined: 08 Oct 2004 Posts: 1905 Location: Dubai
|
Hi Sridar,
Sridar wrote: |
I thought Jeff was mentioning that there could be some Post which i could refer |
U'll find the word reference in italic....it was a pun intended.
Sridar wrote: |
I tried the method of using REFERENCE but i am getting error in the debugger referring to this statement CALL CopyMessageHeaders(InputRoot,OutputRoot); and indicates that the problem is with OutputRoot.
Can i just say "CALL CopyMessageHeaders(InputRoot,OutputRoot); " or do i have to any manipulations to pass OutputRoot. |
Can we see the code....also when u type CALL and do a Ctrl+Space....does it show you the CopyMessageHeaders function ?
By the way...why do u need to send the InputRoot and OutputRoot, even when the method was within the module, it wasn't sending the InputRoot and OutputRoot.....even now it will not expect you to send it.
Only the location of the method has changed not the method itself.
Regards. |
|
Back to top |
|
 |
Sridar |
Posted: Mon Jun 19, 2006 5:10 am Post subject: |
|
|
Acolyte
Joined: 14 May 2006 Posts: 72 Location: Chennai, India
|
I am able to see the CopyMessageHeaders when i type CALL and press Ctrl+Space.
I am able to see the fields under OutputRoot listed when i press Ctrl+Space.
Howewer when i call the Procedure without passing the inputRoot or OutputRoot i get a warning from the ESQL editor that "Identifier OutputRoot cannot be resolved.
That's why i thought may be i should pass the InputRoot and OutputRoot.
If i pass it as REFERENCE then i do not get this error but i get error at the calling statement. The error is howewer not descriptive. It just gives me the location and what part of the statement is problem.Ehich i had mentioned earlier. I am not able to do a Copy and paste from the debugger.
This is how i call the Procedure(in main flow)
CALL CopyMessageHeaders(InputRoot ,OutputRoot);
This is the code in Common flow:
-- PROCEDURE FOR COPYING THE MESSAGE HEADERS
CREATE PROCEDURE CopyMessageHeaders(IN InputRoot REFERENCE, INOUT OutputRoot REFERENCE)
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 main flow references the CommonFlow.
Do i have to reference the CommonFlow also to MainFlow.
Sridar[/quote] _________________ Thanks and Regards
Sridar |
|
Back to top |
|
 |
Maverik |
Posted: Mon Jun 19, 2006 5:43 am Post subject: |
|
|
Apprentice
Joined: 14 Jun 2005 Posts: 27
|
Hi Sridar,
The very same code that you've pasted is working for me....I am able to deploy the flow successfully...
Is the commonFlow is some other project or in another schema....but you are able to get the method with a ctrl+space means that, that is working....when u do a ctrl+space i hope you see the method with the (IN InpuRoot REFERENCE,.....)
Please try a rebuild....
Regards. |
|
Back to top |
|
 |
Sridar |
Posted: Tue Jun 20, 2006 2:27 am Post subject: |
|
|
Acolyte
Joined: 14 May 2006 Posts: 72 Location: Chennai, India
|
Hi
If i do not declare the InputRoot and OutputRoot in the method signature i am getting an error Identifier OutputRoot cannot be resolved.
The Commonflow is in a seperate project but i have given the path in the Mainflow and am able to access the other methods.
I tried with the reference also but i am not able to see the OutputRoot in the list of choices in the commonflow if i type Ctrl+Space outside the method.
If i give the same within the method i am able to see it but this could be because i have declared it within the method.
Does this mean OutputRoot is not accessible from here.
I tried putting a message:
I am using AgentController the flow debugger of WBI for debugging. I am getting an exception at the location of calling the method from the main flow. The Exception is howewer not an explicit text. It just indicates the location of error.
I tried Rebuilding the projects also but still the problem is same.
I am able to see the method with the signature(IN InputRoot....)
Will an ESQL file have access to the OutputRoot without any node assosiated to it even if it is referenced and referenced by another project?
Sridar _________________ Thanks and Regards
Sridar |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Jun 20, 2006 2:34 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
You might have a naming conflict in your method.
Do not use InputRoot and OutputRoot as signature of your procedure.
Make sure you use CREATE .... DOMAIN to associate the right parser.
USE the SEARCH BUTTON this has been discussed and described before
 _________________ MQ & Broker admin |
|
Back to top |
|
 |
|
|
|
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
|
|
|
|