Developing UI5 Apps Purely in ABAP
Go to file
2023-06-27 10:38:45 +02:00
.github/workflows action - build_downport 2023-06-17 13:50:02 +02:00
src FilterBar: Namespace was missing (#315) 2023-06-27 10:35:26 +02:00
test add transpiler setup running unit tests (#195) 2023-06-15 16:23:16 +00:00
.abapgit.xml project reorganization 2023-06-15 16:22:56 +00:00
.gitignore add transpiler setup running unit tests (#195) 2023-06-15 16:23:16 +00:00
abaplint-downport.jsonc update abap version 2023-06-27 09:29:48 +02:00
abaplint.jsonc update abap version 2023-06-27 09:30:11 +02:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2023-06-27 09:42:09 +02:00
CONTRIBUTING.md Update CONTRIBUTING.md 2023-06-27 10:11:33 +02:00
LICENSE Create LICENSE 2023-06-27 09:44:15 +02:00
LINKS.md new version (#309) 2023-06-26 19:17:19 +02:00
package-lock.json update npm dependencies (#251) 2023-06-15 16:23:16 +00:00
package.json renaming 2023-06-18 18:38:42 +02:00
README.md Update README.md 2023-06-27 10:38:45 +02:00


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 or RAP)
  • cloud and on-premise ready works with both language versions (ABAP for Cloud, Standard ABAP)
  • high system compatibility runs on all ABAP releases (from NW 7.02 to ABAP 2305)
  • easy installation abapGit project, no additional app deployment needed

Compatibility

  • 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 downport repository

Information (Blog Series)

  1. Introduction: Developing UI5 Apps in pure ABAP (Blog SCN - 22.02.2023)
  2. Displaying Selection Screens & Tables (Blog SCN - 23.02.2023)
  3. Popups, F4-Help, Messages & Controller Logic (Blog SCN - 30.03.2023)
  4. Advanced Functionality & Demonstrations (Blog SCN - 02.04.2023)
  5. Extensions with XML Views, HTML, JS & CC (Blog SCN - 12.04.2023)
  6. Installation, Configuration & Debugging (Blog SCN - 14.04.2023)
  7. Technical Background: Under the Hood of abap2UI5 (Blog SCN - 26.04.2023)

More

Installation

Install with abapGit abapGit, create a new HTTP service and replace the handler method with the following code:

Standard ABAP 🏠
METHOD if_http_extension~handle_request.

   DATA lt_header TYPE tihttpnvp.
   server->request->get_header_fields( CHANGING fields = lt_header ).

   DATA(lv_resp) = SWITCH #( server->request->get_method( )
      WHEN 'GET'  THEN z2ui5_cl_http_handler=>http_get( )
      WHEN 'POST' THEN z2ui5_cl_http_handler=>http_post(
         body      = server->request->get_cdata( ) 
         path_info = lt_header[ name = `~path_info` ]-value ) ).

   server->response->set_header_field( name = `cache-control` value = `no-cache` ).
   server->response->set_cdata( lv_resp ).
   server->response->set_status( code = 200 reason = `success` ).

ENDMETHOD.
ABAP for Cloud ☁️
METHOD if_http_service_extension~handle_request.

   DATA(lt_header) = request->get_header_fields( ).

   DATA(lv_resp) = SWITCH #( request->get_method( )
      WHEN 'GET'  THEN z2ui5_cl_http_handler=>http_get( check_logging = abap_true )
      WHEN 'POST' THEN z2ui5_cl_http_handler=>http_post(
         body      = request->get_text( )
         path_info = lt_header[ name = `~path_info` ]-value ) ).

   response->set_header_field( i_name = `cache-control` i_value = `no-cache` ).
   response->set_status( 200 )->set_text( lv_resp ).

ENDMETHOD.

FAQ

  • check out this documentation for detailed installation guidelines
  • read these instructions when you develop your first app
  • want to configure the theme, bootstrapping, language and title? see configuration & debugging
  • as always - your comments, questions, wishes and bugs are welcome, please create an issue