My name is Angelika Salmen and I am the product owner of Situation Handling. With this blog post series, I want to give you guidance about how to start creating your own situation use cases. After you’ve designed your detailed use case, let’s map it to the application artifacts.
The concept of Situation Handling is based on the reuse of existing application artifacts. The situation object models a business object that refers to these artifacts:
The situation object is the technical basis of Situation Handling. You refer to the situation object throughout further configuration steps from situation scenario to situation template and situation type.
Note: For SAP S/4HANA you need to activate the ODATA Services for the Situation Handling apps.
The following sections provide an overview of artifacts and configuration parameters that you need to implement your situation case.
Provide meaningful names for your situation object. The situation object needs to refer to an allowlisted SAP business object or a custom object.
*) see: Situation Handling Framework – UI Text Guidelines.
You can define one or more value help services for a situation object that correspond to the relevant fields in the CDS views. The value help is used for configuration steps such as the condition filters for your situation case in the Manage Situation Types – Extended app or for list filters in the My Situations – Extended app.
*) see: Situation Handling Framework – UI Text Guidelines.
Specify all properties from the value help service that are relevant for your situation object.
You can define one or multiple structures for a situation object. All of them need to be of the same type, that is of type CDS view.
Situation objects that refer to business objects such as contracts, materials, services, or suppliers, are represented by CDS views. You can select allowlisted SAP CDS views or custom CDS views. Your custom CDS view should have a unique ID, at least as an annotation, so that it can be clearly referenced.
*) see: Situation Handling Framework – UI Text Guidelines.
To be able to reference your object on application UIs, provide a semantic key for the object. This can be a single key such as the number of a contract. It can also be a combination of fields, for instance, representing a flight by airline, connection number, date (LH 101 25.04.2023). The fields are displayed according to the configuration order.
The semantic key is displayed, for example, in the instance list of Manage Situation Types – Extended app and in Monitor Situations – Extended app.
Think about the fields in your CDS view that contain values relevant to your situation object, and select the appropriate value help mappings.
Define all relevant business events (workflow events) that can trigger the detection of situations. For instance, created, updated, and deleted. If you want to use business events delivered by SAP, they need to be allowlisted. (If your use case is based on a periodical check, you’ll configure it in the situation scenario.)
*) see: Situation Handling Framework – UI Text Guidelines.
If there are any related apps for your situation case, you need to define the navigation targets. At the very least, you need to define the semantic object and the semantic action for Fiori Intent-Based Navigation.
*) see: Situation Handling Framework – UI Text Guidelines.
If you want users to navigate to a specific object page in the business app, you also need to specify the corresponding parameters.
If your situation case supports quick actions that can resolve a situation, you need to specify the callback ID and the callback class.
*) see: Situation Handling Framework – UI Text Guidelines.
To identify the right item, you need to add the parameters of the specific instance you want to resolve.
While navigation targets and callback actions are the technical definitions, you need to specify the texts for the corresponding end user buttons that will be displayed on the situation page of the My Situation – Extended app.
*) see: Situation Handling Framework – UI Text Guidelines.
The exact artifact you need may not available in the system because it’s not allowlisted. If that’s the case you can consider creating own artifacts, for instance, a CDS view. But you can also revisit your template design and adapt it to the available options. For example, you can consider using a batch-based situation instead of an event-based situation.
In the next blog post I will show you different approaches to designing your scenario.
You can also refer to: