Enterprise Resource Planning Blogs by SAP
Get insights and updates about cloud ERP and RISE with SAP, SAP S/4HANA and SAP S/4HANA Cloud, and more enterprise management capabilities with SAP blog posts.
cancel
Showing results for 
Search instead for 
Did you mean: 
Mark_Huang
Advisor
Advisor
650

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.

Mark_Huang_0-1743079768312.png

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:

Mark_Huang_1-1742953033541.png

Mark_Huang_2-1742953063756.png

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.

Mark_Huang_3-1742953188512.png

App: Manage Project Demand

Mark_Huang_4-1742953213088.png

Mark_Huang_5-1742953249598.png

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.

Mark_Huang_6-1742953320687.png

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.

Mark_Huang_7-1742953343672.png

Mark_Huang_8-1742953374511.png

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.

Mark_Huang_9-1742953410378.png

 

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.

Mark_Huang_10-1742953437694.png

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:

Mark_Huang_11-1742953466340.png

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.

Mark_Huang_12-1742953498093.png


Instance Key

Define the anchor object key fields that uniquely identify a situation instance for the anchor object.

Mark_Huang_13-1742953525762.png


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:

  • Column label for the anchor object:
    The column label of the anchor object can be specific because there is only one per scenario.
  • Column label for 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:

Mark_Huang_14-1742953617838.png

Anchor and Trigger Columns on the Scenario-Specific List Page

Here we define one column for Anchor Object:

Mark_Huang_15-1742953646062.png

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.

Mark_Huang_16-1742953670413.png

Mark_Huang_17-1742953687902.png

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.

  • Anchor Object as Trigger
    An anchor object trigger can either be an event, such as the creation, update, or removal of a contract, or batch runs that periodically check the status of the object, such as the expiration date of a contract.
  • Other Objects as Trigger
    Other objects could trigger events. The update of a supplier rating for instance, that results in a significantly worse rating, triggers a situation for the contract with the proposal to select an alternative supplier. Other object triggers are always event-based.

Mark_Huang_18-1742953747175.pngMark_Huang_19-1742953753797.png

Mark_Huang_20-1742953762719.png

Mark_Huang_21-1742953771118.pngMark_Huang_22-1742953778237.png

Mark_Huang_23-1742953785195.png

Mark_Huang_24-1742953795435.png

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.

Mark_Huang_25-1742953852485.png

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.

Mark_Huang_26-1742953877397.png

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

Mark_Huang_27-1742953955437.png

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 

Mark_Huang_28-1742954004390.png

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.

Mark_Huang_29-1742954044118.png

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

Mark_Huang_30-1742954103377.png

Mark_Huang_31-1742954113183.png

Mark_Huang_32-1742954120846.png

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

Mark_Huang_33-1742954163598.png

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:

Mark_Huang_34-1742954194037.png

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.

Mark_Huang_35-1742954232026.png

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