十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这期内容当中小编将会给大家带来有关ABAP方法的exporting类型参数什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
创新互联专业为企业提供陇南网站建设、陇南做网站、陇南网站设计、陇南网站制作等企业网站建设、网页设计与制作、陇南企业网站模板建站服务,10年陇南做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
像下图里的exporting parameter需要在method 实现最开始时显式CLEAR么?
答案是it depends.
pass by value checkbox默认未选中,即pass by reference,此时实参的reference直接传到method 实现里,修改method里的形参即直接修改了实参。
如果是pass by value,在runtime进入method执行时,abap runtime自动为输入和输出形参创建local object,然后把输入实参的value copy到local object里,method里的计算都存储在输出形参的local object里,method执行结束后再把local object的值copy到输出实参。
在pass by reference的情况下,exporting参数在进入函数内时不会自动被初始化,而仍然为传入时实参的值,因此需要developer 自己负责去初始化,否则可能会出现unexpepected的behavior。
Pass by reference性能更好,但需要developer自己在实现里初始化exporting parameter
如果期望输出参数仅当method 成功执行之后才返回给caller,用pass by value
如果参数是一个很复杂的structure,比如nested table,或者按照abap help里面的建议值—超过100bytes后最好用pass by reference。
二者更详细的区别参考abap help。
Extended check会自动把所有违反规则的code 列出来,比如CL_CRM_SOC_FND_ACCESS_IMPL 有17处:
这些issue被categorize成programming guideline violation,不会算作ATC error。
上述就是小编为大家分享的ABAP方法的exporting类型参数什么了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。