abap2UI5
Version 1.144.0

Quickstart

Try It First

No system at hand? Two ways to see abap2UI5 run before anything is installed:

  • The playground compiles the framework in your browser: write ABAP on the left, watch the app run on the right, nothing to install.
  • The sample catalog lists over 700 working apps, each with its ABAP printed in full and a button that runs it - a live demo of every pattern the cookbook describes.

Both are also where to send a colleague who wants to see it before reading on.

Before You Start

Four things the three steps below assume:

  • abapGit is installed on the system — the one-time tool that pulls abap2UI5 in. New to it? Follow the abapGit installation guide; the abapGit page says what the project uses it for.
  • Developer authorization, plus the right to create and activate an ICF node in SICF — on many systems a Basis task, so ask early.
  • A package for the handler class. A local $TMP package is fine for a first look; a transportable one comes with Productive Usage.
  • The browser reaches the OpenUI5 CDN, or the system serves UI5 itself — see Bootstrapping for the second case.

1. Install the Framework via abapGit

Pull abap2UI5 with abapGit. For anything beyond a first look, pull a release rather than main — see Productive Usage for why.

abapGit repository installation screen for abap2UI5

ABAP Cloud

On BTP ABAP Environment and S/4 Public Cloud, use abapGit for Eclipse (ADT) and mass-activate the pulled objects afterwards — the S/4 Public Cloud page walks through it screenshot by screenshot, including the two link choices that cannot be changed later.

abapGit installation for ABAP Cloud environments

The framework is everything you need: the HTTP endpoint you create next serves the UI5 frontend itself, so there is no separate frontend to deploy. For a launchpad or a Fiori Elements host, the frontend can also be deployed as an app of its own into the UI5 ABAP repository — see Fiori Launchpad.

2. Set Up HTTP Handler and Service

Create a package and define an HTTP handler class. Use the ABAP tab for Standard ABAP systems (R/3 NetWeaver, S/4 On-Premise / Private Cloud); use the ABAP Cloud tab only on BTP ABAP Environment or S/4 Public Cloud:

abap
CLASS zcl_my_abap2UI5_http_handler DEFINITION PUBLIC.
  PUBLIC SECTION.
    INTERFACES if_http_extension.
ENDCLASS.

CLASS zcl_my_abap2UI5_http_handler IMPLEMENTATION.
  METHOD if_http_extension~handle_request.
    z2ui5_cl_ui5_http_handler=>run( server ).
  ENDMETHOD.
ENDCLASS.
abap
CLASS zcl_my_abap2UI5_http_handler DEFINITION PUBLIC.
  PUBLIC SECTION.
    INTERFACES if_http_service_extension.
ENDCLASS.

CLASS zcl_my_abap2UI5_http_handler IMPLEMENTATION.
  METHOD if_http_service_extension~handle_request.
    z2ui5_cl_ui5_http_handler=>run( req = request res = response ).
  ENDMETHOD.
ENDCLASS.

Next, use transaction SICF to create an HTTP service and enter your handler class in the service's Handler List tab, then activate the node:

SICF service creation dialog in transaction SICF
HTTP handler class assignment in SICF service configuration

ABAP Cloud

For ABAP Cloud environments, follow the SAP HTTP service tutorial.

Creating an HTTP service in the ABAP Cloud environment

Security

abap2UI5 talks only to the HTTP service you define, giving you full control over accessibility, authentication, and other security aspects.

ABAP Language Versions

The handler above is the one place the distinction matters. Your apps are independent of it — you are free to choose whether to build them with ABAP Cloud compatibility, whichever handler this system runs.

3. First Launch

Open the HTTP endpoint in your browser — in SICF, right-click your service node and choose Test Service (the URL looks like https://<host>:<port>/sap/bc/<your_service>). This startup page is also where you will launch your own apps later: abap2UI5 startup page with check button and test app launcher Press check to verify your installation, then launch the bundled test app to confirm everything works.

You should now see the page of the startup app. That is the whole install verified: abapGit pull, handler, service and app class. If you see something else instead:

  • The browser shows an ICF error page or a plain 404 — the request never reached the handler. In SICF, check that the service node is activated (right-click → Activate Service) and that the URL path matches the node.
  • A logon prompt you did not expect, or a 401/403 — authentication is the ICF node's job, exactly as for any other service. Check the node's Logon Data tab, and see Security for how access to the endpoint is controlled.
  • The startup page never appears, or stays white — open the browser console (F12); a bootstrap problem such as a blocked UI5 CDN logs there. Systems without internet access must serve UI5 themselves — see Bootstrapping.

Next Steps

The framework is installed and verified. Hello World is the next page: it is the smallest app that can exist, how to start it, and what each line of it does.

Edit this page on GitHub ↗ Last updated:
On this page