CR #429800
Description: The business process service does not support math expressions inside index predicates.
CR #429145
Description: If you are using an element that occurs more than once under two different namespaces in a public WSDL, you may have problems if you use the Test dialog.
Workaround: Use the SOAP Inspection dialog.
CR #428930
Description: When you create a looping complex activity, a count variable is automatically created to facilitate development. The default count variable name is counter, causing a problem with nested loops. When you create a loop within a loop, all the count variables have the same name.
Workaround: If you plan to use count variables in a nested loop, change the default name of the count variable to a meaningful name within the context of the business process, for example, orderCounter or lineItemCounter.
CR #428910
Description: The expression editor is disabled for an assign activity if the source and target have not been specified or, in a Prune, the target has not been specified. The expression editor is available if the source is a literal, but the editor contains the target node only, and nothing can be added.
CR #424055
Description: If you deploy two separate packages that listen for messages on the same input queue, you could have problems with the routing of messages to the appropriate business process service. Because each package installs its own JMS listener, this process works intermittently when the message is grabbed by the correct listener, but fails when listener A grabs a message intended for listener B and vice versa.
Workaround: Install both business process services in the same package and use a single JMS input endpoint to expose the services. In this case, one JMS listener is registered that routes messages to one of two business processes.
CR #426619
Description: A stateful business process may fail to be cleaned up after the business process completes if the business process uses correlation values that begin with a space. This problem is due to an error in the interaction between the server and the transaction manager.
Workaround: When running a business process, do not send correlation values that begin with a space. There is no known solution to the problem at this time.
CR #401250
Description: The target (Finish) node of an assign activity does not support variable references inside of XPath index predicates, such as in the following example:
/PurchaseOrder/LineItems/Item[/counter]/PartNum
Workaround: Use the getVariableData pseudofunction to retrieve the value of the variable, as shown in the following example:
/PurchaseOrder/LineItems/Item[getVariableData(‘counter’)]/PartNum
CR # 403833
Description: Deadlocks can occur when stateful business process #1 invokes stateful business process #2. This occurs when the invocations are in the same package (the same transaction) and multiple threads invoke the services.
Workaround: Break the transaction between business process #1 and business process #2 by wrapping business process #2 with a SOAP service.
CR # 390946
Description: The XPath number function does not return the numeric value of the given argument if it is a Boolean type. For example, if you create an input parameter, connect it to number function, and connect this to an output parameter in an assign, you do not see the expected results.
Workaround: Use the following method to produce the correct results for the above example.
Converting a Boolean argument to a number in an
assign activity
Create an input Boolean parameter.
Create an output Float parameter.
Activate the Tool Palette.
Click inside the editor.
Click the Tool Palette icon on the Fast View shortcut bar, and select the Activities tool palette.
Drag and drop an assign activity onto the canvas.
From the Business Process Variables section, drag the parameter you want to use as the source, and drop it into the Source cell of the assign properties.
From the Business Process Variables section, drag the parameter you want to use as the target, and drop it into the Target cell of the assign properties.
Click the Assign tab in the Properties Panel for the assign.
Click in the expression editor to activate the Tool Palette.
Select the Boolean Functions tool palette, drag IsEqualTo, and drop it onto the expression editor.
From the Generic Variable and Constants tool palette, drag String Constant, and drop it onto the expression editor.
Highlight String Constant in the editor, and change the Logical name property to True. Select the check box next to Source text to keep the Logical name and Source name the same.
Change the datatype to Boolean.
From the Number Functions tool palette, drag number and drop it onto the expression editor.
Connect the following to create the flow:
Connect the input variable to IsEqualTo.
Connect True to IsEqualTo.
Connect IsEqualTo to the number.
Connect the number to the output variable.
CR # 399122
Description: The substring-after and substring-before functions do not always give the correct output if the argument strings have leading zeroes. The leading zeroes are deleted.
Workaround: Perform the operations using a map.
CR # 401270
Description: When comparing the value of a dateTime field to the dateTime constant or a variable, Sybase WorkSpace does not always return True even when the condition is True. For example:
getVariableData('BP11243231409382', 'newParameter1', '/ns0:CT/ns0:dateTime') < '2005-08-17T18:00:00'
Workaround: Convert the dateTime field values to ISO dates or times. The ISO format puts the number in a sequence (such as YYYYMMDDHHMMSS) without any of the annotations that are present in the format used by XSD Schema types. When dates and times are in this format, you can compare the two integers to identify which dates are newer or older.
For example, if you have a dateTime format of 2005-08-17T18:00:00, you can perform the following operations on that string to convert it to an ISO dateTime, where dateTime = 2005-08-17T18:00:00:
result = concat( concat( concat( substring(dateTime, 1, 4), substring(dateTime, 6, 2) ), concat( substring(dateTime, 9, 2), substring(dateTime, 12, 2) ) ), concat( substring(dateTime, 15, 2), substring(dateTime, 18, 2)))
This operation would yield result = 20050817180000. Convert this string to an integer using number and round functions, round(number(result)), which could then be used as an integer in a comparison.
CR # 431557
Description: If the looping expression of a complex activity is collapsed and the complex activity also contains an assign having a collapsed expression, the looping expression is corrupted when the complex activity is cut and pasted into another complex activity.
Workaround: Expand the looping expression of a complex activity before cutting and pasting the complex activity.
CR # 431554
Description: Sybase WorkSpace hangs when an assign activity containing multiple rows, at least one of which contains a collapsed expression, is copied or cut. Sybase WorkSpace must then be killed from the Windows task manager.
Workaround: Expand any collapsed expressions within an assign activity containing multiple rows before attempting to copy or cut the activity.
CR #408108
Description: If you attempt to delete a target in the expression editor, the action is ignored.
CR #408088
Description: If you attempt to replace an expression target in the expression editor by dragging and dropping the new variable onto the existing variable, the new variable is only placed onto the canvas but does not replace the existing variable.
Workaround: Use the Assign Overview tab to replace expression targets.
CR #398913
Description: Deleting a Send Response operation when the response variable is set to a fault parameter can result in errors.
Workaround: Before deleting a Send Response operation, change the Response variable from the fault parameter to Normal Response.