How to Configure Fiori with Multi-Clients for SAP S/4HANA
This document will detail the steps required to setup additional clients in an SAP S/4HANA OP system. As there are requirements in Sandbox Development, and Quality or Test environments to create more than one client for various usages, this document can be used as a checklist to detail the steps that need to be reran within the Fiori building block documents as well as the Administration guide.
As a tip to use this document, please see sections “Fiori Configuration Checklist Steps After Creating an Additional From Client 000” or “Fiori Configuration Checklist Steps After Creating an Additional From Clients Other Than 000” to determine which steps you need to follow. For example, if you created a client copy from 000 in the Fiori Frontend and S/4HANA Backend servers, you will need to follow the section “Fiori Configuration Checklist Steps After Creating an Additional From Client 000”. All other client copies where the source client is other than 000, you will need to use section “Fiori Configuration Checklist Steps After Creating an Additional From Clients Other Than 000”. Within this section, the tasks are also dependent on the client copy profiles used as well, so please pay special attention to the column “Additional Information” for more details.
Link to the full version of document “S4HANA On-Premise Fiori Configuration for Multiple Clients“
Please note the version 2.1 of the document now has a link to blog “Fiori for S/4HANA – Mass OData Unassign” that can be leveraged for the OData service reassignment if the source client used for the client copy already has Fiori configured.
SAP S/4HANA RIG
This is a great and very concise document that I have shared with some of my customers and the feedback on it has been excellent. It's very clear and a great time saver.
Thanks for sharing.
Any update plan for S/4HANA 1610?
We used the same document for 1610 customers and the steps can be used still.
We have a situation here.
I have two clients in my front end and back end servers i.e. 100 & 200 in front end and 100 & 200 in back end.
Now 100 to 100 i made fiori configurations and its working fine for 10 apps.
Now i want to use the same 10 apps for 200 to 200 connection also.
For OData service oriented apps its working fine. But for webdynpro apps its asking for backend user and login again and its going to 100 client only.
Please suggest what needs to be checked here.
Thanks for your question. Looks like you might of not removed the "CLIENT=###" from the web dispatcher profile. Can you please review "6 Additional Activities" section and step 1 Open the Web Dispatcher profile and ensure the parameters for “wdisp/system_#” does not have “CLIENT=###” values. The client number is not required.?
Would this method work with Embedded Deployment in conjunction with RDS?
Thanks Van, I have gone through this document several moths back but have not got opportunity to try so far but I will be using this document in next few weeks as I have to setup frontend server which will be shared between our DEV and QAS backend systems.
Please note that this document is not meant to recommend settiing up a shared frontend server with a DEV and QAS backend systems. But more for enabling multiple clients in a DEV and/or QAS system. Having one frontend server connected to a DEV and QAS backend may have complications when change management comes into the picture for SPS or version upgrades. For exmaple, when you upgrade a FPS/SPS or S/4HANA version starting with DEV, the frontend server will also need to be upgraded in parallel fashion. After it may have compatibility issues when using it for QAS backend. Just my 2 cents.
For configuration of S/4HANA Embedded Analytics which have some relationship with BW, it can be done in multi clients?
That is correct. Design time is done in one client but runtime is any client.
Thanks for your information, so in another words, data in different client used by Analytic Apps will not affect each other?
Your statement is correct. Runtime of the analytic Apps are client dependent.
Can we have one client in Gateway server two different backend clients from same system(i..e same sid but 2 different clients). We will do all backend steps separately in each backend client. Any thing we need to keep in mind
How about webdispatcher rules, do we still remove client there.
Thank you for your blog
I believe this is technically possible and additional setup of alias, RFC, and roles would have to be maintained for the OData service. I would imagine the the webdispatcher rules would not work if you leave the client within the setting. Creating another client in the frontend would make the configuration and setup easy and as well as support.
We have the same setup 1 gateway client(100) and 2 different backend client(100,200) for ecc.
the first approach is changing the existing rfc to new client to 200, the ui5 working correctly extracting data from 200 but the wda apps is not.
2nd approach is creating a new rfc and system alias and update the ui config, the same he ui5 apps are working but upon opening the wda it prompt for user login in gateway client(200) but we do not have that client. Any idea where we can check? we do not use web dispatcher though.
Your setup is not the recommendation that this guide is based on. If you follow the guide, you should have two clients in gateway (100, 200) to match your backend server client. Like I said, what you are doing is technically possible but because that is not a recommendation that the RIG would recommend, is it possible for you to try and configure it based on the recommendation?
Thanks Van, great guide!
Just for my clarification, the client referenced in "from client 000" and "from client other than 000" is related with de S/4HANA new client rigth?
In the copy from client 000 scenario, can we save some steps if the new Fiori client is copied from an already configured Fiori client with a WebDynpro app implemented?
Thanks in advanced
You are correct. The steps depends on how the client copy was done (e.g. source client and profile used). Source from 000 will not have any existing Fiori configuration in the target client while source from other than 000 will most likely have as the document is making the assumption you have already completed Fiori configuration for at least one non 000 client. The profile also depends if its with users or not as some of the roles will be brought over from the source.
First of all, thank you for your great post!
I have some questions regarding s4hana 1610 and fiori on multiple clients.
So, I have an Embedded s4hana 1610 System FPS2, I have activated Fiori in client 100, but I want to activate it also in client 200, where we have data.
Please guide me on how to proceed. How to proceed regarding system aliases? We need to define a new one? If the system is embedded, It allows me to have 2 trusted rfc’s for 2 system aliases on the same system? Or do I have to delete the rfc and system alias from client 100 and create one for 200?
I don't find to much information about fiori on embedded systems...
Thank you in advance!!!
For an embedded setup, there is a tasklist called "SAP_GW_FIORI_ERP_ONE_CLNT_SETUP" that can be used to help you set this up.
Thank you so much for your quick replay!
I'll try tasklist suggested by you and I'll get back with the results.
Thank you once more!
Hi, thank you for this excellent document.
But I have one issue left: I set up a secondary client 200 ind QA-Environment (Frontend/Backend). But afterwards we have following behaviour in the Systems: after Login to Fiori Launchpad a second popup appears to login to the corresponding Backend System/Client. In any other Systems with only one Client it is working without Issues.
This is related to the SSO2 logon ticket probably not setup between your two new clients in Frontend server (FES) and Backend Server (BES). Can you please check SSO2 transaction in the BES and RFC to frontend to ensure you have this setup correctly?
I have one small doubt in s/4 Hana system I have clients like 100,200,300. But in Fiori side I have only one client 100. How to configure S/4 Hana clients to a single fiori client. Is it best practice to create total number of clients as same as S/4 hana system.
Suggest any best practice..
It would be better if you can setup a one to one client match between Frontend and Backend.
According to SAP Note # 2484979;
Hub multi backend deployment: A dedicated SAP Fiori Front-end Server is deployed "in front of"
several backend systems (available for SAP Business Suite).
In such case, how we can define / maintain of the "System Alias Mapping" from the report /1BCDWB/DB/UI2/SYSALIASMAP?
In our current configuration, we have omitted the "Client Fields". I don't think we can duplicate the "Source" field and not sure if we can add a second "Target System Alias" for S/4HANA System #2.
Thank you in advance for your help.
If you leave the client field blank, you will not be able to duplicate the source field. A client will need to be define. The client, source, and target system alias makes the row unique.
Thank you for your reply...I'll let you know should I run into any issue configuring two S/4HANA Back-End systems sharing the same FES.
In our 1610 QAS system we have defined a gold (template) client and a Test Client. In our FES QAS system we have only defined a single Fiori client (1:1 with the test client) as we will only test Fiori in the one integrated client.
There are a number of temporary clients in the QAS system and the steer I have given is that should there be any reason to need Fiori connectivity for the additional clients we would switch the client so the alias aligns to the client in question (not expected however).
Our 1610 development system is a 1:1 setup as per recommendation. Dev client has one Fiori client on the FES, as does our Unit Test client (i.e. 2 clients in Dev FES and 2 clients in Dev S/4).
Technology it should be fine if only one client in the QAS BES is required. As long as the team is aware of which client in BES is FES connected to. But when more Fiori clients are required in BES, then the recommendaton applies.
Can this document be used as a reference in cases where a remote client copy of front-end server is required?
Hi virinchi, if source/target meets the remote client copy requirements, it should work. However please note I never tried testing a remote client copy.
Thanks for the excellent document!!
I have one question.
Are below tasks need to be run in FES or BES?
2. Enable client check box in FLP:
a. Go to transaction SICF.
b. Enter “flp” as the service name and apply filter
This step is done on the FES server only.
Can SSO between Fiori and S/4HANA work in multiple client?
The reason I am asking this because in the document, you mention to remove the client for:
a. R3 connections for S4<XXX>_RFC
b. HTTP Connections to ABAP System for S4<XXX>_HTTPS
So, will SSO work for multiple client?
Yes it can. For example, if you configure FES(100) and FES(200) to connect to BES(100) and BES(200), you will need run the SSO setup for FES(100) -> BES(100) and FES(200) -> BES(200).
Great article and I tried to follow all the steps but having an issue. Here is my landscape:
FID-120 connected to S4D-120 (works fine)
FID-130 connected to S4D-130 - Having issues
FID-130 was copied using profile SAP_ALL from FID-120. I have gone through all the steps in MAA*, MAB, MAD* and MAL* documents and when I login to FID-130 client now and run any Fiori Tile, I get an error message at the bottom " Transaction CO03 is unknown". For all the tiles, its just says it cant find the transaction.
Do you know what could be the issue?
From your explanation of the error, looks like in client 130, the transactional apps are not routing to the backend but rather trying to render on the frontend. Have you checked to see if the webdispatcher is setup correctly?
Thanks for the quick reply. I'm actually not even using the WebDispatcher. I'm calling the Fiori Frotnend server URL directly and selecting the client 130 from the drop down (I have confifgured the flp service to show the client dropdown)
So for these transactional apps, does FES uses the OData services OR some other mechanism? It doesn't look like its using the OData, looks like it uses the WebGUI
For Central HUB FES, a web dispatcher or some sort of HTTP(S) load balancer is required for routing transactional apps. These apps uses the HTTPS alias RFCs (e.g. <RFC_NAME>_S4FIN) and should be pointed to the Web Dispatcher so it can be load balance. You can refer to another blog for more details: https://blogs.sap.com/2016/12/06/sap-web-dispatcher-for-fiori-explained.-why-and-how/
there was a question above, but I didn't see a complete answer and I have a similar question which can also be useful to others.
1 x S/4HANA with Embedded Fiori
On the S/4HANA there are 2 or more Clients
Please would you point to the documentation from SAP (which I've been unable to find so far) which explains how to enable an Embedded Fiori on S/4HANA for Multiple Clients with or without unique Urls for each Client
Thanks and best regards,
Great document. Thanks for sharing.
I am having issue with FLP screen when i configured second client for FLP.
FES(100)--> BES(100) -- Working Fine no issues for all apps.
FES(200)--> BES(200) --> Issue with launching FLP, it has malformed url and unable to type username and password.
wdisp/system_0 = SID=FES-SID,NR=41, CLIENT=100, MSHOST= FES-MessagerServer, MSPORT=XXXX, SRCSRV=*:8051, SRCURL=/sap/opu;/sap/bc; /sap/public; SSL_ENCRYPT=2
wdisp/system_1 = SID=BES-SID, NR=01, CLIENT=100, MSHOST= BES-MessagerServer, MSPORT=XXXX, SRCSRV=*:8051, SRCURL=/sap/es; SSL_ENCRYPT=2
wdisp/system_2 = SID=FES-SID,NR=41, CLIENT=200, MSHOST= FES-MessagerServer, MSPORT=XXXX, SRCSRV=*:8052, SRCURL=/sap/opu;/sap/bc; /sap/public SSL_ENCRYPT=2
wdisp/system_3 = SID=BES-SID, NR=01, CLIENT=200, MSHOST= BES-MessagerServer, MSPORT=XXXX, SRCSRV=*:8052, SRCURL=/sap/es; SSL_ENCRYPT=2
Can you please advise, if i miss something in webdisp config or is this due to CLIENT parameter which i have in webdisp routing rules ?
The client =100|200 are not needed. You can refer to the blog
for the recommended SRCSRV suffix parameters.
I have fixed the issue with client parameter. The reason i kept the client parameter was in one of the SAP note they said it is mandatory for Design studio apps.
Thanks for your reply.
Fix is there is semi colon missing in my wdisp/system_2 rule for client 200.
That is good news. Thanks for the update and all the best.
Any update of muilt-client for latest S/4HANA version as per
Note 2834415 - Composite SAP note: Rapid Activation for SAP Fiori in SAP S/4HANA 1909
Great straightforward info!
It is still valid nowadays. Just followed the steps to activate the apps in a new client copied from another productive one (not 000), it worked just fine for a S/4HANA 1909.
Thanks for sharing.
The document “S4HANA On-Premise Fiori Configuration for Multiple Clients“ which is linked through this blog is so great.
It also works for new client in a S/4HANA 1909 FPS 00.
The new client was copied from 000 with customizing.
I have question for you.
Is it possbile to set up configuration backend client 200 <-> frontend client 100?
I would like to change currently working configuration backend client 100 <-> frontend client 100.
If yes please let me know what should be changed.
Edit: Yes, its possible.