Skip to Content
Product Information
Author's profile photo Ebin Joseph

Phase control codes for Maintenance Orders in SAP S/4 HANA


For maintenance order and operations, SAP introduced configurable ‘Phase Control Code’ to allow customer to control the transition of Subphases/Phases. The concept of phase control is similar to that of user defined status but not a one-to-one replacement. User defined statuses can still be used in OP/Private cloud systems whereas it’s not allowed in public cloud systems as of now.

Phase control codes help to control the movement of orders or order operations from one (sub)phase to another (sub)phase. If phase control code is activated for a maintenance order for blocking a (sub)phase, then the order will not move to the (sub)phase until the phase control is deactivated or removed. Phase control codes can be activated for an order header and or an operation.

Phase control codes can be used only for the order types for which phase-based maintenance is activated.

Configuring Phase Control Codes

Follow the below IMG path to configure Phase control codes and associated settings in OP/Private Cloud systems whereas SSCUI is provided for the public cloud systems.

SAP Customizing Implementation Guide -> Logistics – General -> Product Lifecycle Management (PLM) -> Plant Maintenance and Customer Service -> Maintenance and Service Processing -> Fiori Apps for Maintenance Processing -> General Settings -> Define Phase Control Code for maintenance Orders.

Step 1

As a first step, authorisation keys to be created which can be assigned to phase control keys to control the users who can set or unset the phase control code on relevant entity. This is important as uncontrolled usage of phase control codes can impact the execution of the maintenance activities.



Step 2

Customer can specifically select the order types for which they want to have phase control codes. Phase control codes can be created for order header as well as for order operation as shown below.


Step 3

If it’s required to set a phase control code upon creation of the entity, it’s needed to check “Set Auto” field which will set the phase control code when the entity is created.

As shown in the below example, phase control code “ZRF1” will be set automatically when the order of type YA02 is created.


Authorisation key which is created in step 1 can be assigned against the phase control codes in this step. Those users who have this authorisation key assigned to their roles only can set/reset the phase control code.

If a phase control code Validity is maintained as deprecated,still it can be activated or deactivated for an order/operation (System issues a warning message at the time of activation).

It’s possible to make a phase control code as No longer Valid which wont allow the user to set this phase control code for any object,but already activated phase control code can be deactivated.

Step 4

Phase control codes can be configured in such a way that it will be set on an entity when the entity reaches a phase or subphase. But it’s mainly used to block the entity attaining a particular phase or subphase

In the below example as and when order reaches Scheduling phase, phase control code ZRF will be set automatically at the order header.

Note:There are multiple ways to activate the phase control code for an order/operation. It’s possible for the authorised users to manually activate the Phase control code for an order/operation. Alternatively make use of BAdI with required logic to determine when this Phase control to be activated.


Now the phase control code “ZRF” won’t allow the order to get into ready for execution subphase (Execution Phase)

For each of the Activate/Block set, system determines the system statuses (if any) automatically which is relevant for that Phase/Subphase.

In the below example phase control code ZRF will be set when the order header has the status ORSC and it’s determined automatically by the system as this status is a prerequisite to reach the scheduling phase.


In addition, if it’s needed to add more system statuses which is also required to be considered for Activate/Block cases, same also can be done in this step

In the below case, Control Key ZRF blocks the order to get into Subphase/Phase Ready for Execution/Execution. But it’s still possible to do confirmation or partial confirmation of the operations of the order which will set the CNF/PCNF status on the order header. If it’s required to block the same as well, add system statuses CNF/PCNF as below in the adjust system statuses screen for the phase control code.




Phase control codes are used in Phase Based Maintenance to control the movement of orders/Operations from one subphase to another subphase.This is a prominent feature especially in S/4 HANA cloud system in the absence of user status feature.

Assigned Tags

      Be the first to leave a comment
      You must be Logged on to comment or reply to a post.