!--a11y-->
States 
A state is a condition or situation of an individual object during which it satisfies some condition, performs some activity, or waits for some event.
For example, if a house is waiting to be sold it is said to be in state AVAILABLE; if a software license has an owner it is said to be in state SOLD; if a car is being produced it is said to be in state IN_PRODUCTION. A state in the IOITF identifies the “…condition or situation during the life of an individual object…”.
You must define the states that your individual object can be in at any given point in time. Begin by listing required states and then define them within your behavior profile as follows:
...
1. From the SAP Implementation Guide choose Customer Relationship Management à Master Data ® Products à Individual Objects à Individual Object Integration Framework (IOITF) à Configure Individual Object Integration Framework’s State Manager à Define Behavior Profile
2. Select your behavior profile and choose the States node in the tree displayed on left.
3. Enter the unique ID, description and type. You can also assign an entry action or exit action to your profile.

For example, the list of states required for the High Tech Software Entitlement is defined within behavior profile ISHT_BP_ENTIT_PER as shown below.
States
State ID |
Description |
State Type |
Entry Action |
Exit Action |
ISHT_ACTIVE |
ISHT: Entitlement active |
Simple State |
|
|
ISHT_INACTIVE |
ISHT: Entitlement inactive - final state |
Final State |
|
|
ISHT_ISSUED |
ISHT: Entitlement created - initial state |
Initial State |
|
|
ISHT_MAINTENANCE_EXP |
ISHT: Maintenance contract expired |
Simple State |
|
|
State Type
An individual object’s life cycle has a start and end . To represent this, there are two special state types:
· Initial State – Indicates the default starting place
· Final State – Indicates the completion place
All the other states are of type Simple State. There can be only one initial state but there can be multiple final states.
What if you want to do something whenever an individual object leaves a From State no matter which transition is causing this? Similarly, what if you want to do something whenever the object enters a To State no matter which transition is causing this?
The answer is exit action and entry action respectively. For example, whenever an individual object enters the state SOLD, you want to record into history that it was sold. Exit and entry actions are assigned to states.
Technically, an exit or entry action is similar to an action. The only difference is that an action is assigned to a transition (and is executed whenever the transition is fired) whereas exit or entry actions are assigned to a state (and are executed whenever an individual object leaves or enters the state irrespective of the causing transition). When a transition is fired, first the exit action assigned to the from state is executed, then, the action assigned to the transition is executed, and then, the entry action assigned to state is executed.
You create and register your exit or entry action in a fashion similar to creating an action. Having done that, you can assign them to a state. Assignment of exit and entry actions to a state is done at the same place where you define a state within a behavior profile .
The following basic state diagram shows how the states in a very simple life cycle could look.

The definition of an individual object’s life cycle isn’t complete yet. The “flow of control” between these states is missing. This topic is discussed in Transitions.