mirror of
https://github.com/abap2UI5/abap2UI5.git
synced 2025-04-29 02:58:20 +08:00
Developing UI5 Apps Purely in ABAP
.github/workflows | ||
src | ||
.abapgit.xml | ||
.gitignore | ||
abaplint-downport.jsonc | ||
abaplint.jsonc | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
README.md |
abap2UI5
Development of UI5 Apps in pure ABAP. Follow this project on twitter to keep up to date!
Project Features
- easy to use – implement just one interface for a standalone UI5 application
- pure ABAP – development using 100% ABAP (no JavaScript, DDL, EML or Customizing)
- low system footprint – based on a plain http handler (no BSP, OData, CDS, BOPF, FE or RAP)
- cloud and on-premise ready – works with both language versions (ABAP for Cloud, Standard ABAP)
- high system compatibility – runs on all available ABAP stacks (from NW 7.02 to ABAP 2302)
- easy installation – abapGit project, no additional app deployment needed
Information
SCN Blog Series - Introduction to abap2UI5
- (1/5) Development of UI5 Apps in pure ABAP (Blog SCN - 22.02.2023)
- (2/5) Output of Tables & Selection Screens (Blog SCN - 23.02.2023)
- (3/5) Pop-ups, F4-Help & Flow Logic (Blog SCN - 30.03.2023)
- (4/5) Additional Features & Demos (Blog SCN - 02.04.2023)
- (5/5) Technical Background
More
- Find abap2UI5 in the ABAP Open Source Projects (dotabap.org)
- Static Analysis & Continuous Integration with abaplint (abaplint.app/abap2UI5)
- Featured in the Boring Enterprise Nerdletter (newsletter - 08.03.2023)
- Featured in the SAP Developer News (youtube - 26.01.2023)
- Development of UI5 Selection Screens in pure ABAP (former version) (Blog SCN - 22.01.2023)
Demo (Example)
Installation
Works with all available ABAP releases and language versions:
- BTP ABAP Environment (ABAP for Cloud)
- S/4 Public Cloud ABAP Environment (ABAP for Cloud)
- S/4 Private Cloud or On-Premise (ABAP for Cloud, Standard ABAP)
- R/3 NetWeaver AS ABAP 7.50 or higher (Standard ABAP)
- R/3 NetWeaver AS ABAP 7.02 to 7.42 - use the low syntax branch
Install with abapGit, create a new HTTP service and call abap2UI5 (more information):
ABAP for Cloud:
METHOD if_http_service_extension~handle_request.
z2ui5_cl_http_handler=>client = VALUE #(
t_header = request->get_header_fields( )
t_param = request->get_form_fields( )
body = request->get_text( ) ).
DATA(lv_resp) = SWITCH #( request->get_method( )
WHEN 'GET' THEN z2ui5_cl_http_handler=>main_index_html( )
WHEN 'POST' THEN z2ui5_cl_http_handler=>main_roundtrip( ) ).
response->set_status( 200 )->set_text( lv_resp ).
ENDMETHOD.
Standard ABAP:
METHOD if_http_extension~handle_request.
DATA lt_header TYPE tihttpnvp.
server->request->get_header_fields( CHANGING fields = lt_header ).
DATA lt_param TYPE tihttpnvp.
server->request->get_form_fields( CHANGING fields = lt_param ).
z2ui5_cl_http_handler=>client = VALUE #(
t_header = lt_header
t_param = lt_param
body = server->request->get_cdata( ) ).
DATA(lv_resp) = SWITCH #( server->request->get_method( )
WHEN 'GET' THEN z2ui5_cl_http_handler=>main_index_html( )
WHEN 'POST' THEN z2ui5_cl_http_handler=>main_roundtrip( ) ).
server->response->set_cdata( lv_resp ).
server->response->set_status( code = 200 reason = 'success' ).
ENDMETHOD.
FAQ
- read these instructions when you develop your first app
- running into problems with your app? see debugging & troubleshooting
- take a look at the wiki for instructions on setting up the theme, bootstrapping, title, etc.
- as always - your comments, questions, wishes and bugs are welcome, please create an issue