How to Start with Custom Situations: Design Your Situation Object (3/4)
2023-10-9 17:59:44 Author: blogs.sap.com(查看原文) 阅读量:8 收藏

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.

General information

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

*) see: Situation Handling Framework – UI Text Guidelines.

Value help services

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

*) see: Situation Handling Framework – UI Text Guidelines.

Value help properties

Specify all properties from the value help service that are relevant for your situation object.

  • Entity Set / Property

Structures

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.

CDS views for object-based situations

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

*) see: Situation Handling Framework – UI Text Guidelines.

Semantic key

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.

  • Field Name 1
  • Field Name 2

Value help mappings

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)

Events

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

*) see: Situation Handling Framework – UI Text Guidelines.

Navigation targets

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

*) see: Situation Handling Framework – UI Text Guidelines.

Navigation parameters

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

Callbacks

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

*) see: Situation Handling Framework – UI Text Guidelines.

Callback parameters

To identify the right item, you need to add the parameters of the specific instance you want to resolve.

  • Callback Parameter Name

End user actions

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 *)

*) see: Situation Handling Framework – UI Text Guidelines.

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.

You can also refer to:


文章来源: https://blogs.sap.com/2023/10/09/how-to-start-with-custom-situations-design-your-situation-object-3-4/
如有侵权请联系:admin#unsafe.sh