10

我们的产品目前涵盖大量技术,包括 Java、PL/SQL、VB.Net 和 ABAP。我们为除 ABAP 之外的所有语言设置了相当成熟的源代码控制和构建系统,ABAP 仍处于石器时代。由于 SAP 在其中设置了构建系统,我们的工程师在 SAP 环境中进行所有开发,导出传输,并将它们检查到源代码控制中。由于我们支持多个 SAP 版本,因此跟踪版本和跨 4.6、4.7、5.0 等迁移代码变得非常困难。

我理想的过程是将 ABAP 代码检查到文本文件中的源代码控制中,然后将其加载到 SAP 中并生成传输作为构建过程的一部分。SAP 工程师认为没有支持这种模型的工具。

如果您在源代码控制系统中管理 ABAP 代码,您的流程是什么样的?是否有可用的工具(最好是命令行)将 ABAP 代码加载到 SAP 中?您的工程师如何管理代码/测试/调试周期?他们是在SAP 中编码,然后在完成后导出代码,还是在外部编辑器中编辑?

4

6 回答 6

5

为此,我使用了 SAPLINK(在前面的答案中提到)。还有一个名为“zake”的相关项目,据说可以自动执行一些任务,但我从未使用过它。我只是将我的代码手动导出到所谓的 slinkee(它们包含单个对象,如函数组;另一方面,掘金包含多个对象)。

使用一些外部源代码控制系统的原因:

  • 与非abap源代码相关(因为我们的软件由.net和abap代码组成)
  • 托管/维护 SAP 并不是我们所擅长的,所以很高兴知道您将代码放在安全的地方

不过有一件事:您至少需要 WAS 620 才能使用 saplink

于 2009-07-06T13:42:58.740 回答
4

我对 SAP 系统的 ABAP 堆栈之外的版本控制有什么好处感兴趣。

我从未见过有人为 ABAP 使用外部源代码控制,因为它是内置的。我也从未见过有人在 SAP 系统之外编写 ABAP 代码。真的不适合这个模型。

SAP 的 ABAP 堆栈是单一开发系统环境。所有开发人员都登录到一个系统并在那里进行开发。系统自动记录版本,并将更改的对象分组到传输中。传输只是更改对象的列表。导出传输后,每个对象的版本号都会递增,并且您会获得其他系统的包。

ABAP 堆栈本身也没有真正的“构建”概念。你所做的一切都是一个补丁。

于 2008-12-04T14:25:17.903 回答
0

另请查看 SAP CTS+,它用于管理基于 ABAP 和 JAVA 的组件的传输和版本控制。

https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/e0249083-c0ab-2a10-78b8-b7a7854b1070

于 2008-12-18T14:28:13.210 回答
0

嗨,

正如 Dom 告诉你的,SAP 有自己的版本管理。但是,为了在传输释放之间进行定期保存,您可以使用以下工具:

该工具可用于将 ABAP 组件提取到 XML 中。我真的不建议自动导入 SAP,原因有很多: # 这些工具没有保证 # 并非所有 ABAP 组件都可以这样处理

但是使用(Google 代码)之类的工具来详细显示软件更改可能会很有趣,这在 ABAP 对象上可能会更复杂。

我使用 ZAPLINK_EXTRACTOR 程序在 ZAP Link 框架上开发了这个程序,该程序在 SAP 组件发生更改时将其导出为 XML。这可以防止 XML 文件更改(新文件但内容相同)并被 mercurial 等工具检测为更改。

希望能帮助到你。

请记住,您应该使用 SAP 工具来更改 SAP 组件。SAP 顾问可能会为您详细解释。

塔里克。[ http://www.steria.com斯特里亚(法国)]

于 2010-01-23T17:37:03.473 回答
0

至少,应该在 SAP 开发系统中进行修改和测试。没有人在 ABAP 中使用外部编辑器。(另一方面,SAP Java ......)没有理由不能直接备份 SAP 代码,作为文本文件,或者(最好)使用 SAPLink 或传输转储文件。(向您的 BASIS 人员询问有关传输文件的信息)。意识到如果您使用文本文件路径,您可能会错过存储在数据库中其他位置的字段文本等内容。

于 2010-02-08T13:54:19.573 回答
0

2020 年对这个问题的回答很简单:使用AbapGit。它为您提供了现代版本控制的所有优势,文档齐全,开源并且像魅力一样工作。

于 2020-10-13T15:18:14.253 回答