Author |
Message
|
elvis_gn |
Posted: Tue Oct 17, 2006 10:22 pm Post subject: Re: Database configuration in v6 MB |
|
|
 Padawan
Joined: 08 Oct 2004 Posts: 1905 Location: Dubai
|
Hi bindu,
How come the properties are all null ? I have a feeling we are looking at the wrong place, but anyway, try the below code.
bindu wrote: |
CREATE COMPUTE MODULE AMF_Compute
CREATE FUNCTION Main() RETURNS BOOLEAN
BEGIN
CALL CopyMessageHeaders();
SET OutputRoot.XML=null;
INSERT INTO Database.AKASH.INFORMATION (FIRSTNAME, LASTNAME, HOUSENO, CITY) values ('firstname', 'lastName', 007, 'USA');
DECLARE MID CHAR;
SET MID = SUBSTRING(InputRoot.XML.NAME.MIDDLENAME FROM 1 FOR 1);
SET OutputRoot.XML.INFORMATION.NAME=UPPER(InputRoot.XML.NAME.FIRSTNAME || ' ' || MID ||' '|| InputRoot.XML.NAME.LASTNAME);
SET OutputRoot.XML.INFORMATION.POSITION=UPPER(InputRoot.XML.NAME.POSITION);
RETURN TRUE;
END;
CREATE PROCEDURE CopyMessageHeaders() BEGIN
DECLARE I INTEGER;
DECLARE J INTEGER;
SET I = 1;
SET J = CARDINALITY(InputRoot.*[]);
WHILE I < J DO
SET OutputRoot.*[I] = InputRoot.*[I];
SET I = I + 1;
END WHILE;
END; |
Do a debug of your flow and see which line it is failing in.
Regards. |
|
Back to top |
|
 |
jbanoop |
Posted: Tue Oct 17, 2006 10:24 pm Post subject: |
|
|
Chevalier
Joined: 17 Sep 2005 Posts: 401 Location: SC
|
Post a trace after the input node and the trace just before the output node.
the message contains no data comes usually when one of the mandatory parts is missing (Properties or MQMD).
the case could be that input message (msg coming into the flow) may have only Properties and MQMD. In that case copy message headers would copy only the properties to the output tree.
give the above mentioned traces and maybe we could spot your problem.
Regards,
Anoop |
|
Back to top |
|
 |
