Übersicht
Das S10 Framework baut auf Standardfunktionalität des SAP-Systems auf. Die erforderlichen Komponenten sind in der Regel bereits aktiv und konfiguriert. Das bedeutet auch, dass für die Verwaltung, Überwachung und Fehleranalyse ebenso SAP Standardtools verwendet werden können. Daher sollen im Folgenden die SAP Transaktionen sowie deren Bedeutung für eine S10 Anwendung kurz erläutert werden. Details finden sich dann in den entsprechenden SAP-Dokumentationen.
/S10/UTIL - Generierung von S10 Anwendungen
Diese Transaktion ist der zentrale Einstiegspunkt, um S10 Anwendungen zu erstellen. Sie können hier SAP-Tabellen angeben und Felder auswählen und erhalten dann eine direkt ablauffähige mobile Anwendung, die anschließend ausgebaut und erweitert werden kann. Details dazu finden Sie im Kapitel "Generierung von Anwendungsteilen"
SE11 - ABAP Dictionary Pflege
Das ABAP Dictionary ist die zentrale Verwaltung aller im SAP-System genutzten Datendefinitionen. Die verschiedenen Daten-Typen (Datenelemente, Strukturen und Tabellen, Views, etc.) werden hier definiert und verwaltet, und stehen anschließend für den Einsatz in ABAP-Programmen oder in Schnittstellen zur Verfügung.

Bei der Entwicklung von S10 Anwendungen kann es hilfreich sein, das entsprechende Datenelement zu einem Feld im Dictionary anzuzeigen. Drücken Sie dazu im entsprechenden Feld auf der SAP-Maske die Taste F1 und wählen Sie "Technische Info". Mit einem Doppelklick auf Datenelement können Sie den entsprechenden Eintrag im Dictionary aufrufen.

In einem S/4HANA System können in der SE11 auch CDS-Views angezeigt werden. Diese können Sie neben den SAP-Tabellen auch für die Generierung von Anwendungsteilen in der Transaktion /s10/util angeben und verwenden. Beachten Sie jedoch, dass die Erstellung und Änderung von CDS-Views nicht im SAP GUI, sondern nur über externe Tools wie z.B. Eclipse möglich ist. Durch die HANA-Datenbank profitieren auch S10 Anwendungen von der hohen Performance bei der Verwendung von CDS-Views.

Eine Liste mit von der SAP im Standard ausgelieferten CDS-Views sowie deren Beschreibung finden Sie übersichtlich dargestellt unter: freigegebene CDS-Views
SE16 und SE16N - Data Browser bzw. Allgemeine Tabellenanzeige
Der Data Browser ist eine Transaktion, mit dessen Hilfe man Daten in Datenbanktabellen anzeigen lassen kann. Dabei kann man pro Tabellenfeld nach einzelnen Werten bzw. Datensätzen suchen.
Der Vorteil der neueren Variante SE16N ist, dass gleichzeitig Feldnamen sowie deren Kurzbeschreibung angezeigt werden. Zudem wird automatisch, falls vorhanden, eine zugehörige Texttabelle ermittelt.

Das S10 Framework ist ebenso in der Lage, automatisch Bezeichnungen zu Feldwerten aus den entsprechenden Texttabellen zu ermitteln. Diese müssen daher nicht gesondert als Felder aufgenommen werden. Details dazu unter "Datenbindung"
SE24 - ABAP Class Builder
Der Class Builder ist ein Werkzeug der ABAP Workbench, mit dem globale ABAP-Klassen und -Interfaces angelegt, definiert, geändert und getestet werden können.

Bei der Entwicklung von Anwendungsteilen mit dem S10 Framework sollten alle verwendeten Klassen von /s10/any erben, um die S10 Funktionen nutzen zu können. Eigene Klassen können dann lokale oder globale Klassen sein, insbesondere bei der mehrfachen Verwendung in Anwendungen bieten sich globale Klassen an.

Hier finden Sie die Referenz zu den S10 Klassenmethoden.
SE37 - ABAP Funktionsbausteine
Das SAP-System benutzt an zahlreichen Stellen Funktionsbausteine für die ordnungsgemäße Funktion des SAP-Systems. Ein Funktionsbaustein kapselt den ABAP-Code und ermöglicht somit eine Wiederverwendung an verschiedenen Stellen.

