|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
ESQL BIP2432E error on deploy |
« View previous topic :: View next topic » |
Author |
Message
|
sebastia |
Posted: Thu Mar 20, 2014 2:52 am Post subject: ESQL BIP2432E error on deploy |
|
|
 Grand Master
Joined: 07 Oct 2004 Posts: 1003
|
I have a code that does deploy good :
Code: |
CREATE PROCEDURE PCF_CREATE_TOPIC ( IN TopicName CHARACTER, IN RespQ CHARACTER )
BEGIN
CALL CopyMessageHeaders();
SET OutputRoot.MQMD.MsgType = MQMT_REQUEST ;
SET OutputRoot.MQMD.Format = MQFMT_ADMIN ;
SET OutputRoot.MQMD.ReplyToQ = RespQ ;
SET OutputRoot.MQMD.MsgSeqNumber = 1 ;
SET OutputRoot.MQMD.Encoding = 546 ;
CREATE FIELD OutputRoot.MQPCF;
DECLARE refRequest REFERENCE TO OutputRoot.MQPCF ;
SET refRequest.Type = MQCFT_COMMAND ;
SET refRequest.StrucLength = MQCFH_STRUC_LENGTH ;
SET refRequest.Version = MQCFH_CURRENT_VERSION ;
SET refRequest.Command = MQCMD_CREATE_Q ; -- here
SET refRequest.MsgSeqNumber = 1;
SET refRequest.Control = MQCFC_LAST; |
If I change "MQCMD_CREATE_Q" into "MQCMD_CREATE_TOPIC" ... the flow does not deploy.
Error is
Code: |
BIP2432E: (.MQSC_Compute.PCF_CREATE_TOPIC, 18.33) :
The correlation name 'MQCMD_CREATE_TOPIC' is not valid.
Those in scope are: Initialized, RoutingTable, Environment, InputLocalEnvironment, OutputLocalEnvironment,
InputRoot, InputBody, InputProperties, OutputRoot, InputExceptionList, OutputExceptionList,
InputDestinationList, OutputDestinationList, TopicName, RespQ, refRequest.
The first element of a field reference must be a valid correlation name, from those in scope.
This message may sometimes be due to an incorrectly formed or spelled expression
which is not intended to be a field reference being parsed as if it were a field reference because the parser does not recognize it. |
I would like to know why is this possible.
In fact, how to fix it.
Both values are in cmqcfc.h :
Code: |
#define MQCMD_CREATE_Q 11
#define MQCMD_CREATE_TOPIC 172 |
Tx. Sebastian. |
|
Back to top |
|
 |
sebastia |
Posted: Thu Mar 20, 2014 4:06 am Post subject: |
|
|
 Grand Master
Joined: 07 Oct 2004 Posts: 1003
|
curious enough, in this thread
>>> http://www.mqseries.net/phpBB/viewtopic.php?p=333470
mr "nhcaccenture" writes the values ... in numeric value, not using their name.
I wonder why ...
jejeje
Code: |
--First parameter: Topic Name.
SET refRequest.Parameter[1] = 2092; --MQCA_TOPIC_NAME
SET refRequest.Parameter[1].* = 'PCFTestTopic1';
-- Second parameter: Topic name length.
SET refRequest.Parameter[2] = 48; --MQ_TOPIC_NAME_LENGTH
SET refRequest.Parameter[2].* = '100';
-- Third parameter: Topic String.
SET refRequest.Parameter[3] = 2094; --MQCA_TOPIC_STRING
SET refRequest.Parameter[3].* = 'PCFTestTopic1String';
|
|
|
Back to top |
|
 |
fjb_saper |
Posted: Thu Mar 20, 2014 5:27 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Have you checked your list of link libraries, includes and that the compiler handles correctly compiling and linking?
Sounds to me like one of the libs is missing an include statement?
Is everything on the path that ought to be?
Have fun  _________________ MQ & Broker admin |
|
Back to top |
|
 |
mqjeff |
Posted: Thu Mar 20, 2014 5:32 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
fjb_saper wrote: |
Have you checked your list of link libraries, includes and that the compiler handles correctly compiling and linking?
Sounds to me like one of the libs is missing an include statement?
Is everything on the path that ought to be?
Have fun  |
Did you fail to notice that this is inside Message Broker? |
|
Back to top |
|
 |