bindu |
Posted: Tue Oct 17, 2006 10:52 pm Post subject: Database configuration in v6 MB |
|
|
Voyager
Joined: 07 May 2004 Posts: 97
|
Hi All thanks for your time...
Here is trace after I/P Node
***************************
----------------------------
(
(0x01000000):Properties = (
(0x03000000):MessageSet = ''
(0x03000000):MessageType = ''
(0x03000000):MessageFormat = ''
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 437
(0x03000000):Transactional = TRUE
(0x03000000):Persistence = FALSE
(0x03000000):CreationTime = GMTTIMESTAMP '2006-10-18 06:21:37.780'
(0x03000000):ExpirationTime = -1
(0x03000000):Priority = 0
(0x03000000):ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
(0x03000000):ReplyProtocol = 'MQ'
(0x03000000):Topic = NULL
(0x03000000):ContentType = ''
)
(0x01000000):MQMD = (
(0x03000000):SourceQueue = 'REQUEST.QUEUE'
(0x03000000):Transactional = TRUE
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 437
(0x03000000):Format = ' '
(0x03000000):Version = 2
(0x03000000):Report = 0
(0x03000000):MsgType = 8
(0x03000000):Expiry = -1
(0x03000000):Feedback = 0
(0x03000000):Priority = 0
(0x03000000):Persistence = 0
(0x03000000):MsgId = X'414d512041514d475220202020202020348f35452000b407'
(0x03000000):CorrelId = X'000000000000000000000000000000000000000000000000'
(0x03000000):BackoutCount = 0
(0x03000000):ReplyToQ = ' '
(0x03000000):ReplyToQMgr = 'AQMGR '
(0x03000000):UserIdentifier = 'akash '
(0x03000000):AccountingToken = X'160105150000008acb2dc40537e193176ac321ed03000000000000000000000b'
(0x03000000):ApplIdentityData = ' '
(0x03000000):PutApplType = 11
(0x03000000):PutApplName = '\akash\Desktop\rfhutil.exe'
(0x03000000):PutDate = DATE '2006-10-18'
(0x03000000):PutTime = GMTTIME '06:21:37.780'
(0x03000000):ApplOriginData = ' '
(0x03000000):GroupId = X'000000000000000000000000000000000000000000000000'
(0x03000000):MsgSeqNumber = 1
(0x03000000):Offset = 0
(0x03000000):MsgFlags = 0
(0x03000000):OriginalLength = -1
)
(0x01000010):XML = (
(0x01000000):NAME = (
(0x02000000): = '
'
(0x01000000):FIRSTNAME = (
(0x02000000): = 'firstName'
)
(0x02000000): = '
'
(0x01000000):MIDDLENAME = (
(0x02000000): = ' '
)
(0x02000000): = '
'
(0x01000000):LASTNAME = (
(0x02000000): = 'lastName'
)
(0x02000000): = '
'
(0x01000000):POSITION = (
(0x02000000): = 'Programmer Analyst'
)
(0x02000000): = '
'
)
(0x06000002): = '
'
)
)
********************* &&&&& *********
***************************
Here is the trace after Compute & Before Output Node
----------------------------
(
(0x01000000):Properties = (
(0x03000000):MessageSet = NULL
(0x03000000):MessageType = NULL
(0x03000000):MessageFormat = NULL
(0x03000000):Encoding = NULL
(0x03000000):CodedCharSetId = NULL
(0x03000000):Transactional = NULL
(0x03000000):Persistence = NULL
(0x03000000):CreationTime = NULL
(0x03000000):ExpirationTime = NULL
(0x03000000):Priority = NULL
(0x03000000):ReplyIdentifier = NULL
(0x03000000):ReplyProtocol = 'MQ'
(0x03000000):Topic = NULL
(0x03000000):ContentType = NULL
)
)
********************* &&&&& *********
Here is my COMPUTE NODE PROPERTIES
Data Source: VIDEOR
Transaction: Automatic
ESQL Module:
Compute Mode: Message
checked the ThrowException on Database Error
ESQL Code:
CREATE COMPUTE MODULE AMF_Compute
CREATE FUNCTION Main() RETURNS BOOLEAN
BEGIN
CALL CopyMessageHeaders();
-- CALL CopyEntireMessage();
SET OutputRoot.XML=null;
INSERT INTO Database.VIDEOR.AKASH.INFORMATION (FIRSTNAME, LASTNAME, HOUSENO, CITY) values (’firstname’, 'lastName', 007, 'USA');
DECLARE MID CHAR;
SET MID = SUBSTRING(InputRoot.XML.NAME.MIDDLENAME FROM 1 FOR 1);
SET OutputRoot.XML.INFORMATION.NAME=UPPER(InputRoot.XML.NAME.FIRSTNAME || ' ' || MID ||' '|| InputRoot.XML.NAME.LASTNAME);
SET OutputRoot.XML.INFORMATION.POSITION=UPPER(InputRoot.XML.NAME.POSITION);
RETURN TRUE;
END;
CREATE PROCEDURE CopyMessageHeaders() BEGIN
DECLARE I INTEGER;
DECLARE J INTEGER;
SET I = 1;
SET J = CARDINALITY(InputRoot.*[]);
WHILE I < J DO
SET OutputRoot.*[I] = InputRoot.*[I];
SET I = I + 1;
END WHILE;
END;
CREATE PROCEDURE CopyEntireMessage() BEGIN
SET OutputRoot = InputRoot;
END;
END MODULE; |
|
Back to top |
|
 |
