cancel
Showing results for 
Search instead for 
Did you mean: 

Issue with Programmatically Assigning Catalogs to Sections in SAP Fiori Launchpad

jycap
Explorer
0 Kudos
218

Hello everyone,

I’m encountering an issue while trying to streamline the creation and assignment of spaces, pages, sections, and catalogs in the SAP Fiori Launchpad.

Problem Description:

The client requires the creation of more than 1000 spaces, pages, and sections, with the need to assign already existing catalogs to the sections of the pages. I’ve already:

  • Configured all necessary settings and roles.

  • Tested the entire process manually, including creating one space, one page, one section, and assigning catalogs through the Fiori Launchpad Designer.

Manually, the configuration works perfectly. I can display the assigned catalog in the Fiori Launchpad, and everything functions as expected.

Challenge:

The SAP Fiori Launchpad Designer only allows creating and assigning these components one by one, which is not feasible for such a large volume.

Solution Attempted:

To handle this in bulk, I’ve developed an ABAP program in the Workbench that:

  1. Imports data from a .txt file.

  2. Programmatically generates spaces, pages, and sections.

  3. Handles the assignments:

    • Pages to spaces

    • Sections to pages

    • Catalogs to sections

The program updates the relevant tables, including:

  • /UI2/PGSEC, /UI2/PGHEADC, /UI2/PGSECAIC, /UI2/PGHEADCT, /UI2/PGSECAITIC

  • /UI2/PGSECC, /UI2/PGSECCT, /UI2/STHEADCT, /UI2/STHEADC, /UI2/STPGAC.

Upon verifying in the Fiori Launchpad Designer:

  • The catalogs appear as assigned to the sections.

  • However, when I click on the catalog in the Launchpad, nothing is displayed.

If I manually assign the same catalog to the same page and section via the Launchpad Designer, it works perfectly.

Question:

Has anyone faced a similar issue? Is there an additional table or configuration step I might have missed when handling this process programmatically? Any insights or suggestions would be greatly appreciated!

 

Accepted Solutions (1)

Accepted Solutions (1)

FabioPagoti
Active Contributor

Hi,

I have a lot of ideas and insights. I had personally created a program in the past to assign apps to some new catalogs in the past but I see some important differences in your scenario.

If you client requires more than 1000 spaces and you accepted the solution as a consultant, this is a mistake already. If you use the concept right, you will need way less than that (50 is likely too much already). 

If SAP has something between 100-200 spaces for ~15.000 Fiori Apps, why would your client need over 1.000 spaces?

If you are trying to assign catalogs to spaces, pages and sections, this is another mistake. You assign apps to them and not the whole catalogs. 

If you are trying to assign the same app to many catalogs during this process, this is another mistake. You should use references from Technical Catalogs to Business Catalogs.

You are likely in S/4HANA system as you mention the availability of spaces. Assuming you are in a recent version (2022 or 2023), you should not use the Launchpad Designer at all as it's officially deprecated by SAP.  Technical catalogs are now created in App Manager and in the Content Manager is used to create references to business catalogs.

What will you do when the client asks you to remove or change an app from some place to another one? Will you write another application? Will your application only handle the change or will it need to recreate everything from scratch?

If you are writing an ABAP program that manually insert/update/delete from those standard tables, politely I think you should be fired (unless you are working with ABAP for 2 or 3 days and you haven't learned yet this is a very very bad idea - unless you are very very good and you know how very bad some part of the system is - which is clearly not the case).

If your client knows what and how you are doing it (maybe he/she gave you this idea), he/she should be fired as well. Likely lots of other people should get fired as well as you wrote that you already configured the roles as well.

If you create catalogs in the old way, they are internally stored in as Web Dynpro Component Configurations. Those are workbench artifacts. Does you manually add a WDCC in ABAP repository tables (TADIR, REPOSRC, E070, etc) as well in this program?

It might be a good idea to ask the Basis responsible(s) if they have a good backup of this system. If you don't think this is needed, I suggest you just to inform them what, why and how you are doing it and they will give an official opinion how good this idea is. If they agree or they don't see any issues, they should be fired as well.

That's is a huge risk to screw the system up and it's a great way to make SAP blame you even if you create a incident/case for them. You are dealing with a system that your customer likely spend many million dollars to use it right.

That's why it does not even make sense to ask you to provide the source code which is "surprisingly" not working - as anyone should do in a programming question.

Even if you investigated how the launchpad designer works behind the scenes (ignoring it is obsolete for 3+ now) like any professional ABAP/Fiori developer would be able to do, you would easy find a few classes with a public API you could use in your "mass maintenance application". However any professional would likely implement this ABAP application in Eclipse with ADT installed instead of using the Workbench which is obsolete since 2012.

===

Disclaimer for anyone else reading this answer - when someone blame Fiori as a technology saying that this or that think does not work - remember the kind of professionals which are assigned to take care of it.

 

jycap
Explorer
Hello, thank you for your response. However, I feel that your reply did not address the core of the issue I raised and contained unnecessary comments. If the purpose here is to insult or criticize rather than to offer advice and assistance, then such behavior is counterproductive and unhelpful. I shared a genuine issue I’m currently facing, and I believe I was respectful in my approach. While I may not be an expert in Fiori development, I am highly experienced in ABAP. The request involves a one-shot solution to help the client create and assign pages, catalogs, and related configurations during a migration . This approach was a demand of the consultant that will implement it, and it has already been successfully validated and accepted multiple times by the client and SAP. for years . Additionally, during debugging of the Web Dynpro, it became clear that SAP’s own processes execute direct table inserts after validation. While I understand it is generally not recommended (belives me or not i knew that already , thank you to remind my teacher )to insert data directly into tables, I also know that when done properly—with appropriate controls and in the absence of a BAPI or exit—it can be an effective solution. I’ve been in this field for over 20 years, and my clients have been satisfied with my implementations, with only a couple of exceptions early in my career like most of developpers . I trust that both of us are experts in our respective domains, and I appreciate collaborative and constructive input. Let’s focus on problem-solving rather than unwarranted criticism. and 1000 thanks anyway , you give me in long talk , an idea to continue and solve my issue . Thank you.
jycap
Explorer
0 Kudos
f you are here just to criticize and be even slightly impolite, you should also be dismissed. We don’t know each other and have never met; I am not your subordinate. If I make the effort to politely post a request in accordance with the site's charter and out of mutual respect, you should refrain from responding in such a manner. Please remember that this forum was created to support one another, not to belittle others. Certain terms in your remarks have no place in this dialogue, and I would appreciate it if you could tone it down. Don’t forget, karma exists. Thank you again.

Answers (1)

Answers (1)

mwn
Participant
0 Kudos

You might want to look at the OData service that is used to build the FLP menu. Sorry, can't remember its name, but tracing that you might see what is different with your generated spaces etc against the standard SAP ones.

jycap
Explorer
0 Kudos
Hello, thank you for your response. i will check and let you know if it's helpfull, best regards