How to Start with Custom Situations: Design Your Situation Object (3/4)
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:
- Data structures that represent business object data.
- Value help services that support the configuration of situation cases and filter values for the key user.
- Business events that trigger the Situation Handling engine.
- Navigation targets that are based on Intent-Based Navigation (technical reference).
- Callback actions that resolve a situation (technical reference).
- End-user buttons that display navigation targets and callback actions on the situation page of the My Situations – Extended
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.
- Object ID *)
- Object Name *)
- Object Description *)
- SAP Object Type
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.
- VH Service ID *)
- Service Protocol Version
- Service Path Type
- Service Path Binding
- Service Version
Specify all properties from the value help service that are relevant for your situation object.
- Entity Set / Property
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.
- Structure ID *)
- Structure Type: CDS
- Structure Name
- Description *)
- SAP Object Type
- SAP Object Node Type
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.
- Field Name 1
- Field Name 2
Think about the fields in your CDS view that contain values relevant to your situation object, and select the appropriate value help mappings.
- Field Name / Service ID for Value Help (Entity Set, Property)
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.)
- Event ID *)
- Description *)
- Event Category
- Event Object
- Event Type
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.
- Navigation ID *)
- Semantic Object
- Semantic Object Action
If you want users to navigate to a specific object page in the business app, you also need to specify the corresponding parameters.
- Navigation Parameter Name
If your situation case supports quick actions that can resolve a situation, you need to specify the callback ID and the callback class.
- Callback ID *)
- Callback Class
To identify the right item, you need to add the parameters of the specific instance you want to resolve.
- Callback Parameter Name
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.
- Action ID *)
- Action Type
- Navigation ID / Callback ID
- Button Name *)
- Button Description *)
Are you missing an artifact?
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.
- How to Start with Custom Situations: High-Level Design of the Use Case (1/4)
- How to Start with Custom Situations: Detailed Design of the Use Case (2/4)
- How to Start with Custom Situations: Design the Situation Object (3/4)
- How to Start with Custom Situations: Define Your Scenario (4/4)
You can also refer to:
- SAP Help Portal: Situation Handling – Extended Framework for SAP S/4HANA Cloud, Responsibility Management
- SAP Community: Intelligent Situation Handling