bindu |
Posted: Tue Oct 17, 2006 11:20 pm Post subject: Database configuration in v6 MB |
|
|
Voyager
Joined: 07 May 2004 Posts: 97
|
Flow Debug output
Message
Properties
MessageSet =
MessageType =
MessageFormat =
Encoding = 546
CodedCharSetId = 437
Transactional = true
Persistence = false
CreationTime = 2006-10-18 07:06:25.030
ExpirationTime = -1
Priority = 0
ReplyIdentifier = 000000000000000000000000000000000000000000000000
ReplyProtocol = MQ
Topic =
ContentType =
MQMD
SourceQueue = REQUEST.QUEUE
Transactional = true
Encoding = 546
CodedCharSetId = 437
Format =
Version = 2
Report = 0
MsgType = 8
Expiry = -1
Feedback = 0
Priority = 0
Persistence = 0
MsgId = 414d51205742524b365f44454641554c258f354520015d06
CorrelId = 000000000000000000000000000000000000000000000000
BackoutCount = 0
ReplyToQ =
ReplyToQMgr = WBRK6_DEFAULT_QUEUE_MANAGER
UserIdentifier = akash
AccountingToken = 160105150000008acb2dc40537e193176ac321ed03000000000000000000000b
ApplIdentityData =
PutApplType = 11
PutApplName = \\akash\\Desktop\\rfhutil.exe
PutDate = 2006-10-18
PutTime = 07:06:25.030
ApplOriginData =
GroupId = 000000000000000000000000000000000000000000000000
MsgSeqNumber = 1
Offset = 0
MsgFlags = 0
OriginalLength = -1
XML
NAME
\n
FIRSTNAME
firstName
\n
MIDDLENAME
\n
LASTNAME
lastName
\n
POSITION
\n
LocalEnvironment
Environment
ExceptionList
RecoverableException
File = F:\\build\\S000_P\\src\\DataFlowEngine\\ImbDataFlowNode.cpp
Line = 616
Function = ImbDataFlowNode::createExceptionList
Type = ComIbmMQInputNode
Name = AMF#FCMComposite_1_1
Label = AMF.MQInput
Catalog = BIPv600
Severity = 3
Number = 2230
Text = Node throwing exception
RecoverableException
File = F:\\build\\S000_P\\src\\DataFlowEngine\\ImbMqOutputNode.cpp
Line = 769
Function = ImbMqOutputNode::evaluate
Type = ComIbmMQOutputNode
Name = AMF#FCMComposite_1_2
Label = AMF.MQOutput
Catalog = BIPv600
Severity = 3
Number = 2230
Text = Caught exception and rethrowing
MessageException
File = F:\\build\\S000_P\\src\\DataFlowEngine\\ImbMqOutputNode.cpp
Line = 635
Function = ImbMqOutputNode::evaluate
Type = ComIbmMQOutputNode
Name = AMF#FCMComposite_1_2
Label = AMF.MQOutput
Catalog = BIPv600
Severity = 3
Number = 2660
Text = Message contains no data
Insert
Type = 2
Text = -1
Insert
Type = 5
Text = MQW001
Insert
Type = 2
Text = 0
Insert
Type = 5
Text = |
|
Back to top |
|
 |
jbanoop |
Posted: Tue Oct 17, 2006 11:22 pm Post subject: |
|
|
Chevalier
Joined: 17 Sep 2005 Posts: 401 Location: SC
|
The input seems to be ok .
So your flow has input node-->compute -->output node , is that it ?
Did u debug ur flow using the flow debugger. Trace through each of your statements in the compute module ..
cofirm tht this is the compute module being actually used for tht node.
Regards,
Anoop |
|
Back to top |
|
 |
elvis_gn |
Posted: Tue Oct 17, 2006 11:33 pm Post subject: |
|
|
 Padawan
Joined: 08 Oct 2004 Posts: 1905 Location: Dubai
|
Hi bindu,
try this, instead of
Quote: |
SET OutputRoot.XML=null; |
do
Code: |
CREATE LASTCHILD OF OutputRoot DOMAIN 'XML' NAME 'XML';
SET OutputRoot.XML = null; |
Please do a rebuild on your flow, i still don't understand how the quotes around firstname are working...also you dont need the datasource name in the insert statement.
Regards. |
|
Back to top |
|
 |
