Hallo professor,
schade das zu hören.
Ich bin davon ausgegangen, dass Du nur eine Liste der App Ids, die es auch gibt, haben willst.
Da Du aber anscheinend auch den deutschen Text brauchst, würde ich dir dennoch vorschlagen einen Webscraper zu basteln, welcher dir
- zuerst prüft ob die App Id vorhanden ist
- den Katalog + Semantisches Objekt + Aktion ausliest
und einen anderen Webscraper der
- im Fiori Launchpad Designer über die URL den Katalog öffnet
- die Tabelle analysiert und anhand des Semantischen Objekts und der Aktion die Spalte "Titel" ausgibt.
Das hat aber einige Nachteile, die ich dir auch nicht verschweigen möchte:
- Es kann sein, dass in der App Library mal mehr als 1 Katalog eingetragen ist. Diese sind aber per Komma getrennt
- Das gleich kann dir auch bei dem Semantischen Objekt passieren. Hier können mehrere Zeilen dabei stehen.
- Mit dem Webscraper Ansatz findest Du leider nicht die Texte für die Felder "Untertitel" und "Information" heraus.
- Es ist schrecklich langsam. Und damit mein ich wirklich, wirklich schrecklich langsam.
Ich hatte auch mal die glorreiche Idee nicht die Seite selber auszulesen (wofür du nebenbei bemerkt eine Framwork brauchst, welches dir mit einer Browserengine die Seite aufruft da die Daten On-Demand erst geladen werden und somit mit einem einfachen "rufe Seite X auf und lies mir den HTML Quelltext aus" nicht weit kommen wirst), sondern den Traffic zu beobachten und die Datenquelle ausfindig zu machen. Anscheinend wird beim Aufruf der Seite und beim anschließenden Klicken auf Reiter "Implementation Information" mehr als nur ein XHR geschickt (dazu nach $batch filtern). Als Antwort wird ein JSON geliefert. Wenn man mal die URL herausgefunden hat, dann ist das JSON parsen auch nicht mehr schwer (Firefox lässt dir ja den XHR als cURL Command über Kontextmenü -> kopieren -> Als cURL Adresse kopieren (Windows) kopieren. Den ausführen und das erhaltene JSON parsen. Hier die gleichen Probleme wie oben (mehrere Treffer, langsam).
https://sap.server/sap/bc/ui5_ui5/sap/arsrvc_upb_admn/main.html?sap-client=100&sap-language=DE#/Catalog/X-SAP-UI2-CATALOGPAGE : den Katalog aufrufen. Noch eine Priese HTML Parsing dazustreuen und fertig ist das Gericht.Solltest Du auf Problem stoßen, gerne per PN oder hier an mich wenden. Ich hab den ganzen Rotz schon mal mitgemacht.
Nachzulesen hier:
https://www.dv-treff-community.de/sap-hilfe/Datenauslese-aus-Fiori-Launchpad-Designer-t22647
Habs dann aber gelassen da die "Button" keine Buttons waren (die man klicken kann) sondern iwelche
's die mit einem OnClick Event versehen waren, welches NICHT auf das Klicken über die Remotsteuerung angesprungen ist.
FYI ich hab das damals in Python mit dem Selenium Framework und der Firefox Engine umgesetzt.
Mfg Radinator