Overview
The S10 Framework is layered on top of standard SAP system functionality. The required components are usually already active and configured. Especially if the SAP Gateway is used, the installation only consists of the following steps:
  1. Using a transport request, import the necessary components of the S10 Framework (package is then /S10/FRAMEWORK)
  2. Activate the imported services in the HTTP service tree (transaction SICF)
  3. Specifying a user to access the MIME repository
  4. Set up and assign a role with the necessary authorizations for developers as well as users in the system
  5. Configure the template application or create a new S10 application
The separate steps are described in detail below:
1. import transport request
First import the transport request to import the necessary components (transaction, classes, function modules, etc.) into the SAP system. All runtime objects of the S10 Framework can then be found in the package /S10/FRAMEWORK. You can import some additional demo examples, these can then be found in packet /S10/DEMO.

The main objects of the S10 Framework are:
Object Function in the S10 Framework
Structures
/S10/FIORI_TILE Structure containing fields for a Fiori tile. Used as a parameter for the S10 service "s10dynamictile", which is specified as a service URL in a Fiori tile definition.
Classes
/S10/ANY Base class for all new S10 classes developed as part of an S10 application. Through inheritance, all attributes and methods of the base class can be used.
/S10/CLASSDESCRIPTION Description of a class, e.g. path to the text pool (translations), connection to a database table, etc.
/S10/CL_DYNAMICTILE_ Usage in OData service for dynamic Fiori tiles with data from an S10 class or calling an S10 application in Launchpad.
/S10/CONTEXTINFO Contains information about the current context of an S10 object at runtime, e.g. name of a field.
/S10/CX_EXCEPTION Exception class for S10 Framework. Runtime errors can be detected and recorded in the application log or displayed on the frontend.
/S10/DYNAMIC_TILE The handler class assigned to the S10 OData service. This calls a specific ABAP method according to the received parameters and returns the the data for the Fiori launchpad tile.
/S10/ICF_LOGIN Class inherited from CL_ICF_BASIC_LOGIN for logon via the service in ITS.
/S10/SESSION Stores information about an active session, e.g. user name, screen ID, etc.
Transactions
/S10/MAIN Transaction for communication between frontend (HTML) and backend (ABAP class).
Function modules
/S10/EXT2INT The S10 Framework automatically converts values from internal to external format and vice versa, depending on whether it is output at the frontend or passed to BAPIs in ABAP coding, for example.
/S10/GET_FIELD_INFO Reads field information from the data dictionary. The S10 Framework can thus automatically output labels and texts in the logon language at the frontend.
/S10/GET_TEXT_FOR_VALUE The S10 Framework can automatically determine texts for certain values and output them at the frontend, e.g. matnr@text automatically outputs the description of a material for the corresponding material number.
/S10/GET_TEXT_METADATA Determination of further field information, e.g. conversion routines.
Internet Service
/S10/S10 Web service responsible for communication between frontend and backend.
2. Enable services in HTTP service tree
Use transaction SICF to activate the new S10 services: Enter S10 as the service name and activate the services in the filtered display (right mouse button).



3. Specifying a user to access the MIME repository
A user must be specified to access the objects in the MIME repository, but this user does not need any authorizations. The actual authorizations are then checked at runtime for the logged-in user of the S10 service.

Note: It may be necessary to configure the access already at the /SAP/BC/BSP node.



4. Set up and assign roles
To develop S10 applications, you need at least the following authorisations:
  • S_DEVELOP: Creating classes and programs with the ABAP Workbench
  • S_TCODE: Transactions SE24, SE38 and SE80
  • S_GUI: Authorization to transfer HTML views to the MIME repository via SAP GUI
To start an S10 application as a user, the user must have the following authorization, whereby depending on the concrete S10 application further authorizations might be added:
  • S_TCODE: /S10/MAIN
Note: If you want to develop with another IDE instead of the SAP GUI, e.g. Eclipse or Visual Studio Code, then additional authorizations may be required.

The S10 Framework additionally checks whether a specific role exists. This is defined in the license using the parameter "role=":
class main implementation.

* logon user
  method logon.

* set S10 license
    s10setlicense( 'Demo license role=S10_USERROLE').
5. Create and configure S10 application
To start development after installation, you have the following options:
  • Copy existing template or demo application
    In the package /S10/DEMO you will find a selection of sample applications, which you can use as a basis for your own applications. Details can be found in the chapter Quickstart".

  • Use the S10 generator
    You can use the S10 Generator to generate an executable S10 application from a specified SAP table or view. Details in chapter "S10 Generator".

Component S10 Framework