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

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

阅读更多

Jerry从2018年底至今,已经写了一系列关于SAP Kyma的文章,您可以移步到本文末尾获得这些文章的列表。Kyma是SAP开源的一个基于Kubernetes的云原生应用开发平台,能够允许SAP的partners以简捷而现代的方式,对SAP的云解决方案和传统On Premises产品进行连接,集成和扩展。所谓“现代”,即partners在进行二次开发时,可以充分利用近些年来企业级开发领域不断涌现出的新技术,比如Serverless计算,微服务架构等等。

clipboard1,1

Kyma是完全开源和免费的,任何人都可以试着在自己的本地电脑上进行安装。当然,尝试自己本地安装有一些门槛,因为安装过程中需要从Google的网站上拖取一些Kubernetes相关镜像,因此需要学会“科(fang)学(zhi)上(he)网(xie)”。

而SAP Cloud Platform Extension Factory,是SAP在开源项目Kyma上进一步完善而推出的一个商业化解决方案,本身并不单独卖,而是作为SAP云平台的一个组成部分。

clipboard2,2

Kyma和SAP Cloud Platform Extension Factory的关系,就好比Open UI5和SAP Fiori目前使用的UI5框架之间的关系一样。在Jerry这篇文章特殊的上下文里,因为Jerry不想每次都敲出“SAP Cloud Platform Extension Factory这五个单词”,所以下文还是统一用Kyma这个词。

Jerry之前的文章 WordPress,SAP Kyma和微信三者的集成,介绍了如何使用SAP Kyma中的Lambda Function,监听WordPress中的post.created事件,从而完成对WordPress的增强。

今天这篇文章,让我们把通过SAP Kyma进行扩展的对象换成C/4HANA中的一朵云,SAP Cloud for Customer(C4C)。Jerry希望每当C4C中有新的Opportunity创建时,C4C都会把这个事件通知给Kyma上的Lambda Function,后者作为事件监听函数,可以进行对应的处理,具体做什么逻辑,大家可以试着开开自己的脑洞。

比如实现一个Account Address Enrichment的功能,就是用户在C4C里创建Account时,只需要维护基本的地址信息,然后点击保存,C4C发送事件给Kyma,后者接到这个事件后,调用SAP API Hub上的Address微服务,把丰富过后的地址详情通过C4C Account OData API调用的方式,写回C4C。通过这个增强,减少了C4C用户录入数据的工作量,同时也展示了Kyma与被其扩展的C/4HANA产品的数据双向读写功能。

clipboard3,3

下面我们就来看看这个扩展如何完成。

首先当然是要把C4C同Kyma建立起互相信任的连接了。对于SAP partners来说,好消息是这个连接的配置是一个黑盒子,通过下图Kyma的Application Connector模块完成,partners不需要了解其技术实现。

clipboard4,4

首先进入SAP Cloud for Customer的Administration的工作中心,打开General Settings视图,进入Event Notification配置UI:

clipboard5,5

新建一个C4C OData事件和API的消费者:

clipboard6,6

类型选择SAP Cloud Platform Extension Factory,即Kyma:

clipboard7,7

这个Remote Environment URL从哪里来呢?就是SAP Kyma应用里的Application Connector对应的url:

clipboard8,8

到Kyma控制台的应用里,点击Connect Application,就得到了需要维护到C4C里的url:

clipboard9,9

维护了回调用户名和密码之后,再添加Subscription,即您希望将Cloud for Customer系统里的哪些BO事件,发布给Kyma:

clipboard10,10

我选择了Account和Opportunity这两个BO的创建和更新事件,暴露给Kyma:

clipboard11,11

成功保存并激活配置:

clipboard12,12

回到Kyma的应用界面,在Provided Services & Events界面下,此时能看到Cloud for Customer发布过来的API和事件了:

clipboard13,13

进入Kyma Service Management的Catalog界面下,找到从Cloud for Customer系统导入进来的服务,

clipboard14,14

进入服务明细,能观察到Cloud for Customer系统发布的BO事件的字段参数,

clipboard15,15

以及该C4C系统所有支持的OData API列表。如果我们期望在Kyma的Lambda Function里对C4C的数据进行写回操作,就得使用这些OData API.

clipboard16,16

接下来,我们就可以基于这些API和事件进行Lambda Function的开发了。

