Skip to Content
Product Information

Navigation between Fiori and WEB Client UI Applications in Investigative Case Management for SAP S/4HANA

Introduction

Investigative Case Management (ICM) is now available on SAP S/4HANA since S/4HANA 1909 FPS00 release. An overview of the product can be found in the below blog post.

Investigative Case Management for SAP S4HANA is now released on SAP S/4HANA 1909 FPS00.

The new ICM is a collection of classical web UI applications rendered as Apps in Fiori launch pad and new Fiori template-based apps. Both these heterogeneous applications work side by side with seamless working experience and inter application navigations along with data context transfer. This blog post gives more information on how navigations are achieved between these two heterogeneous applications.

The blog illustrates the below three navigations

  1. Navigation from Web UI to Fiori
  2. Navigation from Fiori to Web UI
  3. Navigation from Fiori to Fiori

Navigation from Web UI to Fiori

Below steps illustrate on how navigation is enabled from Web UI to Fiori in ICM.

  1. New Object Types are created to represent ICM Location and ICM Object in Web UI

ICM Location and ICM Object are new assignment blocks created in place of old blocks. New UI Object Types are created to represent ICM Location and ICM Object in Web UI (using the view BSPDLCV_OBJ_TYPE in SM30)

Object Type Description Genil Component BOL Object Name
CRMS4_ICM_LOCATION ICM Location ICMREL ICMS4RelLocation
CRMS4_ICM_OBJECT ICM Object ICMREL ICMS4RelObject

 

2.Creation of Navigation descriptor

To initiate a navigation, a new navigation descriptor should be created with reference to the UI object types entered above. This descriptor should be added to the navigation collection to allow the framework to interpret the navigation in FLP mode separately.

A sample code looks like below

*** start of navigation
CALL METHOD cl_crm_ui_descriptor_obj_srv=>create_ui_object_based
EXPORTING
iv_ui_object_type   = ‘CRMS4_ICM_LOCATION’
iv_ui_object_action = ‘B’
iv_entity_key_value = lv_entity_key_value
iv_entity_key_name  = lv_entity_key_name
RECEIVING
rr_result           = lv_descriptor_object.

3. FLP Navigation Mapping

We have made the required configurations in the below IMG activity for navigation from a Web Client UI Framework (WCF) application to a Fiori Launchpad (FLP) application.

The WCF uses the information of this IMG activity to deviate the navigation to FLP.

IMG->Service->Technical Role Definition->Define FLP Navigation Parameter Mapping

Object Type CRMS4_ICM_LOCATION CRMS4_ICM_OBJECT
Object Action Display Display
Semantic Object ICMLocation ICMObject
Semantic Action Manage Manage
Navigation Mode INPLACE INPLACE
Parameter Name1 InvgCsMLocationID InvgCsMObjectID
Parameter Value 1 @InvgCsMLocationID @InvgCsMObjectID
Parameter Name2 DraftUUID DraftUUID
Parameter Value 2 guid\’00000000-0000-0000-0000-000000000000\’ guid\’00000000-0000-0000-0000-000000000000\’
Parameter Name3 IsActiveEntity IsActiveEntity
Parameter Value 3 true True

Navigation from Fiori to Web UI

In Order to enable navigation from Fiori to Web UI Navigation, parameter defining the target navigation must be maintained in the technical Catalog for the semantic object-action combination.

In Our Example, to navigate from ICM Location Fiori App to ICM Case Web UI Application, we need to maintain the target parameter and link it to the field in CDS View in the ICM Case – display (Semantic Object-Action) App Descriptor.

Here parameter InvgCsMRelationshipTargetUUID is added which is renamed to crm-object-value (Since this is the parameter used in the WebClient Application ID TICM_CSDSP)

Navigation to WebUI Apps from Fiori Apps is achieved through this parameter.

Seamless navigation to WCF apps from Fiori Apps is achieved through intent based navigation. CDS Annotation #WITH_INTENT_BASED_NAVIGATION is provided in the CDS View to support navigation from Fiori Apps to WEBCUIF apps.

This navigation type contains an action that is related to a semantic object. This combination of action and semantic object is an intent. The annotation @Consumption.semanticObject is required for navigation based on intent. The client decides how to react when this navigation is triggered.

It needs the combination of Sematic Object, action and Parameters.

Below is the code Snippet written in the ICM Location CDS View to achieve intent based navigation.

CDS View fields will be passed as parameters of the action.

Corresponding CDS view should have the field InvgCsMRelationshipTargetUUID whose values will be mapped to crm-object-value.

Navigation from Fiori to Fiori

Since we have two Fiori Apps ICM Location and ICM Object, user should be able to navigate from ICM Location to ICM Object and from ICM Location to ICM Location.

Fiori to Fiori Navigation is also achieved through Intent Based Navigation.

Below is the target mapping defined in ICM Location to support navigation.

Inter App Navigation

Inter App Navigation is the navigation between the same Apps, Navigation from ICM Location to ICM Location or from ICM Object to ICM Object.

CDS Annotation #WITH_NAVIGATION_PATH supports the navigation between ICM Location to ICM Location or from ICM Object to ICM Object.

Cross App Navigation

Cross App Navigation is the navigation between two different Apps, Navigation from ICM Location to ICM Object or from ICM Object to ICM Location.

In the CDS View annotation #WITH_INTENT_BASED_NAVIGATION should be used to navigate between ICM Location to ICM Object or from ICM Object to ICM Location.

More details on intent based navigation can be found in the below help page.

Intent Based Navigation

1 Comment
You must be Logged on to comment or reply to a post.