bindu |
Posted: Wed Oct 18, 2006 12:24 am Post subject: Database configuration in v6 MB |
|
|
Voyager
Joined: 07 May 2004 Posts: 97
|
Hi All,
Thank you very much for your help....
I rebuild the message flow and deployed like below
I/P -> TraceNode -> Compute -> TraceNode1 -> O/P
Failure terminal of I/P Node connected to Trace Node2.
This time it behave stangly means i didnt find any thing on Trace file after Compute node means it didnt crossed the Compute Node.
Here is My ESQL CODE
CREATE COMPUTE MODULE OSR_Compute
CREATE FUNCTION Main() RETURNS BOOLEAN
BEGIN
CALL CopyMessageHeaders();
--CALL CopyEntireMessage();
CREATE LASTCHILD OF OutputRoot DOMAIN 'XML' NAME 'XML';
SET OutputRoot.XML = null;
INSERT INTO Database.AKASH.INFORMATION (FIRSTNAME,LASTNAME,HOUSENO,CITY) values ('hai','wow',007,'USA');
DECLARE MID CHAR;
SET MID = SUBSTRING(InputRoot.XML.NAME.MIDDLENAME FROM 1 FOR 1);
SET OutputRoot.XML.INFORMATION.NAME=UPPER(InputRoot.XML.NAME.FIRSTNAME || ' ' || MID ||' '|| InputRoot.XML.NAME.LASTNAME);
SET OutputRoot.XML.INFORMATION.POSITION=UPPER(InputRoot.XML.NAME.POSITION);
RETURN TRUE;
END;
CREATE PROCEDURE CopyMessageHeaders() BEGIN
DECLARE I INTEGER;
DECLARE J INTEGER;
SET I = 1;
SET J = CARDINALITY(InputRoot.*[]);
WHILE I < J DO
SET OutputRoot.*[I] = InputRoot.*[I];
SET I = I + 1;
END WHILE;
END;
CREATE PROCEDURE CopyEntireMessage() BEGIN
SET OutputRoot = InputRoot;
END;
END MODULE;
Compute Node Properties:
Data Source: VIDEOR
Transaction: Automatic
ESQL Module: OSR_Compute
Compute Mode: Message
and checked the Throw Exception on Database error
Here is my I/P message:
<NAME>
<FIRSTNAME>firstName</FIRSTNAME>
<MIDDLENAME>D</MIDDLENAME>
<LASTNAME>lastName</LASTNAME>
<POSITION>Programmer Analyst</POSITION>
</NAME>
After I/P Node Trace Output:
***************************
(
(0x01000000):Properties = (
(0x03000000):MessageSet = ''
(0x03000000):MessageType = ''
(0x03000000):MessageFormat = ''
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 437
(0x03000000):Transactional = TRUE
(0x03000000):Persistence = FALSE
(0x03000000):CreationTime = GMTTIMESTAMP '2006-10-18 08:08:48.480'
(0x03000000):ExpirationTime = -1
(0x03000000):Priority = 0
(0x03000000):ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
(0x03000000):ReplyProtocol = 'MQ'
(0x03000000):Topic = NULL
(0x03000000):ContentType = ''
)
(0x01000000):MQMD = (
(0x03000000):SourceQueue = 'REQUEST.QUEUE'
(0x03000000):Transactional = TRUE
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 437
(0x03000000):Format = ' '
(0x03000000):Version = 2
(0x03000000):Report = 0
(0x03000000):MsgType = 8
(0x03000000):Expiry = -1
(0x03000000):Feedback = 0
(0x03000000):Priority = 0
(0x03000000):Persistence = 0
(0x03000000):MsgId = X'414d51205742524b365f44454641554c258f354520015d15'
(0x03000000):CorrelId = X'000000000000000000000000000000000000000000000000'
(0x03000000):BackoutCount = 0
(0x03000000):ReplyToQ = ' '
(0x03000000):ReplyToQMgr = 'WBRK6_DEFAULT_QUEUE_MANAGER '
(0x03000000):UserIdentifier = 'akash '
(0x03000000):AccountingToken = X'160105150000008acb2dc40537e193176ac321ed03000000000000000000000b'
(0x03000000):ApplIdentityData = ' '
(0x03000000):PutApplType = 11
(0x03000000):PutApplName = '\akash\Desktop\rfhutil.exe'
(0x03000000):PutDate = DATE '2006-10-18'
(0x03000000):PutTime = GMTTIME '08:08:48.480'
(0x03000000):ApplOriginData = ' '
(0x03000000):GroupId = X'000000000000000000000000000000000000000000000000'
(0x03000000):MsgSeqNumber = 1
(0x03000000):Offset = 0
(0x03000000):MsgFlags = 0
(0x03000000):OriginalLength = -1
)
(0x01000010):XML = (
(0x01000000):NAME = (
(0x02000000): = '
'
(0x01000000):FIRSTNAME = (
(0x02000000): = 'FIRSTNAME'
)
(0x02000000): = '
'
(0x01000000):MIDDLENAME = (
(0x02000000): = 'D'
)
(0x02000000): = '
'
(0x01000000):LASTNAME = (
(0x02000000): = 'LASTNAME'
)
(0x02000000): = '
'
(0x01000000):POSITION = (
(0x02000000): = 'Programmer Analyst'
)
(0x02000000): = '
'
)
(0x06000002): = '
'
)
)
----------------------------
********************* &&&&& *********
I/P Node Failure Terminal Trace Output:
***************************
(
(0x01000000):Properties = (
(0x03000000):MessageSet = ''
(0x03000000):MessageType = ''
(0x03000000):MessageFormat = ''
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 437
(0x03000000):Transactional = TRUE
(0x03000000):Persistence = FALSE
(0x03000000):CreationTime = GMTTIMESTAMP '2006-10-18 08:08:48.480'
(0x03000000):ExpirationTime = -1
(0x03000000):Priority = 0
(0x03000000):ReplyIdentifier = X'000000000000000000000000000000000000000000000000'
(0x03000000):ReplyProtocol = 'MQ'
(0x03000000):Topic = NULL
(0x03000000):ContentType = ''
)
(0x01000000):MQMD = (
(0x03000000):SourceQueue = 'REQUEST.QUEUE'
(0x03000000):Transactional = TRUE
(0x03000000):Encoding = 546
(0x03000000):CodedCharSetId = 437
(0x03000000):Format = ' '
(0x03000000):Version = 2
(0x03000000):Report = 0
(0x03000000):MsgType = 8
(0x03000000):Expiry = -1
(0x03000000):Feedback = 0
(0x03000000):Priority = 0
(0x03000000):Persistence = 0
(0x03000000):MsgId = X'414d51205742524b365f44454641554c258f354520015d15'
(0x03000000):CorrelId = X'000000000000000000000000000000000000000000000000'
(0x03000000):BackoutCount = 1
(0x03000000):ReplyToQ = ' '
(0x03000000):ReplyToQMgr = 'WBRK6_DEFAULT_QUEUE_MANAGER '
(0x03000000):UserIdentifier = 'akash '
(0x03000000):AccountingToken = X'160105150000008acb2dc40537e193176ac321ed03000000000000000000000b'
(0x03000000):ApplIdentityData = ' '
(0x03000000):PutApplType = 11
(0x03000000):PutApplName = '\akash\Desktop\rfhutil.exe'
(0x03000000):PutDate = DATE '2006-10-18'
(0x03000000):PutTime = GMTTIME '08:08:48.480'
(0x03000000):ApplOriginData = ' '
(0x03000000):GroupId = X'000000000000000000000000000000000000000000000000'
(0x03000000):MsgSeqNumber = 1
(0x03000000):Offset = 0
(0x03000000):MsgFlags = 0
(0x03000000):OriginalLength = -1
)
(0x01000010):XML = (
(0x01000000):NAME = (
(0x02000000): = '
'
(0x01000000):FIRSTNAME = (
(0x02000000): = 'FIRSTNAME'
)
(0x02000000): = '
'
(0x01000000):MIDDLENAME = (
(0x02000000): = 'D'
)
(0x02000000): = '
'
(0x01000000):LASTNAME = (
(0x02000000): = 'LASTNAME'
)
(0x02000000): = '
'
(0x01000000):POSITION = (
(0x02000000): = 'Programmer Analyst'
)
(0x02000000): = '
'
)
(0x06000002): = '
'
)
)
----------------------------
(
(0x01000000):RecoverableException = (
(0x03000000):File = 'F:\build\S000_P\src\DataFlowEngine\ImbMqInputNode.cpp'
(0x03000000):Line = 1768
(0x03000000):Function = 'ImbCommonInputNode::eligibleForBackout'
(0x03000000):Type = 'ComIbmMQInputNode'
(0x03000000):Name = 'OSR#FCMComposite_1_1'
(0x03000000):Label = 'OSR.MQInput'
(0x03000000):Catalog = 'BIPv600'
(0x03000000):Severity = 3
(0x03000000):Number = 2652
(0x03000000):Text = 'Dequeued failed message. Propagating a message to the failure terminal'
)
)
********************* &&&&& *********
Please have a look at the complete details and suggest me.....
Thank you,
Bindu |
|
Back to top |
|
 |
