Fiori Launchpad – App to App Navigation in UI5 und CDS

Um einem Anwender eine nahtlose Integration zwischen verschiedenen Fiori Anwendungen im Launchpad zu bieten, ist eine App to App Navigation zwischen den Fiori Anwendungen sehr wichtig. Wie ihr gleich sehen werdet, ist das bei neu erstellten UI5 Fiori Anwendungen oder mit Hilfe von CDS  gar nicht so schwierig.

Semantisches Objekt, Aktion und Parameter

Ein semantisches Objekt ist in der Regel ein Business Objekt wie z.B. BusinessPartner oder PurchaseOrder. Die Action ist das, was man mit dem Objekt machen kann. Z.B. Approve, Change oder Change. Optional könne Parameter angegeben werden welche eine Objektinstanz (Partner ID oder Product-ID) spezifizieren. Je nach Anwendung wird dann direkt die gewünschte Objektinstanz aufgemacht. Soweit die notwendige Theorie.

UI5 – Service CrossApplicationNavigation

Grundsätzlich wird dafür das Service CrossApplicationNavigation verwendet. Einen Zugriff auf das Service bekommt man wie folgt:

UI5 – Direkte Navigation mit semantischem Objekt, Aktion und Parameter

Mit der Methode toExternal wird die Navigation direkt ausgelöst. In target sind das semantische Objekt und optional die Aktion anzugeben. Und in params kann man ebenfalls optional eine Objektinstanz angeben.

Im Nachfolgenden Beispiel wird das semantische Objekt EPMPurchaseOrder mit der Aktion approve und dem optionalen Parameter PurchaseOrder = 300001993 verwendet.

Wenn zu einem semantischen Objekt mehrere Anwendungen definiert sind und keine Aktion mitgegeben wurde, bekommt der Anwender ein Popup mit einer Auswahlmöglichkeit der Target-Anwendungen.

Nachfolgendes Beispiel zeigt, wie man zur Launchpad Startpage navigiert.

UI5 – Erzeugung Link ohne direkte Navigation

Es kann auch die Methode hrefForExternal verwendet werden. Prinzipiell hat die Methode die gleichen Eigenschaften wie toExternal – jedoch wird nicht direkt in die Anwendung navigiert. Stattdessen erhält man einen generierten Link.

UI5 – Erzeugung Link mit einem shell hash

Möglicherweise bekommt man die Link-Informationen von einem Backend-System. In dem Fall kann man die Navigations-Informationen auch wie folgt angeben.

CDS Annotations

Eine App to App Navigation kann auch durch CDS Annotation @Consumption.semanticObject definiert werden. Dadurch wird dann in Fiori Elements Anwendungen oder in UI5 Anwendungen welche Smart Controls einsetzen automatisch die App to App Navigation angeboten.

 

Über Johann Fößleitner

Der SAP Virus hat mich vor bald 30 Jahren erfasst. Mein erster Arbeitgeber fragte mich damals, ob mir die Begriffe SAP oder ABAP was sagen. "Nein, nie davon gehört", war meine Antwort. Er meint: "Passt, Sie sind eingestellt". Seit damals verbringe ich einen Großteil meiner Zeit in der SE80 bzw. in den ABAP Development Tools. Wie wäre mein Leben verlaufen, wenn mir SAP schon bekannt gewesen wäre? Keine Ahnung, aber sicher nicht so spannend!

  • Posted by Johann Fößleitner
  • On Oktober 8, 2021
Tags: Fiori, UI5

0 Comments