点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我正在开发一种网关...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我正在开发一种网关...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我正在开发一种网关方法来在后端调用RFC。 当我在Gateway Client上执行服务时,它将按以下顺序调用以下方法:
班级:
/ITSTGW/CL_ST10_ORDER_DPC_EXT
方法:
1-/IWBEP/IF_MGW_APPL_SRV_RUNTIME〜CHANGESET_BEGIN(cv_defer_mode = abap_true)-通知框架它可以一次处理所有变更集操作
2-/IWBEP/IF_MGW_APPL_SRV_RUNTIME〜CHANGESET_PROCESS(检查更改集的类型以调用以下方法)
3-HANDLE_CHANGESET_CREATES(查找RFC目标并在后端调用RFC)
4-/IWBEP/IF_MGW_APPL_SRV_RUNTIME〜CHANGESET_END(结束执行并返回到客户端)
在第三个方法中,当我尝试找到RFC目标名称时,将引发转储。
代码:
数据lo_dp_facade类型参考/iwbep/if_mgw_dp_facade。
DATA LV_DESTINATION类型RFCDEST。
*获取RFC目的地
lo_dp_facade =/iwbep/if_mgw_conv_srv_runtime〜get_dp_facade()。
lv_destination =/iwbep/cl_sb_gen_dpc_rt_util => get_rfc_destination(io_dp_facade = lo_dp_facade)。
执行第一行时,将获得:'FREED STACK'。 那就是问题所在。
当我将相同的代码放在相同类的另一个方法中时,它工作正常。
转储:
SYSTEM_DATA_ALREADY_FREE
/IWBEP/CL_MGW_DP_FACADE ======= CP
由于错误,呼叫服务/SAP/OPU/ODATA/NAMESPACE/PM_ORDER_SRV/$ batch已终止。 系统中处理了以下错误文本:不允许访问已发布的数据。
有什么想法的人吗?
非常感谢您,
Danilo
Danilo,
HANDLE_CHANGESET_CREATES似乎是您的自定义方法。
基本事实是,当控件使用此方法时,它不再引用dp_facade。
因此,您的选择是在changeset_process中进行上述调用,并将lo_dp_facade传递给HANDLE_CHANGESET_CREATES。
致谢
克里希纳
一周热门 更多>