关于sap:使用纯-ABAP-开发-SAP-UI5-之一概述

abap2UI5是一个开源我的项目,提供了一种纯ABAP的办法来开发UI5应用程序,无需应用JavaScript、OData和RAP——相似于过来,只须要几行ABAP代码就能够应用抉择屏幕和ALV显示输出和表格。该我的项目设计具备最小的零碎占用,并能够在本地和云环境中运行。

应用 ABAP 开发 SAP UI5 利用的一些劣势:

  • 易于应用-仅需施行一个独立的UI5利用程序接口
  • 纯ABAP-应用100%的ABAP进行开发(没有JavaScript、DDL、EML或自定义)
  • 低零碎占用-基于纯http处理程序(没有BSP、OData、CDS、BOPF或RAP)
  • 云端和本地就绪-实用于两种语言版本(云端ABAP,规范ABAP)
  • 高零碎兼容性-可在所有ABAP版本上运行(从NW 7.02到ABAP 2305)
  • 装置简便-abapGit我的项目,无需额定的应用程序部署

兼容性

  • 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

一个根本的例子:

CLASS z2ui5_cl_app_demo_01 DEFINITION PUBLIC.

  PUBLIC SECTION.

    INTERFACES z2ui5_if_app.

    DATA product  TYPE string.
    DATA quantity TYPE string.

ENDCLASS.

CLASS z2ui5_cl_app_demo_01 IMPLEMENTATION.

  METHOD z2ui5_if_app~main.

    "event handling
    CASE client->get( )-event.
      WHEN 'BUTTON_POST'.
        client->popup_message_toast( |{ product } { quantity } - sent to the server| ).
    ENDCASE.

    "view rendering
    client->set_next( VALUE #( xml_main = z2ui5_cl_xml_view=>factory(
        )->page( title = 'abap2UI5 - First Example'
            )->simple_form( title = 'Form Title' editable = abap_true
                )->content( 'form'
                    )->title( 'Input'
                    )->label( 'quantity'
                    )->input( client->_bind( quantity )
                    )->label( 'product'
                    )->input( client->_bind( value = product )
                    )->button( text  = 'post' press = client->_event( 'BUTTON_POST' )
         )->get_root( )->xml_get( ) ) ).

  ENDMETHOD.
ENDCLASS.

上述代码的作用是生成一个 input 和 message output.

换言之,要用 ABAP 生成一个 SAP UI5 利用,仅仅须要实现 z2ui5_if_app 接口即可。

INTERFACE z2ui5_if_app PUBLIC.

  METHODS main
    IMPORTING
      client TYPE REF TO z2ui5_if_client.

ENDINTERFACE.

上述代码生成的 SAP UI5 利用:

这是一个一般的 SAP UI5 xml view:

<Page title="Page title" >
    <f:SimpleForm title="Form Title">
        <f:content>
            <Title text="Input" />
            <Label text="quantity"/>
            <Input value="{/oUpdate/QUANTITY}"/>
            <Label text="product" />
            <Input value="tomato" />
            <Button press="onEvent" text="post"/>
        </f:content>
    </f:SimpleForm>
</Page>

对应的 ABAP 写法:

view->page( title = 'Page title' )
        )->simple_form( 'Form Title'
          )->content( 'f'
             )->title( 'Input'
             )->label( 'quantity'
             )->input( client->_bind( quantity )
             )->label( 'product'
             )->input( value = product editable = abap_false
             )->button( text = 'post'  press    = client->_event( 'BUTTON_POST' ) ).

后续笔者会深刻介绍 abap2ui5 这个我的项目。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理