In einer eigenen S10-Anwendung empfiehlt sich daher für das Lesen von Daten - soweit möglich und vorhanden - existierende Funktionsbausteine zu werden, statt direkt SAP Datentabellen zu lesen. Für die Übernahme von Daten sind Funktionsbausteine generell zu empfehlen.
BAPI - BAPI Explorer
Business Application Programming Interface (BAPI) ist eine standardisierte Programmierschnittstelle der SAP-Business-Objekte. BAPIs ermöglichen es externen Programmen, auf die Daten und Geschäftsprozesse des SAP ERP zuzugreifen. Im BAPI Explorer können sich Anwendungsentwickler einen Überblick über den Bestand an vorhandenen BAPIs im BOR verschaffen.

S10-Anwendungen sollten beim Lesen und Schreiben von Daten nach Möglichkeit vorhandene BAPIs verwenden, um Standardfunktionalität abzubilden. Leider werden viele der vorhandenen Schnittstellen von der SAP nicht mehr weiterentwickelt und gepflegt, so dass oft neuere Felder nicht abgebildet sind. Hier muss dann z.B. auf das direkte Lesen der entsprechenden Datentabellen zurückgegriffen werden.
BDBS - Generieren von Mappings-Coding
Die Business API (BAPI) hat SAP zur Anbindung externer Systeme gebaut. Deswegen sind alle Variablen sprechend benannt und folgen nicht den internen Bezeichnungen. SAP bietet jedoch ein Tool für die Generierung von Mappings für BAPI Strukturen an.

Sie können S10 Anwendungen direkt durch Angabe von SAP-Tabellen generieren. Das bedeutet, dass das S10 Framework die ausgewählten Felder der SAP-Tabelle als Felder in der S10-Klasse übernimmt und mit diesen arbeitet. Dadurch sind z.B. auch Funktionen wie s10databaseread() und s10databaseselect() möglich die dafür sorgen, dass Daten aus der Tabelle gelesen und direkt mit der Anzeige auf dem Frontend (HTML) synchronisiert werden.

Beim Schreiben von Daten mit Hilfe von BAPIs stimmen jedoch in der Regel die Bezeichnungen für die Felder der Tabelle und der Eingabeparameter nicht überein. Deshalb können Sie mit der Transaktion BDBS automatisch eine Hilfsstruktur erstellen für die Umsetzung der Felder.
SHDB - Transaktionsrecorder (Batch Input)
SAP Batch-Input ermöglicht die schnelle und einfache Übertragung von Daten in ein SAP-System. Der Transaktionsablauf wird simuliert und die Daten werden so übernommen, als ob sie online eingegeben worden wären.

Das Besondere hierbei ist, dass für die Ausführung kein SAP GUI geöffnet sein muss, sondern die Transaktion über den ABAP-Befehl "call transaction" simuliert wird. Das bedeutet, dass von der mobilen S10 Anwendung ABAP-Methoden aufgerufen werden können, die die Eingabe von Daten hiermit durchführen.
Ein praktisches Beispiel dazu finden Sie hier: SAP-Daten ändern
SE38 - ABAP Editor
Der ABAP Editor ist ein Werkzeug für das Bearbeiten von Quelltexten, das speziell für ABAP-Coding entwickelt wurde. Er ist eine der Hauptkomponenten der ABAP Workbench. Sie verwenden den ABAP Editor für das Schreiben und Bearbeiten von ABAP-Programmen, Klassenmethoden, Funktionsbausteinen, Dynpro-Ablauflogik, Typgruppen und logischen Datenbanken.

Mittlerweile können jedoch auch anderer Tools für die Bearbeitung von Quellcode verwendet werden, z.B. Eclipse oder Visual Studio Code.

Sie können hier auch nützliche Programme starten, insbesondere zur Übertragung von lokalen Daten zum SAP MIME-Repository und umgekehrt bietet sich der Report BSP_UPDATE_MIMEREPOS an. Details dazu finden Sie in der Doku unter "Entwicklungsumgebung".
SE80 - Object Navigator
Mit der SE80 können eine Reihe an verschiedenen Entwicklungsobjekten bearbeitet werden. Insbesondere findet sich hier auch der Zugriff auf das MIME-Repository, in dem die MIME-Dateien einer S10-Anwendung abgelegt sind. Dazu gehören alle Dateien, die einer HTML-Anwendung zugeordnet werden: HTML-Views, JavaScript-Dateien, Bilder und so weiter.

