我们的产品目前涵盖了大量技术,包括Java,PL/SQL,VB.Net和ABAP.我们有一个相当成熟的源代码控制和构建系统,用于除ABAP之外的所有语言,ABAP仍处于石器时代.由于SAP有一个内置系统内设置方式,我们的工程师完成所有的开发在SAP环境运输出口,并检查这些源代码控制.由于我们支持许多SAP版本,因此很难跟踪版本并跨4.6,4.7,5.0等迁移代码.
我理想的过程是将ABAP代码检查到文本文件中的源代码控制中,然后将其加载到SAP中并在构建过程中生成传输.SAP工程师认为没有工具可以支持这种模式.
如果您在源代码管理系统中管理ABAP代码,那么您的流程是什么样的?是否有可用的工具(最好是命令行)将ABAP代码加载到SAP中?您的工程师如何管理代码/测试/调试周期?他们是否在 SAP中编码,然后在完成后导出代码,或在外部编辑器中编辑?
为此,我使用了SAPLINK(在前面的答案中提到).还有一个名为"zake"的相关项目,据说可以自动完成一些任务,但我从未使用它.我只是手动将我的代码导出到所谓的slinkees(它们包含单个对象,如函数组;另一方面,nuggets包含多个对象).
使用一些外部源控制系统的原因:
与非abap源代码的相关性(因为我们的软件由.net和abap代码组成)
托管/维护SAP不是我们擅长的东西,所以很高兴知道你的代码安全在一个安全的地方
但有一件事:你需要至少WAS 620才能使用saplink
我对SAP系统的ABAP堆栈之外的版本控制有什么好处感兴趣.
我从来没有见过任何人使用ABAP的外部源代码控制,因为它是内置的.我从来没有见过任何人在SAP系统之外编写ABAP代码.它真的不适合模型.
SAP的ABAP堆栈是一个单一开发系统环境.所有开发人员都登录到一个系统并在那里进行开发.系统自动记录版本,并将更改的对象分组到传输中.传输只是已更改对象的列表.导出传输后,每个对象的版本号都会递增,您将获得其他系统的包.
ABAP堆栈也没有真正具有"构建"概念.你所做的一切都是补丁.