Author |
Message
|
somsayan |
Posted: Fri Apr 24, 2009 1:38 am Post subject: Implementation Error |
|
|
Apprentice
Joined: 06 Apr 2007 Posts: 49
|
Hi,
We are working in a scenario where we need to access the database table and a shared row variable to get the data. While doing so we are using a Select query on one database table and on one row variable. The message flow returns a Implementation error.
To illustrate the situation i'm putting the SQL query that we are using.
Code: |
SET Time = THE (SELECT MAX(A.Time) FROM Database.Transaction AS A, VRowShared.{ID}[] AS B
WHERE A.ID = B.ID
AND A.TYPE <> Environment.Variables.TYPE
AND A.COMPLETE = 0
AND B.TYPE = Environment.Variables.TYPE);
|
Please help us out. A lot of thanks in anticipation of the solution [/b][/i] |
|
Back to top |
|
 |
Vitor |
Posted: Fri Apr 24, 2009 1:42 am Post subject: Re: Implementation Error |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
somsayan wrote: |
The message flow returns a Implementation error.
|
With luck it returns a bit more than that. A BIPnnnnn error would be helpful....? The actual text? Perhaps an extract of the trace you ran to try and diagnose the problem? _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
somsayan |
Posted: Fri Apr 24, 2009 1:57 am Post subject: |
|
|
Apprentice
Joined: 06 Apr 2007 Posts: 49
|
we do get the exception in a queue as an xml message. Here is the xml message that is obtained from the error queue.
Code: |
<ErrMsg>
<RecoverableException>
<File>F:\build\S600_P\src\DataFlowEngine\ImbComputeNode.cpp</File>
<Line>464</Line>
<Function>ImbComputeNode::evaluate</Function>
<Type>ComIbmComputeNode</Type>
<Name>PSC3041/PSC3041_SHR2WMS_SalesOrderDelivery#FCMComposite_1_6.IFW/IFW_CompletionFile#FCMComposite_1_7</Name>
<Label>PSC3041.PSC3041_SHR2WMS_SalesOrderDelivery.IFW_CompletionFile::PSC3041.GenerateCompFileAndUpdateDB</Label>
<Catalog>BIPv600</Catalog>
<Severity>3</Severity>
<Number>2230</Number>
<Text>Caught exception and rethrowing</Text>
<RecoverableException>
<File>F:\build\S600_P\src\DataFlowEngine\ImbRdl\ImbRdlStatementGroup.cpp</File>
<Line>732</Line>
<Function>SqlStatementGroup::generateRuntimeObjects</Function>
<Type>ComIbmComputeNode</Type>
<Name>PSC3041/PSC3041_SHR2WMS_SalesOrderDelivery#FCMComposite_1_6.IFW/IFW_CompletionFile#FCMComposite_1_7</Name>
<Label>PSC3041.PSC3041_SHR2WMS_SalesOrderDelivery.IFW_CompletionFile::PSC3041.GenerateCompFileAndUpdateDB</Label>
<Catalog>BIPv600</Catalog>
<Severity>3</Severity>
<Number>2488</Number>
<Text>Error detected, rethrowing</Text>
<Insert>
<Type>5</Type>
<Text>IFW.IFW_CompletionFile_GenerateCompFileAndUpdateDB.Main</Text>
</Insert>
<Insert>
<Type>5</Type>
<Text>36.3</Text>
</Insert>
<Insert>
<Type>5</Type>
<Text></Text>
</Insert>
<RecoverableException>
<File>F:\build\S600_P\src\DataFlowEngine\ImbRdl\ImbRdlOdbcSqlGenerator.cpp</File>
<Line>256</Line>
<Function>SqlOdbcSqlGenerator::generate</Function>
<Type></Type>
<Name></Name>
<Label></Label>
<Catalog>BIPv600</Catalog>
<Severity>3</Severity>
<Number>2110</Number>
<Text>implementation error</Text>
</RecoverableException>
</RecoverableException>
</RecoverableException>
</ErrMsg> |
|
|
Back to top |
|
 |
