当前位置:  开发笔记 > 编程语言 > 正文

ABAP OO过时陈述:这些如何影响您现有的代码库?

如何解决《ABAPOO过时陈述:这些如何影响您现有的代码库?》经验,为你挑选了1个好方法。

自从从4.7升级到ECC6以来,ABAP编译器在OO上下文中使用某些语句变得更加严格.

例如,您不允许使用LIKE语句,而是必须使用TYPE,而内部表没有隐式标题行等.

这些限制在这里有更详细的解释

我的问题:这种限制在多大程度上会影响您现有的代码库?

自1998年以来,我们已经在OO中编写了超过一千个"类",就当时可用.在大多数情况下,每个类在SE38中都有自己的包含,其中包括类定义和实现.

到目前为止,只要主程序在4.7中预先存在,我们就可以成功地更改和激活这些类.现在我们尝试在新的主程序中使用这些旧类之一进行回归测试,我们收到以下错误:

"在类和接口中,您只能使用"TYPE"来引用ABAP字典类型(不是"LIKE"或"STRUCTURE")."

根据SAP语言的当前定义,此错误有效.

我想知道SAP解释器是否继续故意使用过时的语句来运行旧代码,或者未来的补丁是否可以纠正这个"特性"并导致这些类停止编译.



1> Bryan Cain..:

每个开发对象都标记有与其开发的SAP版本对应的版本.您可以在版本管理或表VRSD中看到此信息.

据我所知,具体来说,在以后的版本中使用非法语句的代码将在升级后继续运行.

这就是为什么当您将4.5b中开发的包含附加到NW700中开发的类时,它将无法编译.编译器知道这是新的dev,并相应地应用规则.

推荐阅读
乐韵答题
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有