首先基于C4C导入进来的服务,创建一个新的实例:

clipboard17,17

确保实例处于运行状态:

clipboard18,18

然后基于该实例创建一个新的Lambda Function:

clipboard19,19

Lambda Function的触发方式,选择之前C4C暴露的BO创建和修改事件:

clipboard20,20

由于文章篇幅原因,这里暂时不介绍在Kyma Lambda Function里如何调用C4C的OData API,而只是简单的打印出C4C传递过来的事件参数:

clipboard21,21

至此Kyma端的开发和配置就结束了,是不是觉得步骤非常简单明了?

现在到C4C里创建一个新的Opportunity,保存:

clipboard22,22

到C4C的Event Notification Monitoring界面去,观察到Opportunity创建的事件已经成功被投递到Kyma去了,对应的Kyma实例的url也可以在投递明细里查看到。

clipboard23,23

再回到Kyma Lambda Function的日志界面,这里也看到了Lambda Function实现体里打印出的来自C4C的事件明细:

clipboard24,24

为什么只打印了两个guid呢?因为C4C暴露的BO事件,其参数规范里就只包含了发生事件的当前节点和Root节点的guid. 至于如何在Kyma的Lambda Function里调用C4C的OData, 咱们将来再聊。

clipboard25,25

大家可以试着比较一下,如何使用C4C传统的二次开发方式,该如何监听BO的创建和更新事件呢?那就是使用SAP Cloud Application Studio,在Solution里创建BO增强,然后在BO节点上创建AfterModify并通过ABSL编程实现。
clipboard26,26

而SAP Kyma的横空出世,确实像SAP的官方宣传那样,给SAP partners们提供了一种不同于过去在ABAP平台上进行的全新的二次开发方式。通过SAP Kyma提供的事件监听机制,进行SAP二次开发的从业人员不再需要对被增强的SAP解决方案的技术细节有过多的了解,仅仅在Kyma Lambda Function定义好的接口上下文内,调用公开稳定的API,即可完成开发任务。

clipboard27,27

希望本文能够对广大的SAP二次开发从业者们有所启发,感谢阅读。

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

0
0
分享到:
评论

