前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用abapGit在ABAP On-Premises系统和SAP云平台ABAP环境之间进行代码传输

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

原创
作者头像
Jerry Wang
修改2019-09-29 14:16:39
7730
修改2019-09-29 14:16:39
举报

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

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

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

https://github.com/sapmentors/SAPlink

(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/test-sap-abap-cloud

(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/test-sap-abap-cloud

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

clipboard18,18
clipboard18,18

当我们在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环境中代码管理这一概念的理解,感谢阅读。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云 BI
腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档