Skip to content

Repository files navigation

Build UI5 Apps Purely in ABAP – no JavaScript, OData, or RAP needed.

Just like the good old days when Selection Screens and ALVs delivered full UIs from a few lines of ABAP. Designed with a minimal system footprint, it runs in both on-premise and cloud environments.

GitHub stars License: MIT ABAP NW 7.02 to ABAP Cloud

DocumentationLive DemoSamplesIssuesLinkedInSlackSponsor

Why abap2UI5?

  • User-Friendly – Implement a single interface to build a complete UI5 app, purely in ABAP
  • Minimal Footprint – Needs only a simple HTTP handler – no BSP, OData, CDS, or RAP
  • Cloud & On-Premise Ready – Runs in ABAP Cloud and Standard ABAP environments
  • Broad Compatibility – Supports all ABAP releases from NW 7.02 to ABAP Cloud
  • Easy Installation – Install via abapGit – no extra app deployment needed

Quick Start

Check out the Getting Started Guide and jump in:

CLASS zcl_my_app DEFINITION PUBLIC.
  PUBLIC SECTION.
    INTERFACES z2ui5_if_app.
ENDCLASS.

CLASS zcl_my_app IMPLEMENTATION.
  METHOD z2ui5_if_app~main.
    client->message_box_display( `Hello World` ).
  ENDMETHOD.
ENDCLASS.

That's it – your first UI5 app is ready and abap2UI5 handles the rest! 🎉

Next stop: the samples – hundreds of ready-to-run apps, from data binding basics to OData, RAP, and Launchpad integration – and the docs for everything else.

How It Works

Your entire app is one ABAP class implementing z2ui5_if_app. The browser loads a generic UI5 shell once; after that, every user interaction is one HTTP/JSON roundtrip: the framework restores your app's state, calls main, and sends the view back:

%%{init: {"sequence": {"useMaxWidth": false}}}%%
sequenceDiagram
    participant Browser
    participant ABAP
    Browser->>ABAP: GET
    ABAP-->>Browser: UI5 shell (once)
    loop each interaction
        Browser->>ABAP: event + model
        ABAP-->>Browser: view + model
    end
Loading

Everything in between is handled for you:

  • Data Bindingclient->_bind( var ) connects an ABAP variable to a UI5 control; user input flows back before main runs
  • Eventsclient->_event( |SAVE| ) wires any UI5 event to a name you check with client->get_event( )
  • Rendering – views are plain UI5 XML built in ABAP with z2ui5_cl_ui5_view_builder; every control, property, and aggregation is available 1:1
  • State – your app object is serialized and restored on every request, so attributes simply keep their values

Popups, navigation, messages, and frontend actions travel the same protocol – you never touch JSON, HTTP, or JavaScript. The architecture is described in UI5 Over-the-Wire.

AI Assistants

abap2UI5 apps are a perfect fit for AI assistants: one ABAP class and nothing else – no service, no frontend project, no deployment pipeline. One file to write, hundreds of samples to learn from, and the abap2UI5 linter to verify the result without an SAP system.

Paste this into ChatGPT, Claude, Copilot or any other assistant before asking for code:

Before writing any abap2UI5 code, fetch and follow these two files. They
describe the current APIs and take precedence over anything you already know:
https://raw.githubusercontent.com/abap2UI5/abap2UI5/main/docs/agents/building-apps.md
https://raw.githubusercontent.com/abap2UI5/abap2UI5/main/llms.txt
Build views with z2ui5_cl_ui5_view_builder, one ABAP class per app, and stay
inside the templates and APIs those files describe. If something is not
covered there, say so instead of inventing it.

Claude Code users can add the mcp-server — validate, deploy, and screenshot apps without an SAP system — with one line: claude mcp add abap2ui5 -- npx --yes @abap2ui5/mcp-server. The full setup is described in Building with AI.

References

More talks, features & blog posts (2023–2024)

Credits

This project thrives thanks to its contributors and these outstanding open-source projects:

Get Involved

We welcome all contributions! Here's how you can help:

  • Issues - Report issues and provide feedback
  • Contribution - Contribute code and documentation
  • LinkedIn - Follow abap2UI5 for updates and community highlights
  • Sponsor - Sponsor our work to support ongoing innovation

Share your knowledge, hunt for bugs, submit a PR, give us a ⭐, or tell your colleagues about abap2UI5. Every contribution counts!

About

Build UI5 Apps Purely in ABAP

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

373 stars

Watchers

8 watching

Forks

Releases

Used by

Contributors

Languages