共计 2062 个字符,预计需要花费 6 分钟才能阅读完成。
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 这个我的项目。
正文完