Composite State: To Update a Composite State
This activity will walk you through the process of adding a nested state to a composite state of a predefined workflow.
Story
On the Invoices (SO303000) form, the default workflow includes a composite state with multiple nested states.
Suppose that you want to add a new state, Postponed, to the composite state in the workflow for the Invoices form after the Credit Hold state. Further suppose that you need to specify a skip condition for it and add a transition from this state to the next state in the workflow.
If a user specifies a discount for an invoice, you want this invoice to be reviewed and the discount to be approved before the user can proceed with processing the invoice. After the discount is approved, the system specifies the business date in the Cash Discount Date box. The skip condition will check for no cash discount being applied to the invoice. That is, if the user does not specify any discount, the system will skip the Postponed state.
Process Overview
In the extension of the predefined workflow for the Invoices (SO303000) form, you will implement an action (and the corresponding button on the form toolbar and command on the More menu) that will trigger a transition from the new state. You will also add a nested state, specify a condition that the system will use to skip this state, and then add a transition from the state to the next nested state.
System Preparation
In an instance with the T100 dataset, make sure that you have done the following:
- Prepared an instance with the PhoneRepairShop customization project and enabled the workflow validation by performing the prerequisite activities in the Preparing an Instance for Workflow Customization chapter.
- Prepared the screen configuration and defined the set of states by performing the prerequisite activities in the Preparing a Screen Configuration chapter.
- Created an extension of the predefined workflow for the Invoices (SO303000) form, as described in the Workflow Customization: To Add an Action to a Workflow prerequisite activity.