3

似乎我们的大多数 SAP 程序员都在使用旧版本的 ABAP,这是面向对象之前的版本。我还注意到,OO 的语言更加简洁和现代(他们显然借此机会摆脱了已弃用的东西)。

由于该系统尚未推出,因此进行任何重新设计的时间都是现在而不是以后。

是否值得要求将新代码编写为 OO ABAP 程序?怎么把它卖给管理层?与非 OO 程序的接口是否运行良好?

(更新以注意我正在专门谈论新代码,特别是计划在明年)

4

6 回答 6

6

如果它在生产中工作,请不要重写您的代码。不值得花时间或金钱,而且没有管理层(在一家大到可以运行 SAP 的公司)同意它。

除非您迁移到一个新的领域环境,否则您永远不会在 OO 中重新编写所有内容。SAP 的核心 ECC 模块甚至还没有做到这一点。期望能够使用您的自定义内容来做到这一点是不现实的。

我只是阅读 OO ABAP 并开始用它编写新程序。

OO ABAP 和程序 ABAP 可以很好地协同工作。您可以从过程程序中调用类和方法,并且(更有限,但)反之亦然。

于 2009-09-24T13:42:49.203 回答
4

我们为客户开发了许多新的、新鲜的 ABAP 代码,ABAP OO 的使用正在缓慢增长,但仍在增长。

说服新开发人员使用 ABAP OO 更容易,因为要学习的东西要少得多。此外,使用 OO ABAP 编写代码可以正确使用设计模式、高效的单元测试、UI 抽象(例如 SAPgui 和 WebDynpro 或 SAP 控制台),并大量减少文档。

此外,正如一些人之前所说,SAP 不会将他们的代码库重写为 ABAP OO。但他们肯定尝试过从 ME51 重写 ME51N,从 ME21 重写 ME21N,从 SO01 重写 SBWP。

此外,SAP 的所有新 API,如 ABAP 单元、ABAP 代理、新的 ALV、ABAP 的 WebDynpro 以及全新的增强和切换框架都是很好的例子(我认为),说明为什么应该关注它。

于 2009-12-08T03:49:11.860 回答
2

这取决于要编写的程序的大小。如果是一个没有太多数据库交互的大型“系统”,可能会有一些好处。对于较小的程序,我看不到“客观化”代码的任何优势。

它还取决于开发人员的技能和偏好。如果他们想“OO”,可能会有更好的环境。如果他们停留在“旧程序”的思维方式中,那么除了切换到 OO 之外,可能还有其他方法可以改进代码。

我经常看到的一个例子是关于“数据库应该做什么”(例如连接、排序、分组)与“我应该在代码中做什么”的讨论。

于 2009-09-24T21:35:55.630 回答
2

我刚刚找到 SAP SDN 中提到的白皮书 Esti 的副本:尚未使用 ABAP 对象?每个 ABAP 开发人员都应该重新审视它的八个原因

本文简要介绍了使用 ABAP OO 的好处。

于 2009-11-05T23:00:32.770 回答
1

尝试查找白皮书的副本:

还没有使用 ABAP 对象?Horst Keller 和 Gerd Kluger为每个 ABAP 开发人员重新审视它 的八个理由

SAP OO 的一些最大优势,特别是对于新的 SAP 开发人员来说,是它迫使您比程序性 ABAP 更加明确。它使编写的代码更易于维护,并且对于来自更主流背景的程序员来说可能会感觉更熟悉。

于 2009-09-29T06:43:43.340 回答
1

旧的、经典的报告通常包含冗余编码。使用大量“复制和粘贴”构建了不同的报告。尝试找出哪些东西是多余的,然后逐步将它们从这些报告中提取到新的全局、可重用、设计良好的类中,并通过将现有代码替换为中央定义的“调用方法”来使旧报告更加紧凑和经过良好测试的 OO 逻辑。

于 2013-02-06T01:14:59.287 回答