fjb_saper |
Posted: Thu Mar 20, 2014 5:38 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
However looking at
Code: |
BIP2432E: (.MQSC_Compute.PCF_CREATE_TOPIC, 18.33) :
The correlation name 'MQCMD_CREATE_TOPIC' is not valid.
Those in scope are: Initialized, RoutingTable, Environment, InputLocalEnvironment, OutputLocalEnvironment,
InputRoot, InputBody, InputProperties, OutputRoot, InputExceptionList, OutputExceptionList,
InputDestinationList, OutputDestinationList, TopicName, RespQ, refRequest.
The first element of a field reference must be a valid correlation name, from those in scope.
This message may sometimes be due to an incorrectly formed or spelled expression
which is not intended to be a field reference being parsed as if it were a field reference because the parser does not recognize it. |
it seems that the value is no longer in scope, or could it be that the parser used is no longer in scope?
What version of the broker is being used?
Did you check whether this was fixed in the latest version?  _________________ MQ & Broker admin |
|
Back to top |
|
 |
sebastia |
Posted: Fri Mar 21, 2014 12:45 am Post subject: |
|
|
 Grand Master
Joined: 07 Oct 2004 Posts: 1003
|
HI - yes, I know it looks like some library is missing, but I am using Tolkit version 9.0.0
Specifically, it says "Build id: 9.0.0-20130619-1709"
And the fact that mr nhcaccenture
in >>> > http://www.mqseries.net/phpBB/viewtopic.php?p=333470
uses numeric values .. has to have some meaning ...
Tx. |
|
Back to top |
|
 |
sebastia |
Posted: Fri Mar 21, 2014 2:42 am Post subject: |
|
|
 Grand Master
Joined: 07 Oct 2004 Posts: 1003
|
Hi, coleagues.
Here is the working code to create a (clustered) TOPIC using PCF :
Code: |
CREATE PROCEDURE PCF_CREATE_TOPIC ( IN TopicName CHARACTER, IN RespQ CHARACTER )
BEGIN
CALL CopyMessageHeaders();
SET OutputRoot.MQMD.MsgType = MQMT_REQUEST ;
SET OutputRoot.MQMD.Format = MQFMT_ADMIN ;
SET OutputRoot.MQMD.ReplyToQ = RespQ ;
SET OutputRoot.MQMD.MsgSeqNumber = 1 ;
SET OutputRoot.MQMD.Encoding = 546 ;
CREATE FIELD OutputRoot.MQPCF ;
DECLARE refRequest REFERENCE TO OutputRoot.MQPCF ;
SET refRequest.Type = MQCFT_COMMAND ;
SET refRequest.StrucLength = MQCFH_STRUC_LENGTH ;
SET refRequest.Version = MQCFH_CURRENT_VERSION ;
SET refRequest.Command = 172 ; -- MQCMD_CREATE_TOPIC ; -- cmd := create topic ;
SET refRequest.MsgSeqNumber = 1 ;
SET refRequest.Control = MQCFC_LAST ;
SET refRequest.Parameter[1] = 2092 ; -- MQCA_TOPIC_NAME ; -- TopicName :=
SET refRequest.Parameter[1].* = TopicName ; -- ... input parameter ;
set refRequest.Parameter[2] = 2094 ; -- MQCA_TOPIC_STRING ; -- TopicString :=
set refRequest.Parameter[2].* = TopicName ; -- ... (same) input parameter ;
set refRequest.Parameter[3] = MQCA_CLUSTER_NAME ; -- Cluster := -- 2029
set refRequest.Parameter[3].* = 'CLUS_PUBSUB' ; -- ... fixed value ;
SET OutputRoot.BLOB.BLOB = asbitstream(OutputRoot.MQPCF);
SET OutputRoot.MQPCF = null;
SET OutputRoot.MQRFH2 = null; -- mqseries.net
SET OutputRoot.MQMD.Format = MQFMT_ADMIN; -- mqseries.net
END; -- PCF_CREATE_TOPIC |
Have to read the answer from Cmd Server and verify CC and RC = 0, of course. |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri Mar 21, 2014 10:00 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Thanks for sharing... looks definitively like the parser does not fetch all constants... may be a left over from earlier days? Did you open a PMR about this?  _________________ MQ & Broker admin |
|
Back to top |
|
 |
sebastia |
Posted: Mon Mar 24, 2014 1:13 am Post subject: |
|
|
 Grand Master
Joined: 07 Oct 2004 Posts: 1003
|
PMR - buf, need too much time and patience ...
Not at this moment ... sorry
Tx. |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|