在源代码管理中管理 ABAP 源代码

发布于 2024-07-09 10:52:38 字数 461 浏览 9 评论 0原文

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

我理想的流程是将 ABAP 代码签入文本文件中的源代码管理中,然后将其加载到SAP 并生成传输作为构建过程的一部分。 SAP 工程师认为没有工具可以支持该模型。

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

Our product currently spans a large number of technologies, including Java, PL/SQL, VB.Net and ABAP. We have a fairly mature source control and build system set up for all of the languages except ABAP, which is still in the stone ages. Since SAP has a build system set up within it, our engineers do all of their development in an SAP environment export transports, and check those into source control. Since we support a number of SAP versions, it becomes very difficult to track versions and migrate code across 4.6, 4.7, 5.0, etc.

My ideal process would be to check the ABAP code into source control in text files, and then load it into SAP and generate the transports as part of the build process. The SAP engineers don't think there are tools to support this model.

If you are managing ABAP code in a source control system, what does your process look like? Are there tools available (preferably command-line) for loading ABAP code into SAP? How do your engineers manage the code/test/debug cycle? Do they code in SAP and then export the code when finished, or edit in an external editor?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

物价感观 2024-07-16 10:52:38

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

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

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

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

I used SAPLINK (mentioned in previous answer) for that purpose. There is also a related project called "zake", that supposedly can automate some of the tasks but I never used it. I simply exported my code manually to so-called slinkees (they contain single objects like function groups; nuggets on the other hand contain several objects).

Reasons to use some external source control system:

  • correlation to non-abap source code (as our software consisted of .net and abap code)
  • hosting / maintaining SAP was not something we were exactly good at, so it was good to know you had your code in a safe place

one thing though: you need at least WAS 620 in order to use saplink

北城半夏 2024-07-16 10:52:38

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

我从未见过任何人使用 ABAP 的外部源代码控制,因为它是内置的。我也从未见过任何人在 SAP 系统之外编写 ABAP 代码。 确实不符合模型。

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

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

I'm interested as to what the benefit is of version control outside the ABAP stack of the SAP system.

I've never seen anyone use external source code control for ABAP, as it's built right in. I've never seen anyone code ABAP outside the SAP system either. It really doesn't fit the model.

SAP's ABAP stack is a single-development system environment. All the developers log on to the one system and develop there. The system records versions automatically, and groups changed objects into transports. A transport is just a list of changed objects. Once you export the transport, the version numbers are incremented for each object and you get the package for the other systems.

The ABAP stack also doesn't really have a "build" concept as such. Everything you do is a patch.

埋葬我深情 2024-07-16 10:52:38

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

The 2020 answer to the question is simply: Use AbapGit.
It gives you all the advantages of modern version control, is fully documented, open source and works like a charm.

故人的歌 2024-07-16 10:52:38

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

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

Also check out SAP CTS+ which is used for managing transports and version control of ABAP and JAVA based components.

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

能怎样 2024-07-16 10:52:38

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

At the very least, modifications should be done and tested in an SAP development system. Nobody uses an external editor with ABAP. (SAP Java on the other hand...) There is no reason why you can't keep backups of the SAP code, either directly, as text files, or, (preferably) with SAPLink or transport dump files. (Ask your BASIS people about the transport files). Realize that if you go the text file route, you might miss out on things like field text, etc., which are stored elsewhere in the database.

手心的温暖 2024-07-16 10:52:38

嘿,

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

该工具可用于将 ABAP 组件提取到 XML 中。 我真的不建议自动导入 SAP,原因有很多:
# 这些工具没有任何保证
# 并非所有 ABAP 组件都可以这样处理
# 如果您在高效的 SAP 系统上执行此操作,您将失去 SAP 保证

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

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

希望能帮助到你。

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

塔里克.
[http://www.steria.com Steria(法国)]

Hy,

As Dom told you, SAP has it's own version managment. However in order to makes regular save between transport releasing, you might use tools like :

this tools could be use to extract ABAP components into XML. I really do not advise to make automatic import into SAP, for many reasons :
# thoses tools have no guaranties
# not all ABAP Compoponent can be handled like this
# you will lose SAP guaranty if you do this on a productive SAP system

But it might be interesting to use tools like (Google code) to display in detail software change, which could be more complicated on ABAP Object.

I developed this on ZAP Link framework with ZAPLINK_EXTRACTOR program that export SAP Components into XML when they have changed. This prevent XML file to change (new file but same content) and to be detected by tools such as mercurial as a change.

Hope it helps.

Keep in mind that you should use SAP tools to change SAP Component. SAP consultant might explain it to you in details.

Taryck.
[http://www.steria.com Steria (France)]

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文