首页 > 其他分享 >使用纯 ABAP 开发 SAP UI5 之一:概述

使用纯 ABAP 开发 SAP UI5 之一:概述

时间:2023-06-26 22:58:14浏览次数:56  
标签:title z2ui5 ABAP client UI5 SAP

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 这个项目。

标签:title,z2ui5,ABAP,client,UI5,SAP
From: https://www.cnblogs.com/sap-jerry/p/17507354.html

相关文章

  • SAP BTP 平台 ABAP 编程环境如何维护自定义 Unit Of Measure 数据库表 T006
    在ABAPOn-Premises系统下,我们可以轻易在SAPGUI里对UnitofMeasure数据库表即T006进行维护:[图片]ABAP数据库表T006是SAP系统中的一个重要数据表,它用于存储与度量单位相关的信息。在SAP系统中,度量单位用于表示各种物料、服务和计量单位。这些信息对于物料管理、......
  • PPT| SAP 集团财务管控整体方案P82
    PPT总共有82页,受篇幅有限,有需要PPT的同学可关注:智能制造数字化咨询......
  • 实际案例分析 - 根据应用程序日志的记录,反查出哪一行 ABAP 代码产生的这条日志试读版
    本文的写作动机来自笔者知识星球一个朋友的提问:调用bapi创建主数据的时候报错,没有未物料组分配特性参数文件,这个是什么原因?实际查看,特性文件已经生成了这个朋友提供的是应用程序日志(即ApplicationLog)里的截图。关于应用程序日志的详细用法,笔者之前的文章已经做过介绍。74.学会......
  • 什么是 SAP Commerce Cloud 的 Flexible Search?
    SAPCommerceCloud的FlexibleSearch是一种强大而灵活的查询语言和工具,用于在SAPCommerceCloud平台上执行复杂的数据库查询操作。它提供了一种高度可定制的方式来检索和操作存储在CommerceCloud数据库中的数据。FlexibleSearch可以用于在产品、订单、用户等对象之间进行联接、......
  • 什么是 SAP Commerce Cloud SmartEdit 的 preview API
    PreviewAPI使得SmartEdit能够将商户网站加载到请求的体验环境上的iframe中。体验环境是指特定站点、目录和目录版本的商户网站,并且还可以是指定的语言、日期和时间。为了以指定的体验环境呈现商户网站,SmartEdit将请求的商户网站加载到请求的体验环境的iframe中。为了在请求的体验......
  • SAP Commerce Cloud 通过 SmartEdit 添加 Component 的一个例子
    如下图所示:位于ProductListLot内:url:http://localhost:4200/electronics-spa/en/USD/Open-Catalogue/Cameras/Digital-Cameras/Digital-Compacts/c/576观察到的OCC请求:https://localhost:9002/occ/v2/electronics-spa/cms/pages?pageType=CategoryPage&code=576&lang=en&......
  • 如何直接通过 ABAP 调试器将 SE16 事务码里无法直接查看的内容下载到本地试读版
    在SAPABAP系统里,我们可以使用事务码SE16查看数据库表的内容。这个事务码很方便,但是有一些局限性,比如类型为RAWSTRING的二进制内容,无法在这个事务码里方便的查看。下面的数据库表ZFILE是一个例子:字段VALUE存放的是文件的二进制内容。我们使用事务码SE16查看该文件的内......
  • SAP ABAP 生成 PDF 的几种技术综述
    下面这段文章,产生自ChatGPT:在SAPABAP系统中,有几种常用的技术可用于生成PDF文档。以下是其中一些常见的技术和它们的详细说明:ABAP内置功能(SAPScript和SmartForms):SAPABAP系统提供了两种内置的打印表单技术,即SAPScript和SmartForms。这些技术允许你创建具有格式化文本、图像......
  • 使用 New Bing 学习 SAP ABAP 生成 PDF 的几种技术
    本文还是围绕SAPABAP生成PDF这个话题来写。Jerry之前的公众号文章每日一个ChatGPT使用小技巧系列之3-利用角色扮演提高ChatGPT回复的质量发布之后,有朋友反馈,ChatGPT在回答如何给ABAPPDF添加水印这个问题时,表现不尽如人意。我试了一下,确实如此,所以先人工写了......
  • 实际案例分析 - 根据应用程序日志的记录,反查出哪一行 ABAP 代码产生的这条日志试读版
    本文的写作动机来自笔者知识星球一个朋友的提问:调用bapi创建主数据的时候报错,没有未物料组分配特性参数文件,这个是什么原因?实际查看,特性文件已经生成了这个朋友提供的是应用程序日志(即ApplicationLog)里的截图。关于应用程序日志的详细用法,笔者之前的文章已经做过介绍。......