Die Transaktionen bietet eine Reihe an Möglichkeiten wie das direkte Bearbeiten und Importieren/Exportieren von Dateien, Versionsverwaltung etc.
STMS - Transport Management System
Für die Installation des S10 Frameworks muss ein SAP-Transportauftrag eingespielt werden, der die erforderlichen Komponenten beinhaltet. Die einzelnen Komponenten werden hier genauer beschrieben: Installation

Später kann das Transportsystem dazu genutzt werden, entwickelte S10 Anwendungen von einem Test- in ein Produktsystem zu übertragen. Da alle S10 Anwendungen über einen gemeinsamen Service kommunizieren, müssen nach der Einrichtung bei weiteren Anwendungen nur die jeweiligen ABAP-Programme sowie zugehörige HTML-Views übertragen werden, jedoch keine neuen Services eingerichtet werden.
SICF - Pflege des HTTP-Service-Baums
Das Internet Communication Framework (ICF) ist eine auf Interfaces und Klassen basierende Programmierschnittstelle (API) für die Kommunikation von ABAP-Programmen mit dem Internet. Das ICF unterstützt die Internet-Protokolle HTTP, HTTPS und SMTP. Die eigentliche Kommunikation des SAP Netweaver Application Servers mit dem Internet erfolgt über dessen Internet Communication Manager (ICM). Dieser kommuniziert seinerseits mit einem Workprozess des AS ABAP dessen Task Handler das ICF steuert.

Neben der Bereitstellung von OData-Services verwendet auch das S10 Framework einen Knoten im SICF (s10) für die Kommunikation mit dem Frontend (in diesem Fall einer HTML-Anwendung). Es wird zudem ein weiterer Service (s10dynamictile) zur Verfügung gestellt, der in dynamischen Fiori-Kacheln angegeben werden kann, um Daten auf diesen anzuzeigen. Es wird werden jedoch nur diese zwei Services benötigt, die dann von allen S10-Anwendungen gemeinsam genutzt werden.
/IWFND/MAINT_SERVICE - OData Services aktivieren und verwalten
Hier können alle im System vorhandenen OData-Services sowie deren Implementierung angezeigt werden. Außerdem können diese dort direkt getestet werden. In S/4HANA Systemen können mittlerweile CDS-Views auch direkt als OData-Service veröffentlicht werden. Das S10-Framework benötigt jedoch keine zusätzlichen Services oder Modelle, sondern kann direkt im ABAP-Coding auf Tabellen und (CDS-)Views zugreifen und diese mit den Feldern auf der Benutzeroberfläche synchronisieren.
SM59 - RFC-Destinations (Anzeige u. Pflege)
Hier können RFC-Verbindungen, insbesondere die für das S10-Framework notwendigen HTTP(S) Verbindungen zum ABAP-System, konfiguriert werden. Bei der Verwendung von SAP GUI für HTML, Fiori-Anwendungen und anderen webbasierten Services sind diese in der Regel bereits so eingerichtet, dass auch S10-Anwendungen ohne Änderungen verwendet werden können.
PFCG - Pflege von Rollen
In S10-Anwendungen ist in der Lizenz eine Rolle angegeben, die den jeweiligen Benutzern zugewiesen sein muss, standardmäßig ist dies die Rolle s10demo_role. Weitere Berechtigungen sollten dann abhängig von der konkreten S10-Anwendung vergeben und geprüft werden.
Details dazu finden Sie im Kapitel "Sicherheit und Berechtigungen" .
SU01 - Benutzerpflege
Verwenden Sie diese Transaktion, um den Benutzern einer S10-Anwendung die in der Lizenz definierte Benutzerrolle zuzuweisen.
SU21 - Pflegen der Berechtigungsobjekte
Mit Hilfe der Transaktion SU21 werden die Berechtigungsobjekte definiert

