c语言 如何创建adt_如何基于Restful ABAP Programming模型开发并部署一个支持增删改查的Fiori应用...

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

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

d5aaa4350a88fb965215186853a16d83.png

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

633fb70f5e2b08869ccfa4ade501b16b.png

现在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里的数据。

8450f8bdb9b855c41b762bed4a0581a1.png

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

b0ba18c1ae43e4be16abb84a1e2ef318.png

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

336ed0133a3705f742a6e12f3de21890.png

那么这种跨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页面里:

880c3adc8463b3cf442a9586485d3fe5.png

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

4ef338314900522fd8afb9b8b0130233.png

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

3fbf2a67195a1c06074a7d2410d6890f.png

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

1e566d91bf48a18977d9c305b8b6dc95.png

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

c7fc9675410357d82e1adca530b8cc04.png

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

1993ec8f19d111ae091eed82064072ea.png

最后创建Communication Arrangement:

23707b342c1c79a267f5dc479e6e5f69.png

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

e2f54a69441aa551d0cb12ec9eb8ab75.png

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

ca2b0af1110efb26c16a04ea23f01520.png

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

abcc801ceb0d2d7e82b18a9d9028f57c.png

(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应用里使用。

3a73a1280071f303324bba0345551f38.png

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

f39386a5a7d971d2da165d26dd73f9e8.png

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

e5d4f84b5fd54e4cba8fd720f721128f.png

d665f45f0b2635204054567218756504.png

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

163b01478f44c37ec1fe86424edee561.png

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

3c7be7c9dde95d4ca9c6ea41205fa9cf.png

d495558b591c273a42b762a6431e6f13.png

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

e3beaa990c7372ed00e13a9d07c01398.png

3c4eb1a5b32618d8115eee52e903bdae.png

成功部署:

ef64de04a45b4dba90f07bb3dd0de4ab.png

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

10bba207381e498ffc23e75001b085b4.png

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

818f1d06347987497eddb3673b1939ef.png

请继续关注本公众号获得更多关于SAP Cloud Platform ABAP编程环境的分享,感谢阅读。

31b61cbc4fe394de5c65f4d3edd8fd75.png

更多阅读

  • Jerry的ABAP, Java和JavaScript乱炖

  • ABAP开发人员未来应该学些什么

  • Jerry 2017年的五一小长假:8种经典排序算法的ABAP实现

  • Jerry的ABAP原创技术文章合集

  • 300行ABAP代码实现一个最简单的区块链原型

  • 使用Java+SAP云平台+SAP Cloud Connector调用ABAP On-Premise系统里的函数

  • 在SAP云平台的CloudFoundry环境下消费ABAP On-Premise OData服务

  • ABAP vs Java, 蛙泳 vs 自由泳

  • 聊聊C语言和ABAP

  • 动手使用ABAP Channel开发一些小工具,提升日常工作效率

  • 我用ABAP做过的那些无聊的事情

  • 不喜欢SAP GUI?那试试用Eclipse进行ABAP开发吧

  • 使用Visual Studio Code编写和激活ABAP代码

  • 你的ABAP程序给佛祖开过光么?来试试Jerry这个小技巧

  • 在SAP云平台ABAP编程环境上编写第一段ABAP程序

  • SAP官方发布的ABAP编程规范

  • ABAP Code Inspector那些隐藏的功能,您都知道吗?

  • 还在用ABAP进行SAP产品的二次开发?来了解下这种全新的二次开发理念吧

  • ABAP Netweaver体内的那些寄生式编程语言

  • 从SAP社区上的一篇博客开始,聊聊SAP产品命名背后的那份情怀

  • 云端的ABAP Restful服务开发

  • 如何在SAP云平台ABAP编程环境里把CDS view暴露成OData服务

  • 使用abapGit在ABAP On-Premises系统和SAP云平台ABAP环境之间进行代码传输

  • 30分钟用Restful ABAP Programming模型开发一个支持增删改查的Fiori应用

  • Jerry带您了解Restful ABAP Programming模型系列之二:Action和Validation的实现

  • Jerry带您了解Restful ABAP Programming模型系列之三:云端ABAP应用调试

  • SAP云平台上的ABAP编程环境里如何消费第三方服务

  • ABAP开发者上云的时候到了 - 现在大家可以免费使用SAP云平台ABAP环境的试用版了

  • 学而不思则罔 - SAP云平台ABAP编程环境的由来和适用场景

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值