云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

数据库服务器_河北城乡建设学校网站_限量秒杀

小七 141 0

在ABAP方法中是否使用更改和导出参数?我做了很久了。但我已经痊愈了。当我开始考虑函数式编程风格时,一切都开始了。这使我避免在设置变量值一次后更改它们。

更改:一个简单的例子

在上面的代码中,更改参数用于方法更改\字段2中。此方法更改通过change传递的结构中的一个字段。

发生异常时会发生什么?由于FIELD2的更改是在RAISE之前完成的,因此即使方法被异常中断,字段也已更改。如果我运行这个程序然后说"哦不!"在选择屏幕上的参数中,开心返利,我得到这个输出:

实现这个的更好的方法是:

在这个例子中,你得到:

另一个改变参数的问题是它们不允许使用"数据(var)"声明。

导出参数

好吧,淘客佣金,我真的很喜欢函数形式的方法,它允许进行链接:

所以,如果涉及到几个导出参数,我倾向于创建一个包含我想从方法中获得的所有值的结构,返利怎么使用,企业管理的软件,这样我就可以使用返回参数来创建方法。

另一个恼人的事情是,通过引用传递的导出参数的行为与更改参数的行为完全相同。如果它们在被调用的方法中没有更改,它们将保留传递的变量的值。这就是为什么扩展语法检查在方法开始时没有初始化它们时抛出警告的原因。

性能问题

由于ABAP知道如何"延迟复制",即在复制的值更改之前保留对复制值的引用,因此使用基于值的返回par对性能的不利影响不是太大。然而,当涉及到以后要更改的大型表时,广西大数据,我又回到了一个引用导出变量

结论

所有这些都让我建立了一个个人编程风格的规则:

"只要可能,只使用方法中的导入和返回参数"