Vitor |
Posted: Fri Apr 24, 2009 2:01 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
somsayan wrote: |
Here is the xml message that is obtained from the error queue. |
Thank you. Now the trace please? _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
somsayan |
Posted: Fri Apr 24, 2009 2:13 am Post subject: |
|
|
Apprentice
Joined: 06 Apr 2007 Posts: 49
|
2009-04-24 15:36:23.896293 5716 UserTrace BIP2566I: Node 'PSC3041.PSC3041_SHR2WMS_SalesOrderDelivery.IFW_CompletionFile::PSC3041.ProcessTimeoutAndCompletionFile': Assigning value '''2009-04-24''' to field / variable ''OutputLocalEnvironment.TimeoutRequest.StartDate''.
2009-04-24 15:36:23.896320 5716 UserTrace BIP2537I: Node 'PSC3041.PSC3041_SHR2WMS_SalesOrderDelivery.IFW_CompletionFile::PSC3041.ProcessTimeoutAndCompletionFile': Executing statement ''SET OutputLocalEnvironment.TimeoutRequest.StartTime = vStartTime;'' at ('IFW.IFW_CompletionFile_ProcessTimeoutAndCompletionFile.Main', '68.5').
2009-04-24 15:36:23.896383 5716 UserTrace BIP2539I: Node 'PSC3041.PSC3041_SHR2WMS_SalesOrderDelivery.IFW_CompletionFile::PSC3041.ProcessTimeoutAndCompletionFile': Evaluating expression ''vStartTime'' at ('IFW.IFW_CompletionFile_ProcessTimeoutAndCompletionFile.Main', '68.61'). This resolved to ''vStartTime''. The result was '''15:37:23'''.
2009-04-24 15:36:23.896408 5716 UserTrace BIP2566I: Node 'PSC3041.PSC3041_SHR2WMS_SalesOrderDelivery.IFW_CompletionFile::PSC3041.ProcessTimeoutAndCompletionFile': Assigning value '''15:37:23''' to field / variable ''OutputLocalEnvironment.TimeoutRequest.StartTime''.
2009-04-24 15:36:23.896436 5716 UserTrace BIP2537I: Node 'PSC3041.PSC3041_SHR2WMS_SalesOrderDelivery.IFW_CompletionFile::PSC3041.ProcessTimeoutAndCompletionFile': Executing statement ''SET OutputLocalEnvironment.TimeoutRequest.Interval = '0';'' at ('IFW.IFW_CompletionFile_ProcessTimeoutAndCompletionFile.Main', '69.5').
2009-04-24 15:36:23.896505 5716 UserTrace BIP2566I: Node 'PSC3041.PSC3041_SHR2WMS_SalesOrderDelivery.IFW_CompletionFile::PSC3041.ProcessTimeoutAndCompletionFile': Assigning value '''0''' to field / variable ''OutputLocalEnvironment.TimeoutRequest.Interval''.
2009-04-24 15:36:23.896532 5716 UserTrace BIP2537I: Node 'PSC3041.PSC3041_SHR2WMS_SalesOrderDelivery.IFW_CompletionFile::PSC3041.ProcessTimeoutAndCompletionFile': Executing statement ''SET OutputLocalEnvironment.TimeoutRequest.Count = '1';'' at ('IFW.IFW_CompletionFile_ProcessTimeoutAndCompletionFile.Main', '70.5').
2009-04-24 15:36:23.896596 5716 UserTrace BIP2566I: Node 'PSC3041.PSC3041_SHR2WMS_SalesOrderDelivery.IFW_CompletionFile::PSC3041.ProcessTimeoutAndCompletionFile': Assigning value '''1''' to field / variable ''OutputLocalEnvironment.TimeoutRequest.Count''.
2009-04-24 15:36:23.896625 5716 UserTrace BIP2537I: Node 'PSC3041.PSC3041_SHR2WMS_SalesOrderDelivery.IFW_CompletionFile::PSC3041.ProcessTimeoutAndCompletionFile': Executing statement ''SET OutputLocalEnvironment.TimeoutRequest.IgnoreMissed = FALSE;'' at ('IFW.IFW_CompletionFile_ProcessTimeoutAndCompletionFile.Main', '71.5').
2009-04-24 15:36:23.896692 5716 UserTrace BIP2566I: Node 'PSC3041.PSC3041_SHR2WMS_SalesOrderDelivery.IFW_CompletionFile::PSC3041.ProcessTimeoutAndCompletionFile': Assigning value ''FALSE'' to field / variable ''OutputLocalEnvironment.TimeoutRequest.IgnoreMissed''.
2009-04-24 15:36:23.896720 5716 UserTrace BIP2537I: Node 'PSC3041.PSC3041_SHR2WMS_SalesOrderDelivery.IFW_CompletionFile::PSC3041.ProcessTimeoutAndCompletionFile': Executing statement ''SET OutputLocalEnvironment.TimeoutRequest.AllowOverwrite = TRUE;'' at ('IFW.IFW_CompletionFile_ProcessTimeoutAndCompletionFile.Main', '72.5').
2009-04-24 15:36:23.896812 5716 UserTrace BIP2566I: Node 'PSC3041.PSC3041_SHR2WMS_SalesOrderDelivery.IFW_CompletionFile::PSC3041.ProcessTimeoutAndCompletionFile': Assigning value ''TRUE'' to field / variable ''OutputLocalEnvironment.TimeoutRequest.AllowOverwrite''.
2009-04-24 15:36:23.896844 5716 UserTrace BIP2537I: Node 'PSC3041.PSC3041_SHR2WMS_SalesOrderDelivery.IFW_CompletionFile::PSC3041.ProcessTimeoutAndCompletionFile': Executing statement ''PROPAGATE TO TERMINAL 'out1' FINALIZE DEFAULT DELETE DEFAULT;'' at ('IFW.IFW_CompletionFile_ProcessTimeoutAndCompletionFile.Main', '73.5').
2009-04-24 15:36:23.896951 5716 UserTrace BIP4008I: Message propagated to '''out1''' terminal of node 'PSC3041.PSC3041_SHR2WMS_SalesOrderDelivery.IFW_CompletionFile::PSC3041.ProcessTimeoutAndCompletionFile'.
2009-04-24 15:36:24.473039 5716 UserTrace BIP4627I: Timeout request set by node 'PSC3041.PSC3041_SHR2WMS_SalesOrderDelivery.IFW_CompletionFile::PSC3041.TimeoutControl'
A TimeoutControl node has set a timeout with identifier ''1561f3d2-0a61-4142-92ce-55f2517cce94''
No user action required
2009-04-24 15:36:24.473283 5716 UserTrace BIP2537I: Node 'PSC3041.PSC3041_SHR2WMS_SalesOrderDelivery.IFW_CompletionFile::PSC3041.ProcessTimeoutAndCompletionFile': Executing statement ''RETURN FALSE;'' at ('IFW.IFW_CompletionFile_ProcessTimeoutAndCompletionFile.Main', '76.3').
2009-04-24 15:36:24.473562 5716 UserTrace BIP2537I: Node 'PSC3041.PSC3041_SHR2WMS_SalesOrderDelivery.PSC3041_SHR2WMS_TransformMessage': Executing statement ''MOVE refIn NEXTSIBLING REPEAT TYPE NAME;'' at ('PSC3041.PSC3041_SHR2WMS_SalesOrderDelivery_PSC3041_SHR2WMS_TransformMessage.Main', '19.4').
2009-04-24 15:36:24.474063 5716 UserTrace BIP2540I: Node 'PSC3041.PSC3041_SHR2WMS_SalesOrderDelivery.PSC3041_SHR2WMS_TransformMessage': Finished evaluating expression ''LASTMOVE(refIn)'' at ('PSC3041.PSC3041_SHR2WMS_SalesOrderDelivery_PSC3041_SHR2WMS_TransformMessage.Main', '6.11'). The result was ''FALSE''.
2009-04-24 15:36:24.474117 5716 UserTrace BIP2537I: Node 'PSC3041.PSC3041_SHR2WMS_SalesOrderDelivery.PSC3041_SHR2WMS_TransformMessage': Executing statement ''RETURN FALSE;'' at ('PSC3041.PSC3041_SHR2WMS_SalesOrderDelivery_PSC3041_SHR2WMS_TransformMessage.Main', '23.3').
2009-04-24 15:36:24.474344 5716 UserTrace BIP2537I: Node 'PSC3041.PSC3041_SHR2WMS_SalesOrderDelivery.IFW_MQInput::PSC3041.CheckRetryAttempts': Executing statement ''RETURN FALSE;'' at ('IFW.IFW_MQInput_CheckRetryAttempts.Main', '37.3').
2009-04-24 15:37:19.460294 3844 UserTrace BIP4629I: Timeout request being processed by node 'PSC3041.PSC3041_SHR2WMS_SalesOrderDelivery.IFW_CompletionFile::PSC3041.TimeoutNotification'
A TimeoutNotification node is processing a timeout with identifier ''ca866525-5f0a-4d4a-910e-a5a6c5b877bf''
No user action required
2009-04-24 15:37:19.460603 3844 UserTrace BIP6060I: Parser type ''Properties'' created on behalf of node 'PSC3041.PSC3041_SHR2WMS_SalesOrderDelivery.IFW_CompletionFile::PSC3041.TimeoutNotification' to handle portion of incoming message of length 0 bytes beginning at offset '0'.
2009-04-24 15:37:19.461154 3844 UserTrace BIP6061I: Parser type ''XMLNSC'' created on behalf of node 'PSC3041.PSC3041_SHR2WMS_SalesOrderDelivery.IFW_CompletionFile::PSC3041.TimeoutNotification' to handle portion of incoming message of length '196' bytes beginning at offset '0'. Parser type selected based on value ''XMLNSC'' from previous parser.
2009-04-24 15:37:19.461273 3844 UserTrace BIP4626I: Message propagated to out terminal from node 'PSC3041.PSC3041_SHR2WMS_SalesOrderDelivery.IFW_CompletionFile::PSC3041.TimeoutNotification'
A TimeoutNotification node is propagating a message to any nodes connected to its out terminal
No user action required
2009-04-24 15:37:22.821304 3844 UserTrace BIP2231E: Error detected whilst processing a message in node 'PSC3041.PSC3041_SHR2WMS_SalesOrderDelivery.IFW_CompletionFile::PSC3041.TimeoutNotification'.
The message broker detected an error whilst processing a message in node 'PSC3041.PSC3041_SHR2WMS_SalesOrderDelivery.IFW_CompletionFile::PSC3041.TimeoutNotification'. The message has been augmented with an exception list and has been propagated to the node's failure terminal for further processing.
See the following messages for details of the error.
2009-04-24 15:37:22.821365 3844 RecoverableException BIP2230E: Error detected whilst processing a message in node 'PSC3041.PSC3041_SHR2WMS_SalesOrderDelivery.IFW_CompletionFile::PSC3041.GenerateCompFileAndUpdateDB'.
The message broker detected an error whilst processing a message in node 'PSC3041.PSC3041_SHR2WMS_SalesOrderDelivery.IFW_CompletionFile::PSC3041.GenerateCompFileAndUpdateDB'. An exception has been thrown to cut short the processing of the message.
See the following messages for details of the error.
2009-04-24 15:37:22.821378 3844 RecoverableException BIP2488E: ('IFW.IFW_CompletionFile_GenerateCompFileAndUpdateDB.Main', '29.3') Error detected whilst executing the SQL statement ''''.
The message broker detected an error whilst executing the given statement. An exception has been thrown to cut short the SQL program.
See the following messages for details of the error.
2009-04-24 15:37:22.821388 3844 RecoverableException BIP2110E: Message broker internal program error.
An internal software error has occurred in the message broker. Further messages will indicate the effect of this error on the broker's transactions. There is no diagnostic information associated with this message
Shutdown and restart the message broker. If the problem continues to occur, then restart the system. If the problem still continues to occur contact your IBM support center.
2009-04-24 15:37:23.488931 3844 UserTrace BIP2537I: Node 'PSC3041.PSC3041_SHR2WMS_SalesOrderDelivery.IFW_CompletionFile::PSC3041.HandleException': Executing statement ''DECLARE AuditData SHARED CONSTANT CHARACTER 'Audit';'' at ('IFW.AuditData', '1.1').
2009-04-24 15:37:23.489011 3844 UserTrace BIP2537I: Node 'PSC3041.PSC3041_SHR2WMS_SalesOrderDelivery.IFW_CompletionFile::PSC3041.HandleException': Executing statement ''DECLARE AuditContext SHARED CONSTANT CHARACTER 'Unknown';'' at ('IFW.AuditContext', '1.1'). |
|
Back to top |
|
 |
WMBDEV1 |
Posted: Fri Apr 24, 2009 2:22 am Post subject: |
|
|
Sentinel
Joined: 05 Mar 2009 Posts: 888 Location: UK
|
Why bother having a shared constant?
I dont see the point and would recommend taking the shared keyword out. |
|
Back to top |
|
 |
WMBDEV1 |
Posted: Fri Apr 24, 2009 2:23 am Post subject: |
|
|
Sentinel
Joined: 05 Mar 2009 Posts: 888 Location: UK
|
But, I think the issue here is the AuditContext constant variable is being initialised to an unknown value (EDIT: Assuming you are not trying to set the string "Unknown")!
Last edited by WMBDEV1 on Fri Apr 24, 2009 2:29 am; edited 1 time in total |
|
Back to top |
|
 |
somsayan |
Posted: Fri Apr 24, 2009 2:26 am Post subject: |
|
|
Apprentice
Joined: 06 Apr 2007 Posts: 49
|
The shared variable is used as we have to make our processing faster and since there will be loads of data in the common table in production we have to keep that simple so that every time accessing the database doesn't take up too much time.
This variable is populated only once when the message flow runs for the first time only. |
|
Back to top |
|
 |
somsayan |
Posted: Fri Apr 24, 2009 2:29 am Post subject: |
|
|
Apprentice
Joined: 06 Apr 2007 Posts: 49
|
I think that part of the trace is started after the error has been received and the AuditContext variable is used for failure processing which runs fine and we do get the output error message. |
|
Back to top |
|
 |
WMBDEV1 |
Posted: Fri Apr 24, 2009 2:35 am Post subject: |
|
|
Sentinel
Joined: 05 Mar 2009 Posts: 888 Location: UK
|
Ok, I was just picking up on things I saw at first glance.
Does this ever work?
Have you tried recylcing the broker as suggested?
I'm now thinking that maybe the broker is having trouble connecting to the DB from the
Code: |
SqlOdbcSqlGenerator |
entry in the error report (as there arent any real clues - to me anyway in the user trace).
Which DB are you connecting to? Would and ODBC trace help here? |
|
Back to top |
|
 |
somsayan |
Posted: Fri Apr 24, 2009 3:03 am Post subject: |
|
|
Apprentice
Joined: 06 Apr 2007 Posts: 49
|
The broker was connecting to the database properly. This piece of code does work when we replace the row variable with a table from the database. And the row variable alone is working fine if a select query is issued.
So we just wondered that whether the broker works when the select query is issued on a database table and a row variable together. |
|
Back to top |
|
 |
|