This section explains how to manipulate a property set in a workflow without custom script. The mechanisms used here are:
The Workflow Utilities business service, echo method.
Workflow process aliases
The dot notation.
The following techniques allow reading and setting property set content. It is limited to hierarchies that do not have many children of the same type. For example, if a hierarchy has an Account and several Activities, retrieving the value of an Activity attribute is only possible for the first activity of the hierarchy.
If the requirement is to navigate the property set and loop through children, scripted is needed.
Aliases
Workflow Processes can have Process Properties of type "Alias". This kind of Process Property works as a pointer to a specific attribute inside a Property Set. Aliases can be used to get an attribute from or set an existing attribute in a Property Set.
Syntax description:
ProcessProperty/[PropertySeta]/[PropertySetb]/.../[PropertySetn]/@attribute
ProcessProperty (mandatory): an existing Workflow Process Property of type Hierarchy.
PropertySeta to PropertySetn (optional): any sub-property set used to reach the sub-levels of the hierarchy.
@attribute (mandatory): the attribute being referenced in the alias.
"/" is the mandatory separator between the ProcessProperty, sub-propertysets and the attribute
Example:
psSiebelMessage/ListOfOrder Interface/Orders/@Account Id
Below Table describes the behavior of different Aliases
Alias
Get
Set
Comments
psSiebelMessage/ListOfOrder Interface/Orders/@Id
1-110CJ
1-110CJ
psSiebelMessage/ListOfOrder Interface/@Id
Empty value
Nothing happens
There is no attribute called "Id" inside the psSiebelMessage/ListOfOrder Interface.
psSiebelMessage/ListOfOrder Interface//@Id
Error
Error
There is a syntax error in the Alias "//@Id"
Dot Notation - Read Attributes
As an alternative for Aliases, the dot notation can also be used to get attributes from a PropertySet. We commonly use Echo Steps with dot notation.
The table below shows the behavior of reading values from PropertySets using dot notation and an Echo step. Assuming the Input argument is called with the Process Property psSiebelMessage.
Output Argument
Get
Comments
psSiebelMessage.ListOfOrder Interface.Orders.Account Id
1-110CJ
psSiebelMessage.ListOfOrder Interface.Account Id
Error
There is no attribute called "Account Id" inside the PS
Dot Notation - Set Attributes
As an alternative for Aliases, the dot notation can also be used to set attributes from a Property Set. We commonly use Echo Steps with dot notation.
The table below shows the behaviour of setting values to Property Sets using dot notation and an Echo step. Assuming the Input argument is called with the Process Property psSiebelMessage and the psSiebelMessage is recaptured in the Output of the Echo step from the PS.
Input Arguments
Result
Comments
psSiebelMessage.ListOfOrder Interface.Orders.Account Id
The new value is replaced inside the Property Set
psSiebelMessage.ListOfOrder Interface.Orders.Id
The new value is added to the Hierarchy
A new attribute called "Id" will be created under the hierarchy "psSiebelMessage.ListOfOrder Interface.Orders"
psSiebelMessage.ListOfOrder Interface.Orders..Id
The new value is added to a Hierarchy without name
A new non-named hierarchy (or PropertySet) will be created under the hierarchy "psSiebelMessage.ListOfOrder Interface.Orders" with an attribute called "Id".
When the sample workflow attached to this document is simulated/tested to set the attributes using dot notation, output after populate alias step in the workflow for the following elements will be as follows:
sLocationIntegrationId:Testing String - value added
sMessageId:Test Message Id via Alias
SiebelMessage/@MessageId, SiebelMessage/ListOfOrder Interface/Orders/ListOfLine Items/Line Items/ListOfRequested Schedule Lines/Requested Schedule Lines/@Source Inventory Location Integration Id in siebel message are undisturbed.
If you want to populate the SiebelMessage/@MessageId then you need to specify the property name as aMessageId in output arguments.
Summary
Dot notation can create new items under hierarchies, aliases cannot. This operation doesn't Error-out with any of them.
Dot notation Error-outs when reading a non-existing attribute from a Property Set. Aliases do not.
Dot notation has a limitation of 75 characters (maximum size for step input/output arguments). Aliases can have up to 255 characters.
Process property of type Alias will not show up in Watch Windows.
There is no need to echo the Alias to a process property if it is used it in an expression or decision step. It is considered by the workflow as the value it is pointing to in the PropertySet.
To read attributes from Generic Inbound messages, the Dispatch Rule transformation should be used to populate the attribute value inside the Workflow Process Property, avoiding additional Echo Steps. Use aliases if the attribute is not part of the message.