Business Object - Lifecycle

Use this page to maintain a business object's lifecycle oriented business rules and options. Open this page using Admin > System > Business Object and then navigate to the Lifecycle tab.

Description of Page

The Status accordion contains an entry for every status in the object's lifecycle. The entry appears differently for a child business object as it can only extend its inherited lifecycle by introducing algorithms and options of its own.

Use Status to define the unique identifier of the status. This is not the status's description, it is simply the unique identifier used by the system. Only the highest-level business object can define lifecycle statuses. For a child business object the inherited status description is displayed allowing navigation to the corresponding entry on the business object defining the lifecycle.

Use Description to define the label of the status. This field is hidden for a child business object.

Use Access Mode to define the action associated with this status. Refer to Access Rights for the details of how to use this field to restrict which users can transition a business entity into this state. This field is hidden for a child business object.

Enter a Monitor Process to defer the monitoring of entities in this state until the specific batch process runs. Refer to Monitor Rules for more information. This field is hidden for a child business object.

The Status Reason dropdown indicates if users should be prompted to provide a specific reason when the business object enters this state. This field appears only if the Status Reason Field is configured as an option on the business object's maintenance object. Valid values are blank, Optional, and Required. The default value is blank (users are not prompted to provide a status reason). See Configuring Status Reasons for more information about status reasons.

Use Status Condition to define if this status is an Initial, Interim or Final state. Refer to One Initial State and Multiple Final States for more information about how this field is used. This field is hidden for a child business object.

Use Transitory State to indicate whether a business entity should ever exist in this state. Only Initial or Interim states can have a transitory state value of Yes. Refer to transitory states for more information. This field is hidden for a child business object.

Use Alert to indicate that being in this state warrants an application alert. This may be used by custom logic to provide an alert to a user that entities exist in this state. This field is hidden for a child business object.

Use Display Sequence to define the relative order of this status for display purposes. For example when displayed on the status accordion and on the summary tab page. This field is hidden for a child business object.

Algorithms

The Algorithms grid contains algorithms that control important functions for a given status. You must define the following for each algorithm:

  • Specify the System Event with which the algorithm is associated (see the table that follows for a description of all possible events).
  • Specify the Sequence Number and Algorithm for each system event. You can set the Sequence Number to 10 unless you have a System Event that has multiple Algorithms. In this case, you need to tell the system the Sequence in which they should execute.
  • If the algorithm is implemented as a script, a link to the Script is provided. Refer to Plug-In Scripts for more information.
  • Owner indicates if this is owned by the base package or by your implementation (Customer Modification).

The following table describes each System Event.

System Event Optional / Required Description
Enter Optional

Algorithms of this type apply business rules when a business object instance enters a given state.

The system invokes all algorithms of this type defined on the business object's inheritance hierarchy. Refer to Business Object Inheritance for more information.

Exit Optional

Algorithms of this type apply business rules when a business object instance exits a given state.

The system invokes all algorithms of this type defined on the business object's inheritance hierarchy. Refer to Business Object Inheritance for more information.

Monitor Optional

Algorithms of this type monitor a business object instance while in a given state. Typically these are used to auto-transition it to another state.

The system invokes all algorithms of this type defined on the business object's inheritance hierarchy. Refer to Business Object Inheritance for more information.

Fastpath: Refer to BO Algorithm Execution Summary for more information about how these algorithms fit within other business object algorithms.
Note: Generate Algorithm. A context sensitive "Generate a BO Algorithm" zone is associated with this page. Refer to Defining Business Objects for more information about this zone.
Note: You can inactivate status level algorithms on base Business Objects. Your implementation may want to use a business object provided by the base product, but may want to inactivate one or more of the status oriented algorithms provided by the base business object. To do that, on the business object and status where this algorithm is referenced, go to the options grid and add a new option, setting the option type to Inactive Algorithm and setting the option value to the algorithm code.

Next Statuses

Use the Next Statuses grid to define the valid statuses a business entity can transition into while it's in this state. This section is hidden for a child business object. Refer to Valid States versus State Transition Rules for more information. Please note the following about this grid:

  • Status shows the statuses for the top-level business object, the Status Code, the Lifecycle BO description, and the Status description for each status.
  • Use Action Label to indicate the verbiage to display on the button used to transition to this status.
  • Sequence controls the relative order of one status compared to others for display purposes. This information may be used to control the order in which buttons are presented on a user interface.
  • Default controls which next state (if any) is the default one. This information may be used by an Enter or Monitor algorithm to determine an auto-transition to the default state. It may also be used to also mark the associated button as the default one on a user interface.
  • Transition Condition may be configured to identify a common transition path from the current state. By associating a given "next status" with a transition condition value, you can design your auto-transition rules to utilize those flag values without specifying a status particular to a given business object. Thus, similar logic may be used across a range of business objects to transition a business entity into, for example, the next Ok state for its current state. You'll need to add your values to the customizable lookup field BO_​TR_​COND_​FLG.
  • Transition Role controls whether only the System or both System and User have the ability to transition a business entity into a given "next status".
  • When you initially set up a business object lifecycle, none of the statuses will reside on the database and therefore you can't use the search to define a "next status". We recommend working as follows to facilitate the definition of this information:
    • Leave the Next Statuses grid blank when you initially define a business object's statuses
    • After all statuses have been saved on the database, update each status to define its Next Statuses (this way, you can use the search to select the status).

Options

The options grid allows you to configure the business object status to support extensible options. Select the Option Type drop-down to define its Value. Detailed Description may display additional information on the option type. Set the Sequence to 1 unless the option can have more than one value. Owner indicates if this option is owned by the base package or by your implementation (Customer Modification).

Note: You can add new options types. Your implementation may want to add additional option types. For example, your implementation may have plug-in driven logic that would benefit from a new option. To do that, add your new values to the customizable lookup field BO_​OPT_​FLG. If you add a new option type for a status, you must update the business object's maintenance object to declare this new option type. Otherwise, it won't appear on the option type dropdown. You do that by referencing the new option type as a Valid BO Status Option Type maintenance object option.