相关推荐

    ABAP开发资料,SAP二次开发的资料

    这个压缩包文件“ABAP开发资料,SAP二次开发的资料”显然包含了帮助初学者理解并掌握ABAP开发的基础资源。 ABAP是SAP的核心编程语言,用于构建SAP系统内的业务逻辑和自定义功能。以下是一些关于ABAP开发的关键知识点...

    MRP软件:SAP MRP二次开发-ABAP编程基础.docxMRP软件:SAP MRP二次开发-SAPMRP二次开发工具与技

    MRP软件:SAP MRP二次开发_ABAP编程基础.docx MRP软件:SAP MRP二次开发_SAPMRP二次开发工具与技术.docx MRP软件:SAP MRP二次开发_SAPMRP二次开发案例分析.docx MRP软件:SAP MRP二次开发_SAPMRP二次开发需求分析....

    ERP软件:SAP二次开发-ABAP编程基础+ERP软件:SAP二次开发-SAP Fiori开发

    ERP软件:SAP二次开发_ABAP编程基础.docx ERP软件:SAP二次开发_SAP Fiori开发.docx ERP软件:SAP二次开发_SAP HANA集成开发.docx ERP软件:SAP二次开发_SAPWebDynpro开发.docx ERP软件:SAP二次开发_SAP二次开发中...

    MRO软件:SAP MRO二次开发-ABAP编程语言基础+MRO软件:SAP MRO二次开发-BAdI(业务添加)开发

    MRO软件:SAP MRO二次开发_ABAP编程语言基础.docx MRO软件:SAP MRO二次开发_BAdI(业务添加)开发.docx MRO软件:SAP MRO二次开发_SAPMRO与其他模块的集成.docx MRO软件:SAP MRO二次开发_SAPMRO业务流程分析.docx ...

    ERP软件:SAP Fashion Management二次开发-ABAP编程基础

    ERP软件:SAP Fashion Management二次开发_ABAP编程基础.docx ERP软件:SAP Fashion Management二次开发_SAPFashionManagement业务流程优化.docx ERP软件:SAP Fashion Management二次开发_SAPFashionManagement个性...

    SAP-ERP二次开发语言ABAP简介

    SAP-ERP二次开发语言ABAP简介 SAP-ERP二次开发语言ABAP功能介绍

    包装材料管理软件:SAP二次开发-SAP二次开发工具与环境配置.docx包装材料管理软件:SAP二次开发-SAP二次开发的基本

    包装材料管理软件:SAP二次开发_SAP二次开发工具与环境配置.docx 包装材料管理软件:SAP二次开发_SAP二次开发的基本概念与技术.docx 包装材料管理软件:SAP二次开发_SAP包装材料管理中的业务流程与实践.docx 包装...

    包装物流管理软件:SAP二次开发-SAP包装物流管理报表与分析包装物流管理软件:SAP二次开发-SAP包装物流管理最

    包装物流管理软件:SAP二次开发_SAPABAP编程基础.docx 包装物流管理软件:SAP二次开发_SAPUI5前端开发技术.docx 包装物流管理软件:SAP二次开发_SAP二次开发技术栈详解.docx 包装物流管理软件:SAP二次开发_SAP二次...

    abap 二次开发 中的编程语法

    ABAP/4编程语法是SAP R/3系统的核心开发工具,它是一种四代编程语言,与Visual Basic和JAVA有相似之处,但又有其独特的特点。对于初学者来说,掌握ABAP/4的基础知识和编程规范是至关重要的。 在ABAP/4中,程序结构...

    sap abap标准教材

    R/3系统基于ABAP语言进行开发,因此掌握了ABAP就等于掌握了SAP R/3的开发能力。 #### 二、ABAP开发技术 1. **列表处理高级技术**:这部分内容主要涉及了如何在ABAP中高效地处理数据列表,包括数据排序、过滤、分组...

    SAP ABAP 数据模型

    总之,SAP ABAP数据模型是SAP系统中数据存储和业务流程的基础,对于任何希望在SAP环境中进行开发和优化的人来说,深入理解这些模型是至关重要的。通过学习和掌握这些知识,开发者能够更好地设计、实施和维护高效的...

    sap abap举例大全

    在SAP ABAP编程中,ALV(Accelerated SAP List Viewer)是一种强大的工具,用于创建交互式、可自定义的报告。以下是一些关键的知识点,涵盖了从基础到高级的ALV应用: 1. **Simple ALV Grid Report**: 这是ALV报告...

    SAP ABAP基础知识

    ABAP/4 是 SAP R/3 应用的基础,也是进行 SAP R/3 二次开发的最主要的工具,是我们对 SAP R/3 系统进行应用分析、二次开发的主要工具、必由之路。ABAP/4 提供了一个强大的开发环境,包括编辑器、调试器、编译器等...

    SAP R/3系统中ABAP/4编程概述

    ABAP/4是SAP R/3系统中专用于开发和定制应用的核心编程语言,允许企业根据自身需求进行系统的个性化配置。 ABAP/4,全称为Advanced Business Application Programming/4,是一种第四代编程语言,旨在促进交互式业务...

    [SAP]ABAP程序介绍

    ABAP(Advanced Business Application Programming)是SAP R/2和R/3时期的开发语言,目前版本为ABAP/4,主要用于满足企业特定需求的二次开发,如报表、业务流程、界面和第三方系统接口的定制。 ABAP程序分为可执行...

    SAP ABAP 开发入门

    从零开始学习 SAP 二次开发语言ABAP,通过课程的学习,初学者能够掌握SAP ABAP基本开发技巧,主要涵盖如下内容、ABAP基础知识、ALV报表开发、自定义屏幕开发、打印开发;通过学习学习者能够加入项目开始进行基础开发...

    SAP ABAP 增强总结

    SAP ABAP(Advanced Business Application Programming)是SAP环境下的一种高级商务应用程序开发语言,广泛应用于SAP系统的定制开发与二次开发之中。本文档旨在对SAP ABAP中的增强机制进行详细总结,为开发者提供一...

    SAP SDK开发帮助文档

    SAP SDK开发帮助文档包,二次开发人员的必备品

    ABAP简介(SAP)

    ### ABAP简介(SAP) #### 第一单元:ABAP简介 ABAP(Advanced Business Application ...通过以上内容的学习,开发者可以全面掌握ABAP的基础知识和高级技巧,从而能够有效地利用SAP平台进行应用程序的开发和维护。

Global site tag (gtag.js) - Google Analytics