Developing UI5 Apps Purely in ABAP
Go to file
2023-06-15 16:22:56 +00:00
src project reorganization 2023-06-15 16:22:56 +00:00
.abapgit.xml project reorganization 2023-06-15 16:22:56 +00:00
abaplint.jsonc project reorganization 2023-06-15 16:22:56 +00:00
LICENSE project reorganization 2023-06-15 16:22:56 +00:00
README.md project reorganization 2023-06-15 16:22:56 +00:00

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 in 100% ABAP source code (no JavaScript, EML, DDL or Customizing)
  • low system footprint - based on a plain http handler (no BSP, OData, BOPF, CDS, 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 (NW 7.02 to ABAP 2302)
  • easy installation abapGit project, no additional app deployment needed

Information

SCN Blog Series - Introduction to abap2UI5
More

Demo Application (Source Code)

tweet1

Installation

Works with all available ABAP stacks 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.40 - 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