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

2次阅读

共计 2635 个字符,预计需要花费 7 分钟才能阅读完成。

SAP ABAP 顾问朋友们,应该都使用过 SAPLink 这个工具。如果两个 ABAP Netweaver 系统没有建立起传输路径时,我们无法使用标准的 SE10 事务码创建传输请求的方式进行这两个系统间的代码传输。此时,SAPLink 就有了用武之地。

SAPLink 简单地说就是一个报表和一系列插件的集合。如果我们期望在系统 A 和 B 之间传输代码,步骤为:

(1) 在系统 A 和 B 上都安装 SAPLink,其实也就是手动创建报表,然后从 SAPLink 的 github 上把源代码拷贝过来,激活即可:
https://github.com/sapmentors…

(2) 在系统 A 上执行 SAPLink,把想传输的代码导出成一个本地文件。

(3) 在系统 B 上执行 SAPLink,将前一步生成的本地文件导入。

SAPLink 的介绍文章,网络上太多了,本文不再赘述。

到了云时代之后,SAP 云平台 ABAP 编程环境的代码版本管理,选择了基于 abapGit 这个开源项目的 GIT 来进行。

下面跟着 Jerry 一起,通过一个简单的例子来了解怎么做吧。

Jerry 这个例子的场景是,我在 ABAP On-Premises 系统 AG3 里,开发了一些 ABAP 代码。我想通过 abapGit,把这些 On-Premises 系统上的 ABAP 代码导入到 SAP Cloud Platform ABAP 环境里。

(1) 首先到这个 Github 仓库里找到 abapGit 的源代码,拷贝到 On-Premises 系统里。

激活之后运行报表,界面如下:

(2) On-Premises 系统上的 ABAP 代码是无法直接推送到 SAP 云平台 ABAP 环境的,需要一个中转站,即 github.com 上的代码仓库。为此,Jerry 新建一个代码仓库:test-sap-abap-cloud.

(3) 回到 On-Premises 系统的 abapGit 报表,点击工具栏的 Online 超链接,同第二步创建的 Github 仓库建立关联。

上图的意思是我在 On-Premises 系统里新创建的开发包,$ZJERRYPACKAGE 里面的代码,会和 github.com 的 test-sap-abap-cloud 这个仓库建立关联。

因为我的开发包里尚未创建任何代码,所以此时 abapGit 里除了包描述 XML 文件外,没有显示任何和 ABAP 代码相关的资源文件。

(4) 现在我在 On-Premises 系统里随便创建一个 Hello World 的报表:

回到 On-Premises 系统的 abapGit,刷新,此时就能看见我刚刚创建的 ABAP 报表了。

和大家使用 Mac 或者 Windows 版本的 Git 客户端一样,我首先用 abapGit 把 On-Premises 系统创建的这个 Hello World 报表推送到 github.com:

随便维护一个推送注释,比如 the first commit from Jerry’s abapgit:

成功推送完毕,现在 github 上的仓库已经能看到刚刚推送的来自 On-Premises 系统的报表代码和推送注释了:the first commit from Jerry’s abapgit
https://github.com/i042416/te…

(5) 现在我们可以把 github.com 仓库里的代码导入到 SAP 云平台 ABAP 环境了。给 ABAP Development Tools 安装 abapGit 插件,地址为:eclipse.abapgit.org/updatesite

安装完毕后,打开 abapGit 视图:

登录 SAP Cloud Platform ABAP 编程环境,点击 Link 按钮:

输入 github.com 的仓库地址:https://github.com/i042416/te…

指定 SAP 云平台 ABAP 环境里 ZJERRY 这个包存放来自 github.com 的 ABAP 代码:

当我们在 abapGit 视图里看到标记为 Imported 状态的条目时,说明导入成功。然而,在 SAP 云平台 ABAP 环境的开发包 ZJERRY 里,我并没有看到 On-Premises 系统里的 Hello World 报表,这是怎么回事呢?

原来,在 SAP Cloud Platform ABAP 环境里,能允许开发人员编写 ABAP 代码的载体就只有下列五种,不支持 On-Premises 环境里通过 SE38 创建的 ABAP 报表。如果我们在 On-Premises 系统里创建一个 ABAP 类,通过本文介绍的步骤,是能够顺利导入 SAP 云平台 ABAP 环境并可以继续在其上开发的。

在 SAP 云平台 ABAP 编程环境里,我们如果想模拟 On-Premises 环境 SE38 里创建的报表,可以通过创建实现了接口 IF_OO_ADT_CLASSRUN 的 ABAP 类来完成。

右键单击这种类,选择 Run As ABAP Application(Console) 即可。

希望本文能加深大家对下图中通过 GIT 来进行 SAP Cloud Platform ABAP 环境中代码管理这一概念的理解,感谢阅读。

更多阅读

  • 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 服务

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

正文完
 0