Übersicht
Das S10 Framework baut auf Standardfunktionalität des SAP-Systems auf. Die erforderlichen Komponenten sind in der Regel bereits aktiv und konfiguriert. Insbesondere wenn das SAP Gateway verwendet wird, besteht die Installation nur aus folgenden Schritten:
  1. Mit einem Transportauftrag die notwendigen Komponenten des S10 Frameworks einspielen (Paket /S10/FRAMEWORK)
  2. Die importierten Services im HTTP-Service-Baum aktivieren (Transaktion SICF)
  3. Einen Benutzer angeben für den Zugriff auf das MIME-Repository
  4. Eine Rolle mit den notwendigen Berechtigungen für Entwickler sowie Anwender im System einrichten und zuweisen
  5. Die Template-Anwendung konfigurieren oder eine neue S10 Anwendung erstellen
Nachfolgend werden die einzelnen Schritte im Detail beschrieben:
1. Transportauftrag einspielen
Spielen Sie zunächst den Transportauftrag ein, um die notwendigen Komponenten (Transaktion, Klassen, Funktionsbausteine etc.) in das SAP-System zu importieren. Alle Laufzeitobjekte des S10 Frameworks finden Sie anschließend im Paket /S10/FRAMEWORK. Sie können zusätzliche einige Demobeispiele einspielen, diese sind dann in /S10/DEMO zu finden.

Die wesentlichen Objekte des S10 Frameworks sind:
Objekt Funktion im S10 Framework
Strukturen
/S10/FIORI_TILE Struktur die Felder für eine Fiori Kacheln enthält. Wird als Parameter für den S10 Service "s10dynamictile" verwendet, der in einer Fiori-Kacheldefinition als Service URL angegeben wird.
Klassen
/S10/ANY Basisklasse für alle neuen S10 Klassen, die im Rahmen einer S10 Anwendung entwickelt werden. Durch die Vererbung können alle Attribute und Methoden der Basisklasse verwendet werden.
/S10/CLASSDESCRIPTION Beschreibung einer Klasse, z.B. Pfad zum Textpool (Übersetzungen), Verbindung zu einer Datenbanktabelle etc.
/S10/CL_DYNAMICTILE_ Verwendung in OData-Service für dynamische Fiori Kacheln mit Daten aus einer S10 Klasse oder Aufruf einer S10 Anwendung im Launchpad.
/S10/CONTEXTINFO Enthält Informationen zum aktuellen Kontext eines S10 Objekts zur Laufzeit, z.B. Name eines Feldes.
/S10/CX_EXCEPTION Ausnahmesklasse für S10 Framework. Laufzeitfehler können so abgefangen und im Applikationslog festgehalten oder am Frontend angezeigt werden.
/S10/DYNAMIC_TILE Die dem S10 OData-Service zugewiesene Handlerklasse. Dies ruft entsprechend den erhaltenen Parametern eine bestimmte ABAP Methode auf und liefert dem Fiori-Launchpad die Daten für die Kachel zurück.
/S10/ICF_LOGIN Von CL_ICF_BASIC_LOGIN geerbte Klasse für die Anmeldung über den Service im ITS.
/S10/SESSION Speichert Informationen zu einer aktiven Session, z.B. Benutzername, Screen-ID etc.
Transaktionen
/S10/MAIN Transaktion für die Kommunikation zwischen Frontend (HTML) und Backend (ABAP Klasse).
Funktionsbausteine
/S10/EXT2INT Das S10 Framework konvertiert automatisch Werte von internem in externes Format und umgekehrt, je nachdem ob es am Frontend ausgegeben oder im ABAP Coding z.B. an BAPIs übergeben wird.
/S10/GET_FIELD_INFO Liest Feldinformationen aus dem Data Dictionary. Das S10 Framework kann so automatisch Labels und Texte in der Anmeldesprache am Frontend ausgeben.
/S10/GET_TEXT_FOR_VALUE Das S10 Framework kann automatisch Texte zu bestimmten Werten ermitteln und am Frontend ausgeben z.B. wird durch matnr@text automatisch die Bezeichnung eines Materials zur entsprechenden Materialnummer ausgegeben.
/S10/GET_TEXT_METADATA Ermittlung von weiteren Feldinformationen, z.B. Konvertierungsroutinen.
Internet Service
/S10/S10 Webservice, der für die Kommunikation zwischen Frontend und Backend zuständig ist.
2. Services im HTTP-Service-Baum aktivieren
Aktivieren Sie mit der Transaktion SICF die neuen S10 Services: Geben Sie als Servicenamen S10 ein und aktivieren Sie in der gefilterten Anzeige die Services (rechte Maustaste).



3. Benutzer für MIME-Repository angeben
Für den Zugriff auf die Objekte im MIME-Repository muss ein Benutzer angeben werden, der aber keinerlei Berechtigungen benötigt. Die tatsächlichen Berechtigungen werden dann zur Laufzeit geprüft für den angemeldeten Benutzer des S10-Service.

Hinweis: Es kann notwendig sein, den Zugriff bereits beim Knoten /SAP/BC/BSP zu konfigurieren.



4. Rollen einrichten und zuweisen
Um S10 Anwendungen zu entwickeln, benötigen Sie mindestens folgende Berechtigungen:
  • S_DEVELOP: Erstellen der Klassen und Programme mit der ABAP Workbench
  • S_TCODE: Transaktionen SE24, SE38 und SE80
  • S_GUI: Berechtigung zum Übertragen der HTML-Views in das MIME-Repository über SAP GUI
Um als Anwender eine S10 Anwendung zu starten, muss dieser folgende Berechtigung haben, wobei je nach konkreter S10 Anwendung noch weitere Berechtigungen hinzukommen können:
  • S_TCODE: /S10/MAIN
Hinweis: Wenn Sie statt dem SAP GUI mit einer anderen IDE entwickeln möchten, z.B. Eclipse oder Visual Studio Code, dann sind ggf. noch zusätzliche Berechtigungen erforderlich. Näheres dazu finden Sie im Kapitel "Sicherheit und Berechtigungen".

Das S10 Framework prüft zusätzlich, ob eine bestimmte Rolle vorhanden ist. Diese wird in der Lizenz mit dem Parameter "role=" festgelegt:
class main implementation.

* logon user
  method logon.

* set S10 license
    s10setlicense( 'Demo license role=S10_USERROLE').
5. S10 Anwendung erstellen und konfigurieren
Um nach der Installation mit der Entwicklung zu beginnen, haben Sie folgende Optionen:
  • Bestehenden Template- oder Demoanwendung kopieren
    Im Paket /S10/DEMO finden Sie eine Auswahl an Beispielanwendungen, die Sie als Basis für eigene Anwendungen verwenden können. Details dazu finden Sie im Kapitel Quickstart".

  • S10 Generator verwenden
    Sie können mit dem S10 Generator aus einer angegebenen SAP Tabelle oder einem View eine lauffähige S10 Anwendung generieren. Details im Kapitel "S10 Generator".

Komponente S10 Framework