Working with Fiori Frontend Server
When working with Fiori applications the SAP Fiori Front-End Server can be deployed in a system landscape as a hub connected to SAP S/4HANA (and SAP Business Suite on HANA) systems.
In this scenario :
- The SAP Fiori UIs are decoupled from the backend system (separate shipment)
- The SAP Fiori Front-End Server offers a central deployment of the UIs and a central enablement of OData access to S/4HANA and other SAP application backend systems
- The Fiori Apps are deployed in separate systems (UIs in the Front-End server, related OData services in the backend systems)
This means that the Logical Component Groups (LCG) defined for the SAP S/4HANA system and used to determine the technical systems are not sufficient. The S/4HANA LCG directly points to the SAP S/4HANA ABAP applications system. This is fine for classic executable types such as transactions, reports, etc. Navigation to a Fiori application is not possible using the direct S/4HANA ABAP server endpoint as it is maintained in the logical components comprised in logical component group for S/4HANA.
Fiori applications communicate via a Fiori Frontend Server with the S/4HANA backend system. To enable navigation via SAP Solution Manager an additional LCG for the Fiori Frontend Server is required. This LCG will not be used actively in SAP Solution Manager process management. If you want to document a Fiori application you would still use the S4HANA LCG. The LCG for the Fiori Frontend Server is only used for technical reasons to determine navigation endpoints of Fiori applications.
In case a Fiori Frontend Server is used, you need to define a mapping between the S/4HANA and the corresponding Fiori Frontend Server LCG. In this example the LCG for S/4HANA is called "S4HANA" and the LCG for the Fiori Frontend Server is called "S4HANA_F". The mapping between the two LCGs is established using a BAdI implementation of BAdI BADI_SMUDE_ADMIN_CENTRAL_SYST. The mapping allows the system to use the alternative S4HANA_F LCG for Fioris instead of the classic S4HANA LCG.
The BAdI implementation is not complicated and could look like this:
METHOD if_smude_admin_central_syst~get_central_system. IF i_solution EQ '051MWsLH7jM}bWTH0Dgr4G' " ID of Solution AND i_logical_component_group EQ 'ABIFNA3FKEPNLP4WBQKEXYEVCU'. " ID of S/4HANA classic LCG e_logical_component_group = 'ABIFNA3FKEPNLP4WBX56XHMVCY'. " ID of Fiori Frontend LCG ELSE. e_logical_component_group = i_logical_component_group. ENDIF. ENDMETHOD.
For the BAdI implementation you need to use the ID of the solution and the IDs of the LCGs. You can enable/disable the solution administration UI to show the IDs with report "RSMUD_SOLADM_NODE_INFO" as of SP06. In older SPs you can finde the IDs in the following tables:
- @parameter i_solution | Solution GUID as in field SLAN_ID of table SLAN_HEADER
- @parameter i_branch | Branch GUID as in field ROOT_OCC of table SMUD_ROOT_NODE_H
- @parameter i_logical_component_group | Logical component group GUID as in field NAME of table LMDB_LC_HD_T
Finally you need to define the object types relevant for this BAdI implementation.
9 Comments
Aldo Alejandro
Hi Wulff-Heinrich,
We have solman 7.2 sp05 and st-ser720 sp008. I don't see the rsmud_soladm_node_info report in se38 or table tadir. Looked for a note on the report but there is none. Could you give us the source code for the report?
Thank you.
Kind regards,
Aldo
Wulff-Heinrich Knapp
Hi Aldo,
ups - the report will come in one of the upcoming SPSs. Sorry for the wrong information.
But you can also find the IDs easily in the tables:
"! @parameter i_solution | Solution GUID as in field SLAN_ID of table SLAN_HEADER
"! @parameter i_branch | Branch GUID as in field ROOT_OCC of table SMUD_ROOT_NODE_H
"! @parameter i_logical_component_group | Logical component group GUID as in field NAME of table LMDB_LC_HD_T
Hope this helps.
Cheers, Wulff
Aldo Alejandro
Thank you for your quick reply!!!
Pablo Blanco
Kind regards,
Pablo.
Wulff-Heinrich Knapp
Hi Pablo,
please don't forget to maintain the filter values for the BAdI. They will make the BAdI only called for Fiori object types (last screenshot of my description above). All other types should not be treated by the BAdI.
Cheers, Wulff
Pablo Blanco
Hi Wulff, thanks for the quick response, is there any plan by SAP to deploy some "badi" similar to this, so we are able to call ABAP Tx en frio from Solman?
Thanks,
Pablo.
Wulff-Heinrich Knapp
Hi Pablo,
we don't need a different BAdI for this. Apply BAdI filter values (types EXECFIORILOGCOMP, REF_EXECFIORILOGCOMP, and REF_EXECFIORILOGCOMP_TS) so that the BAdI implementation is not called for other types than the ones defined in the filter. In this case the LCG switch would be performed for the FIORI relates types but NOT for all others.
In your example the BAdI implementation would be called for the Fioris but not for the transaction.
Cheers, Wulff
Former Member
Hi Wulff, thanks, and that is working perfect for us, but what about if we need to use that GUI apps called from soldoc? So far we could not find a way to test our GUI apps running in Fiori Launchpad.
I hope you can help us finding a way to solve this, Do you think creating an OSS message would be more suitable? I don't want to deviate the conversation.
Thanks!
P.
Mehmet Canca
Hi Wulff-Heinrich,
I can not see technical ID fields. How can I make them visible? I couldn't find a way.
Kind Regards,
Mehmet