Step logic in a workflow

You design the workflow so that users can check out an entry and interact with the entry, then check the entry back in. You need to create a flow of steps (routing between steps) that follows the business process.

Checking-out an entry

When an entry is checked-out to the collaboration area, IBM® Product Master evaluates the workflow definition and identifies the total list of editable and required attributes across the workflow.

These attributes are "locked" in the source container entry and it is these attributes that are checked-out to the collaboration area. This means that other attributes are not checked-out, therefore, you can create another collaboration area and check out other attributes on the same entry to a different collaboration area; provided there is no overlap on the editable and required attributes across the two workflows.

Note: You are not allowed to modify the source entry in catalog if the attributes are checked-out as either editable or required. However, to modify the already checked-out attribute you need to explicitly disable the Collaboration Area Validation locks container processing option. To disable the Collaboration Area Validation locks option through scripting, use the disableContainerProcessingOptions script operation. To disable the Collaboration Area Validation locks option through Java™ API, call the setCollaborationAreaLocksValidationProcessing method with the value as false.

Order of the checked-out entries in a collaboration area step

The sequence of the checked-out entries is the order in which they were checked-out from the source container.

Interacting with an entry in a step

After an entry arrives in a step, the code that the workflow designer wrote (the IN() function) is run. If the next step is a user step, the entry is visible in the user interface. When you click the entry, that step's performer (as defined by the workflow designer) can then edit those attributes of the entry that are allowed to be edited in that step. When this is done, the performer can select an exit value for that entry or a group of entries in that step. The OUT() function logic, if there is any, is performed, and the entry or entries move out along the specified exit value, to whatever next step, or steps the workflow designer specified for that exit value. If the defined timeout for the step expires before the user triggers an exit, the TIMEOUT() function is run and the entry leaves on the TIMEOUT exit value instead.

Exiting a step

When an entry exits a step, Product Master evaluates the definition of the workflow to determine the next step or steps for the chosen exit value.

Product Master moves the entry to the next step. If there is more than one next step, a split is performed. This means that the entry now exists in two steps at once. A typical scenario for this is that you want your pricing and detailing processes to run in parallel without one department waiting for the other. After a split, a Merge step is necessary to recombine the copies of the entry. Alternatively, all but one copy can be discarded, by using a Make Unique step. A scenario for this is, if you have three departments that perform the same task on a workflow entry, then whichever completes the task for a given entry first would cause it to be moved to a make unique step, which would delete the item from the other departments work queues. If there is more than one next step, a Split is done by the workflow automatically, as oppose to a split step that needs to be created by the workflow designer.

Checking-in an entry

At the end of a workflow, one of the steps has an exit value connected to a system-provided step such as SUCCESS or FAILURE.

If an entry is moved to SUCCESS, the changed attributes are copied back to the source container entry, and those attributes are unlocked on the source container entry. If an entry is moved to FAILURE, the checked-out entry is deleted and the attributes are unlocked.