
Business cases without proactive notification
During each enterprise projects execution phases, manual oversight still been carried out for many activities, such as demand fulfillment, budget overruns, milestones missing, housekeeping after project completion. This led to high operational cost and prone-to error.
Take below 3 cases as example:
• Project procurement controllers manually track impending demand deadlines, a time-consuming process causing missed deadlines and inefficient resource allocation. Teams often waste hours chasing overdue requirements, leading to delays and rework. The lack of proactive alerts forces reactive responses, increasing risks of budget overruns and supply chain disruptions. Controllers require automated notifications when demands near expiration to prioritize actions and prevent operational bottlenecks.
• Project Managers manually track project milestones progress, which is error-prone, causing unnoticed delays that escalate into budget overruns and reactive firefighting. They expect automated real-time alerts to catch missed deadlines early, enforce financial discipline, and protect project margins from cascading risks.
• Project financial controllers face challenges when deviations between sales order revenue and planned project revenue go unnoticed, risking budget misalignment and financial discrepancies. They expect real-time alerts for any changes in sales order revenue, ensuring these values stay in sync and enabling immediate corrective actions to protect project profitability.
Standard situation framework provides predefined situation templates which can only covers a few business cases.
From SAP S/4HANA Cloud 2202, with extended framework for Situation Handling, you can create your own situation use cases with self-modeled situation object/scenario/template. This allows seamless alignment with your enterprise project management activities, helps with proactive risk mitigation through demands delay, milestone missing, budget overruns, revenue deviation and so on, which in the end reduce operational costs and risk.
In this blog, we will walk through a case which leverages this capability for enterprise project demand management: alert Project Demand Fulfillment Delay - If Demand Date is in the past, but Demand Status is not Closed, project manager can be notified. And user can navigate directly to the project demand App for immediate check.
Now Let us create this use case from scratch. As below, multiple roles are involved for this use case.
New apps for the extended framework for Situation Handling
App | Roles | Description |
Manage Situation Objects | SAP_BR_EXTENSIBILITY_SPEC | With this app, you can model business objects that enable Situation Handling. A situation object connects existing application artefacts such as CDS views, events, and actions that form the foundation to set up situation use cases. |
Manage Situation Scenarios | SAP_BR_EXTENSIBILITY_SPEC | With this app, you can model your own situation scenarios for extended object-based situations. That is, situations that occur for a specific business object. A situation scenario is the technical description of a business scenario and provides the foundation for defining multiple use cases in the form of situation templates, which serve as blueprints for situation types. |
Manage Situation Types - Extended | SAP_BR_BPC_EXPERT | A situation template serves as a blueprint for a situation type that is used productively and creates situation instances. With the template you define the basic configuration . It is created with reference to existing situation scenario. |
My Situations - Extended | SAP_BR_EMPLOYEE | This App shows all situations within your responsibility. It offers context info and actions to solve issues, helping optimize business processes by quickly addressing problems. |
Project Demand Notification Sample
Let us look what the notification will be like before getting into the detail steps.
Notification Panel:
By choosing one notification takes you to the My Situations – Extended app. The situation page displays the detailed information as configured in the situation scenario, including the navigation option to a related app as configured in the situation type.
App: Manage Project Demand
Create a Situation Object
App: Manage Situation Objects
With this app, you can model business objects that enable Situation Handling. A situation object connects existing application artefacts such as CDS views, events, and actions that form the foundation to set up situation use cases.
You can use this app to model business objects that enable Situation Handling, including:
• Events that trigger a situation
• Actions that are displayed in the My Situations - Extended app
General Information
Input necessary information and choose appropriate SAP Object Type.
Structures
A structure represents a data source of the business object that can be affected by a situation or that triggers a situation. For object-based situations this is a CDS view. Each CDS view needs semantic keys which uniquely identify an object and are stored in an underlying table. For instance, this could be an ID such as the contract ID, or a combination of fields such as demand ID, demand status, and demand name. In this case, we use standard CDS view I_PROJECTDEMAND.
Navigation Targets
In some cases, there are no specific actions available that could resolve a situation, or a situation may be too complex to be managed with one click. To support the end user, you can define navigation targets to related apps that help solving a situation.
To find the semantic objects, semantic object actions, and parameters of a business app in the SAP Fiori Apps Reference Library.
With below config, we define the navigation to Manage Project Demand app which is shown chapter Project Demand Notification Sample.
End-User Actions
Finally, you specify the buttons that appear on the situation page in the My Situations – Extended app. Select the callback or navigation target and enter a button name and a button description.
Create a Situation Scenario
App: Manage Situation Scenarios
With this app, you can model your own situation scenarios for extended object-based situations. That is, situations that occur for a specific business object. A situation scenario is the technical description of a business scenario and provides the foundation for defining multiple use cases in the form of situation templates, which serve as blueprints for situation types.
The business object affected by a situation is defined as the anchor object. In the app, you define the anchor object and add all situation objects that serve as trigger object, to trigger situations for the anchor object. For the trigger objects, you define the trigger events and the actions that help the users resolve the situations. And you define which information is displayed in the My Situations - Extended app to the users responsible for solving situations based on this scenario.
The following graphic shows the elements that define a situation scenario:
General Information
Here you select:
• Situation object as anchor object.
• The anchor object structure ID as defined in the Manage Situation Objects app.
The anchor object key field that serves as unique identifier
In addition, you select a responsibility context ID as basis for the situation recipient definition. Contexts are created in Responsibility Management. For more information, see Manage Responsibility Contexts.
Instance Key
Define the anchor object key fields that uniquely identify a situation instance for the anchor object.
List Page Layout
This topic describes how you define the layout (columns, sections, subsections, and fields) for the My Situations - Extended app.
With the Manage Situation Scenarios app, you define for a scenario what you want to display in the list views and on the situation page of the My Situations - Extended app.
For the scenario-specific list page you can define a column for each the anchor object and for the trigger objects:
If you are using several trigger objects in a scenario, choose a generic label, such as Additional Information.
The following graphic illustrates where the two column labels are displayed:
Anchor and Trigger Columns on the Scenario-Specific List Page
Here we define one column for Anchor Object:
General Actions
General actions apply to the anchor object and are available for all anchor-trigger combinations. The input parameters are based on the anchor CDS view. They are selected on scenario level.
Situation Triggers
The situation triggers start the situation engine to check the conditions as defined in the Manage Situation Types - Extended app.
Trigger Objects
A trigger can either be the anchor object itself or another situation object. The trigger object key field needs to be unique and stored in an underlying table.
Create a Situation Template
App: Manage Situation Types - Extended
A situation template serves as a blueprint for a situation type that is used productively and creates situation instances. With the template you define the basic configuration. It is created with reference to existing situation scenario.
Situation Instances
The standard settings for the instance behavior are unchanged. Each trigger creates a single situation instance and, after closing a situation, it remains in the system. The situations are displayed in the Instance List of the corresponding situation type in the Manage Situation Types - Extended app.
General Actions
General actions apply to the anchor object and can be both callback or navigation actions. They are displayed for all instances of a situation type on the situation page. For a situation template or situation type, actions that have been defined as general actions are automatically displayed in the corresponding trigger-related action sections (see below). You can add or delete general actions only in the General Actions table.
There is no one-click action for solving such an issue. That’s why a navigation option to a related app is used. The action is configured as a general action because it relates to the anchor object. It is automatically available for any anchor-trigger combination and displayed in the trigger details section as a navigation action.
For more information, please refer Actions | SAP Help Portal.
Situation Triggers
In this section of the app, displayed for extended object-based situation templates or types, you define how a situation is triggered. An extended object-based situation template or type can have one or multiple situation triggers. The following trigger types are possible:
Event-Based Triggers:
Uses system events to create instances. This trigger type is ideal when you want to inform your users as soon as possible after an issue has occurred. At the same time, you need to make sure that the frequency of events isn't too high to avoid information overload.
Batch-Based Triggers
Uses batch jobs for periodical status checks, especially for frequently changing statuses.
For more information, please refer to Situation Triggers (Object-Based) | SAP Help Portal
Trigger Details
You use the trigger details to define the conditions that determine if and when users will be notified about situations.
Conditions
In this app section, you define for a situation trigger the conditions for creating situation instances. Each condition needs to have its own texts (situation display) for informing the users about the situation and its own notification behavior, including life cycle transitions.
for example, we can set Demand End Date as ‘=PREVIOUSMONTH’ and Demand Status as ‘!=04100’ which means demand status is not Closed.
Situation Display
In this app section, you can specify the texts with which users are informed about situations. This includes the situation texts displayed in the My Situations - Extended app and notification texts shown on SAP Fiori launchpad. The texts can embed variables that contain information from the anchor object, the trigger object, or from the event.
For the situation display, you can define different texts for the situation description and for the notification, if required by your use case. In addition, you define a text for email notifications. The situation display is assigned to a condition and displayed to the users if the condition is met.
You can also define different situation display texts for each condition, or assign a situation display to multiple conditions.
For more information, please refer to Situation Display | SAP Help Portal
Notifications/Life Cycle
The notification behavior is closely related to the life cycle of a situation instance. The transition from one situation status to another can be a trigger for notifications. For example, the creation of a situation sets the status to Open, and closing it changes the status to Resolved. You can configure a different notification behavior for each condition that is related to a life cycle transition.
You can see the default behavior patterns available for object-based or message-based situations and adjust them for your use case
For more information, please refer to Notifications/Life Cycle | SAP Help Portal
Navigation Actions
The general Display Airline action is automatically displayed in the Trigger Details section.
Batch Job Scheduling
In this app section, you define the scheduling of the batch jobs for batch-based situation triggers. You can choose from a variety of scheduling patterns:
Recipients
With the Recipients functionality, you can identify the appropriate recipients for situations. In Situation Handling, recipients are users responsible for situations of a particular situation type. They are informed about these situations through notifications (if enabled under Conditions) and can view the situation instances as entries in the My Situations or My Situations - Extended app. Please refer here for more information: Recipients | SAP Help Portal.
Create a Situation Type
App: Manage Situation Types - Extended
Situation type defines the detail category of a situation, it is based on situation template as a blueprint. After we us create the situation type with reference to situation template, we can enable it. The configuration of the template can be used right away for a productive situation type. After situation type is triggered by predefined criteria conditions, you can choose Manage Instances to view situation instances for project demand.
Informing End Users
App: My Situations - Extended
After situation type is triggered, the users responsible will get a notification which described in chapter ‘Project Demand Notification Sample’. App My Situations – Extended shows all situations within your responsibility. It offers context info and actions to solve issues, helping optimize business processes by quickly addressing problems.
Further Information
Let me point you out to further information:
If you want to request a situation to be delivered by SAP in standard, please raise a request via Customer Influence: SAP S/4HANA Cloud for EPPM
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
31 | |
8 | |
3 | |
3 | |
3 | |
3 | |
2 | |
2 | |
2 | |
2 |