点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我有一个内部表,其中列出了通用内存引用,并且希望能够使用一种方法来检索它们。 我想要的是将内存引用分配给我的方法的export参数,这样我就可以使用该参数来更改引用的数据。 我该如何完成这项行为? 我的方法目前看起来像这样,但是结果是export参数是引用对象的副本,因此对其进行更改不会更新引用数据。
*签名 方法get_param 输入 iv_id_param TYPE clike 出口 ev_val TYPE任意。 * IMPL 方法get_param。 数据:lr_ref TYPE REF TO数据。 FIELD-SYMBOLS:TYPE任意。 zif_cx_enh_param_map〜get_param_ref( 出口 iv_id_param = iv_id_param 输入 er_ref = lr_ref )。 ASSIGN lr_ref-> *至 。 ev_val = 。 终结法。
感谢您的帮助!
不确定问题出在哪里。 如果要传递对数据类型的引用,则还需要将其作为引用" TYPE REF TO data"传递。 在您的情况下,您必须定义一个数据类型,并为其分配多带带的内存,甚至在调用get_param之前,它都必须接收ev_val的值,因此这就是为什么这是内存中两个不同的对象,而只复制该值的原因。/p>
如果因此将ev_val定义为" TYPE REF TO",则只需将引用从方法传递给另一个即可。 但是,由于您已经可以直接调用zif_cx_enh_param_map〜get_param_ref,因此您的方法将是"无用的"。
但是也许您想对方法进行一些更改,在这种情况下,您可以像以前一样使用运算符-> *对其进行取消引用,对字段符号进行更改,并且所有更改都会在 内存中的数据相同。
这是否解决了您的问题,还是我缺少了什么?
Andres David Acero Montoya ,请继续回答您的公开问题。
一周热门 更多>