Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oop 过渡到OO ABAP?_Oop_Abap - Fatal编程技术网

Oop 过渡到OO ABAP?

Oop 过渡到OO ABAP?,oop,abap,Oop,Abap,似乎我们的大多数SAP程序员都在使用旧版本的ABAP,即面向对象之前的版本。我还注意到,使用OO时,该语言更干净、更现代(他们显然抓住了摆脱不推荐的东西的机会) 由于该系统尚未推出,因此现在是重新设计的时候,而不是以后 是否值得要求将新代码编写为OO ABAP程序?如何向管理层推销?与非面向对象程序的接口是否工作良好 (更新后注意到,我是专门谈论新代码的,特别是计划在明年使用的新代码)如果它在生产中起作用,请不要重写代码。不值得花时间或金钱,也没有任何管理层(在一家足以运行SAP的公司)会同意这

似乎我们的大多数SAP程序员都在使用旧版本的ABAP,即面向对象之前的版本。我还注意到,使用OO时,该语言更干净、更现代(他们显然抓住了摆脱不推荐的东西的机会)

由于该系统尚未推出,因此现在是重新设计的时候,而不是以后

是否值得要求将新代码编写为OO ABAP程序?如何向管理层推销?与非面向对象程序的接口是否工作良好


(更新后注意到,我是专门谈论新代码的,特别是计划在明年使用的新代码)

如果它在生产中起作用,请不要重写代码。不值得花时间或金钱,也没有任何管理层(在一家足以运行SAP的公司)会同意这样做

除非你迁移到一个绿色的领域环境,否则你永远不会用OO重新编写所有的东西。SAP的核心ECC模块甚至没有做到这一点。期望能够用定制的东西来实现这一点是不现实的

我只需要阅读OOABAP,并开始用它编写新程序


OO ABAP和程序ABAP一起工作很好。您可以从过程程序中调用类和方法,反之亦然。

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

这还取决于开发人员的技能和偏好。如果他们想“面向对象”,可能会有更好的环境。如果他们陷入了“旧的程序性”思维方式,那么除了切换到OO之外,可能还有其他方法来改进代码


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

尚未使用ABAP对象?Horst Keller和Gerd Kluger提出的每个ABAP开发人员都应该重新审视它的八个理由


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

我刚刚找到了SAP SDN上提到的白皮书Esti的副本:


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

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

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

此外,正如一些人之前所说,SAP并没有将其代码库重写为ABAPOO。但他们确实尝试了重写ME51中的ME51N、ME21中的ME21N和SO01中的SBWP


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

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

好的一点,已经有一些代码,但是仍然有下一年的计划,我看不出有任何理由要修改它们。+1只是为了在SAP标签下实际获得一些活动:)谢谢!我不相信如果有人告诉我有一天会对ABAP感兴趣。。。