jbanoop |
Posted: Wed Oct 18, 2006 12:33 am Post subject: |
|
|
Chevalier
Joined: 17 Sep 2005 Posts: 401 Location: SC
|
add a try-catch node just after input node (before trace node) and on the catch terminal of the try - catch attach a trace node and do a trace on ${Root} and ${ExceptionList}.
Please post the contents of the file.
I think the tracen ode on failure path of MQinput is not going to help.
Regards,
Anoop |
|
Back to top |
|
 |
bindu |
Posted: Wed Oct 18, 2006 12:53 am Post subject: Database configuration in v6 MB |
|
|
Voyager
Joined: 07 May 2004 Posts: 97
|
Hi Anoop,
Thank you very much for your help.....Thanks all for your time....I am able to insert data into database now....the problem with Database table Column names not with the ESQL Code.....
Wrong one :
INSERT INTO Database.AKASH.INFORMATION (FIRSTNAME,LASTNAME,HOUSENO,CITYNAME) values ('hai','wow',007,'USA');
while doing trouble shooting i dropped the above table and re-created with diffrent column names like below
INSERT INTO Database.AKASH.INFORMATION (FTNAME,LTNAME,HSNO,CTNAME) values ('hai','wow',007,'USA');
Have a nice time....Thanks for all your time..
Thank You,
Bindu |
|
Back to top |
|
 |
sasmita10 |
Posted: Fri Oct 20, 2006 12:47 pm Post subject: |
|
|
 Novice
Joined: 23 Feb 2005 Posts: 24 Location: Danbury, CT
|
Have you done this before writing any code ?
mqsisetdbparms brokerName -n dataSourceName [-u dataSourceUserId] -p dataSource
This is the prerequisite for database connectivity.
-Sasmita _________________ WMQ and WMQI specialist
(IBM Certified Web Sphere MQSeries 6.0 System Administrator )
(IBM Certified Web Sphere Message Broker 6.1 System Administrator ) |
|
Back to top |
|
 |
bindu |
Posted: Sat Oct 21, 2006 12:32 am Post subject: Database configuration in v6 MB |
|
|
Voyager
Joined: 07 May 2004 Posts: 97
|
Hi Sasmita,
i didnt used this 'mqsisetdbparms brokerName -n dataSourceName [-u dataSourceUserId] -p dataSource ' ... I will check regarding this command. Right now my flow is working...i am able to insert data into Database. Have a nice time.
Thank you,
Bindu |
|
Back to top |
|
 |
|