`
JerryWang_SAP
  • 浏览: 1031648 次
  • 性别: Icon_minigender_1
  • 来自: 成都
文章分类
社区版块
存档分类
最新评论

如何基于Restful ABAP模型开发并部署一个支持增删改查的Fiori应用

阅读更多

Jerry之前的文章30分钟用Restful ABAP Programming模型开发一个支持增删改查的Fiori应用 发布之后,有朋友问我,“没错, 我是在你的文章里看到了Fiori应用的界面,可是这个Fiori应用的源代码我在SAP云平台上什么地方能看到呢?这个Fiori应用部署之后的状态,我在哪里能够查看呢?”

这位朋友的发问非常有力,实际上,Jerry前一篇文章,离Fiori应用的开发和部署这个目标还有一半的距离。我们回忆下当时是如何基于开发完成的Restful ABAP Programming模型弹出Fiori界面的:

 

 

从上图可以看出,我选中了一个Service Binding模型里的TravelProcessor这个节点,从右键菜单里选择Open Fiori Elements App Preview选项,这会自动打开一个在预览模式下工作的Fiori Elements应用(以前的名称叫Fiori Smart Template):

 

 

现在Fiori UI倒是打开了,但是大家仔细观察上图,应用的窗口标题为"Preview for Fiori Elements App", 应用的url里包含/sap/bc/adt/这种ABAP Development Tool相关的片段——这种工作在预览模式下的应用显然无法用于生产用途的。

因此本文继续完成剩下的一半开发工作——基于手头已有的Restful ABAP Programming模型,真正地创建一个Fiori应用并部署到SAP Cloud Platform上。幸运的是,这部分工作量也很小,没有编码工作,只需要完成一些配置步骤。

Jerry之前的文章30分钟用Restful ABAP Programming模型开发一个支持增删改查的Fiori应用 已经把SAP Cloud Platform ABAP编程环境里的名为I_Currency的CDS view通过Service Definition的方式暴露出来了,然后由Service binding绑定到OData协议上,这样我们马上要创建的Fiori应用可以通过这个Service binding,以OData的方式读取到CDS view里的数据。

 

 

假设我的Restful ABAP Programming模型和待开发的Fiori应用是在两个不同Region的SAP Cloud Platform上部署的,比如RAP模型放在Europe(Frankfurt)Region上(这是SAP云平台ABAP环境目前唯一的选择):

 

 

 

 

 

而Fiori应用放在Europe(Rot)的Neo环境上(支持Neo的Region选择就很多了):

 

 

那么这种跨Region间的服务调用,需要创建老三样,即Communication Scenario,Communication System和Communication Arrangement.

SAP官网上有详细教程:

https://developers.sap.com/group.abap-env-first-app.html

这里Jerry只强调要点。

(1) 在ABAP Development Tool里右键菜单创建Communication Scenario Z_JERRY_COMMU_SCE,然后把前一篇文章创建的Service Binding模型添加到这个Scenario的inbound service页面里:

 

 

(2) 在ABAP Development Tool右击ABAP Cloud项目,在属性页里找到这个SAP云平台ABAP环境的Fiori界面的url:

 

 

Communication Systems,Users和Arrangements都在此处创建。

 

 

Communication User顾名思义,SAP云平台Neo环境上的Fiori应用使用这个user,调用OData服务消费ABAP环境里的RAP模型。ABAP顾问可以把它类比成SAP GUI里的用户WF-BATCH, 只不过前者允许应用开发人员自行创建并设置密码。

 

 

创建Communication System,把ABAP Development Tool属性页里拿到的url,去掉最前面的https://,将剩下的值维护到Host Name里:

 

 

把之前创建的Communication User分配给这个Communication System:

 

 

最后创建Communication Arrangement:

 

 

选中第一步在ABAP Development Tool里创建的Communication Scenario:

 

 

给这个Arrangement分配刚刚创建的Communication System:

 

 

如果一切正常工作,创建好的Communication Arrangement如下图所示。将Service Url抄下来,因为下一步创建Fiori应用需要这个url. 观察这个url,其包含SAP云平台ABAP编程环境的hostname和/sap/opu/odata/sap/开头的片段,后者就是Service Definition借助Service Binding通过OData协议暴露出来的url.

 

 

(3) 回到SAP云平台Neo环境,创建一个指向ABAP环境的Destination,我起了个名字to_ABAPCloud, 将上一步Communication Arrangement里得到的url粘贴进来,User选择前一步创建的Communication User,同时给这个Destination添加两个额外的属性:

  • WebIDEEnabled:true
  • WebIDEUsage:odata_gen, odata_abap

只有这样,稍后打开的webIDE里才能识别到这个Destination,否则的话,它只能在Java或者nodejs应用里使用。

 

 

剩下的就是在WebIDE里通过向导创建Fiori应用了。打开WebIDE,选择New->Project from Template:

 

 

此处需要选择一个模板来创建Fiori应用。我们选择List Report Application,它会以只读的方式显示绑定的Odata服务对应的CDS view里的内容。

 

 

 

 

 

在Data Connection这一向导步骤,选择之前在Neo环境里创建的Destination:

 

 

然后将之前Communication Arrangement创建后获得的url维护进Service Url里,点击Test按钮,解析出这个url对应的OData模型节点:Currency.

 

 

 

 

 

点击Finish完成Fiori应用的自动创建工作。现在我们在WebIDE里得到了一个真正的Fiori应用。通过右键菜单将其从WebIDE部署到SAP Cloud Platform上:

 

 

 

 

 

成功部署:

 

 

在SAP云平台的控制台里获得了这个Fiori应用的url,我们将其和之前在预览模式下工作的Fiori应用url做对比,是不是有很大的不同?

 

 

点击url访问,现在这个Fiori页面的窗口标题再也没有了Preview的字样,可以直接用于生产用途了。

 

 

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

0
0
分享到:
评论

相关推荐

    RAP Fiori 相关教程

    RAP Fiori 提供了一种简洁的方式来开发 Fiori 应用程序,使用 ABAP RESTful 编程模型来构建企业级应用程序。 1. SAP PRESS 是 SAP 和 Rheinwerk Publishing 的联合项目,提供了专业的 ABAP 相关书籍。这些书籍涵盖...

    abap-platform-refscen-flight:SFlight又回来了! 这是ABAP RESTful编程模型的飞行参考方案

    ABAP RESTful应用程序编程模型的ABAP飞行参考方案ABAP RESTful应用程序编程模型定义了用于在SAP BTP ABAP环境和Application Server ABAP上对SAP HANA优化的Fiori应用程序进行有效的端到端开发的体系结构。 它支持...

    SAP ABAP用户指南

    - **OData服务**:基于RESTful架构,允许ABAP系统与外部应用程序(如移动设备或Web应用程序)交换数据。 - **GW Client Tools**:用于创建、测试和调试OData服务的工具。 9. **ABAP开发工具** - **ABAP ...

    new abap 74 for sap hana end to end development

    数据模型是开发的基础,而完整参考应用则是一个端到端开发过程中的重要组成部分,它反映了整个开发流程的应用场景。 CDS(Core Data Services)视图的构建是ABAP 7.4中引入的关键特性,允许开发者定义数据模型并以...

    在SAP中查询TABLE的18种方法

    SAP UI5是一个开源的JavaScript库,用于构建企业级Web应用程序,可以轻松地从SAP TABLE中提取数据并呈现。 ### 18. 使用第三方工具 除了SAP提供的工具外,还可以使用第三方ETL工具(如Informatica、Talend等)来...

    SAP Gateway and OData

    通过使用OData协议,SAP Gateway能够创建一个RESTful(Representational State Transfer)接口,这种接口符合现代应用程序的需求,易于消费和集成。OData支持 CRUD(创建、读取、更新、删除)操作,并且能够处理复杂...

    windows-sapjco3-1-4.zip

    Fiori应用程序通常基于Web技术,而JCo作为后端连接器,使得Fiori能够与SAP系统进行数据交互,实现业务流程的前端展示。开发者可以利用JCo 3.1.4在Windows平台上构建Fiori应用的后端服务,以提供强大的功能支持。 ...

    CDS 教程宝典CDS 教程宝典CDS 教程宝典CDS 教程宝典

    CDS是SAP ABAP平台上的一个关键组件,它提供了声明式的方式来定义和操作数据。通过CDS,开发者可以创建强类型的数据模型,这些模型不仅用于数据库表的定义,还支持业务逻辑和应用程序的开发。CDS的设计理念在于提高...

    AbapSourceCode:Abap程序存储库-ab source code

    ABAP(Advanced Business Application Programming)是SAP公司开发的一种编程语言,主要用于开发和维护SAP系统中的业务应用程序。"AbapSourceCode: Abap程序存储库"是一个集合了各种ABAP源代码的资源库,它提供了对...

    zcostcalc:Procustocálculode custo-FIORIABAP

    "zcostcalc:Procustocálculode custo-FIORI/ABAP"这个标题揭示了一个定制的SAP应用,该应用可能用于进行成本计算。下面将详细解释这两个技术以及它们如何协同工作。 **Fiori** Fiori是SAP推出的一种现代化的用户...

    webpage:abap-observabillity-tools的页面和中央文档

    在ABAP(Advanced Business Application Programming)环境中,观察性工具是一个重要的方面,它们帮助开发者和管理员监控、调试和优化ABAP应用程序的性能。"abap-observability-tools"是指一组专门用于提升ABAP系统...

    RTCRcrm52 CRM Web client

    RTCRcrm52作为SAP CRM的一个关键组件,专注于提供用户友好的界面和高效的业务流程支持。 二、UI设计原则与最佳实践 1. 用户体验优先:RTCRcrm52的设计注重用户体验,界面清晰,操作直观,旨在减少用户的学习曲线,...

    sap 接口文档 比较全

    SAP(System Applications and Products in Data Processing)是全球领先的业务软件解决方案提供商,广泛应用于企业资源计划(ERP)、供应链管理、客户关系管理等多个领域。接口在SAP系统中扮演着至关重要的角色,它...

    REPO_25MAR2021

    ABAP不仅支持传统的事务处理,还支持面向对象编程、Web服务和移动应用开发。它的主要组件包括ABAP Workbench、ABAP Editor、ABAP Dictionary、ABAP Reports、ABAP Objects以及ABAP Test Cockpit等。 【压缩包子文件...

    leanabapcode:记录看过,学习过的SAP代码.....

    因此,掌握ABAP不仅可以应用于传统的本地部署系统,还能服务于云环境的应用开发。 SAP ABAP的核心知识点包括以下几个方面: 1. **基础语法**:ABAP的基本结构、变量声明、数据类型(例如INT、STRING等)、条件语句...

    Javascript_SAP

    JavaScript SAP 是一个与SAP系统集成的JavaScript技术专题,它主要关注如何利用JavaScript技术与SAP企业级应用进行交互和数据通信。JavaScript作为客户端脚本语言,在网页开发中扮演着重要角色,而在企业级应用领域...

Global site tag (gtag.js) - Google Analytics