In S10-Anwendungen werden keine Berechtigungen (außer für Transaktion /S10/MAIN) geprüft, wenn diese nicht explizit vom Programmierer im Code vorgesehen werden. Es können jedoch eigene Prüfungen definiert oder Standard-Berechtigungsobjekte verwendet werden, z.B. beim Zugriff auf Transaktionen oder Tabellen. Möchten Sie eine oder einen Teil einer SAP-Standardtransaktion als mobile Anwendung abbilden, können Sie auch die dafür notwendigen Berechtigungen in einem Berechtigungstrace aufzeichnen und eine entsprechende Benutzerrolle vom SAP-System generieren lassen.
SU53 - Auswertung der Berechtigungsprüfung
Hiermit können durchgeführte und insbesondere fehlgeschlagene Berechtigungsprüfungen angezeigt werden. Sie können direkt Details sowie Beschreibung der entsprechenden Berechtigungsobjekte anzeigen und diese ggf. in eine Benutzerrolle übernehmen.
SMICM - ICM Monitor
Mit dieser Transaktion können Sie den Internet Communication Manager, der die Requests vom oder ins Internet (in der Serverrolle z.B. die eingehenden HTTP-Requests) empfängt bzw. versendet, überwachen und administrieren. Dazu gehören z.B. Traces, Anzeige von Parametern, Statistiken, Caches, gesendete und empfangenen Anfragen und so weiter.
AL11 - SAP-Verzeichnisse
Die Transaktion AL11 in SAP ermöglicht den Zugriff auf alle SAP-Verzeichnisse. Durch sie können wir auf die verschiedenen definierten Dateisysteme zugreifen, die jeweils mit einem bestimmten Parameter verknüpft sind. Dies ist besonders nützlich, wenn man in ABAP-Anwendungen Daten speichern oder lesen möchte.
SLG1 - Anwendungs-Log: Protokolle anzeigen
Das Application Log ist ein Framework von SAP, um ein Protokoll lokal während der Laufzeit eines Programms darzustellen oder auch dauerhaft auf der Datenbank abzulegen. S10-Anwendungen können dieses verwenden, um Informationen, Warnungen und Fehler dort zu protokollieren.

Details dazu sind im Kapitel "s10applicationlog()" beschrieben.
ST22 - ABAP Dumpanalyse
Es passiert während der Entwicklung eines Programms gelegentlich, dass ein Programm mit einem Laufzeitfehler/Shortdump abbricht, meist aufgrund von Programmierfehlern im Coding. Das System bereitet eigenständig ein Protokoll auf, was in aller Regel sehr bei der Fehleranalyse hilft. Die Protokolle der Laufzeitfehler werden über die Transaktion ST22 angezeigt.
STATS - Performance Monitor
Um die Performance eines ABAP-Systems und seiner Komponenten vermessen und beurteilen zu können, erzeugt das System so genannte ABAP-Statistiksätze. Diese geben Aufschluss darüber, welche Last von Aktionen im System erzeugt bzw. wie viele Ressourcen dadurch verbraucht werden.

In Bezug auf eine S10-Anwendung können hier die Antwort- und Laufzeiten sowohl der aufgerufenen ABAP-Programme als auch der Zugriff auf HTML-Ressourcen, analysiert werden.
ST01 - System-Trace
In der Regel sollten Anwendungs-Log und der Debugger für die Analyse von Problemen bereits hilfreich sein. Es kann jedoch sinnvoll sein, einen Systemtrace zu verwenden, um Probleme zu finden und zu analysieren. Der Systemtrace kann für eine Reihe an unterschiedlichen Komponenten jeweils einzeln aktiviert werden, z.B. Berechtigungstrace, HTTP-Aufrufe, Datenbankzugriffe und so weiter.
LPD_CUST - Launchpad-Customizing
Mit dem S10 Framework können erstelle Anwendungen auch als Kachel auf dem Fiori-Launchpad verfügbar gemacht werden. Das heißt einerseits, dass die entsprechende Anwendung von dort eingebettet im Launchpad gestartet werden kann. Andererseits können auch die auf der Kachel angezeigten Informationen dynamisch aktualisiert werden.

Die notwendigen Schritte dazu sind im Kapitel "Fiori Launchpad Integration" genauer beschrieben.