如何使用ENQUEUEGETSTAT功能模块中的网关服务
问题描述:
如何使用ENQUEUEGETSTAT功能模块中的网关服务,这FM返回3个参数(ENTRIES_TOTAL,ENTRIES_PEAK,ENTRIES_ACTUAL)如何使用ENQUEUEGETSTAT功能模块中的网关服务
我可以在网关映射表,但无法弄清楚这。我如何将这些参数收集到内部表中然后导出呢?
答
它看起来像一个function import
使用情况给我。
首先,你必须定义一个ABAP结构返回的数据,如低于
@EndUserText.label : 'ENQUEUEGETSTAT'
@AbapCatalog.enhancementCategory : #NOT_EXTENSIBLE
define structure zza_enqueuegetstat {
entries_total : abap.int4;
entries_peak : abap.int4;
entries_actual : abap.int4;
}
在你SEGW项目,创建ENQUEUEGETSTAT
实体类型映射到这个结构。
然后,创建一个函数导入ENQUEUEGETSTAT
。
转到您的DPC_EXT类,并重新定义方法/IWBEP/IF_MGW_APPL_SRV_RUNTIME~EXECUTE_ACTION
。
method /iwbep/if_mgw_appl_srv_runtime~execute_action.
data ls_enqueuegetstat type zza_enqueuegetstat.
if iv_action_name = 'ENQUEUEGETSTAT'.
call function 'ENQUEUEGETSTAT'
importing
entries_total = ls_enqueuegetstat-entries_actual
entries_peak = ls_enqueuegetstat-entries_peak
entries_actual = ls_enqueuegetstat-entries_total.
copy_data_to_ref(
exporting
is_data = ls_enqueuegetstat
changing
cr_data = er_data
).
endif.
endmethod.
保存并激活一切。那么你应该能够访问你的函数进口/sap/opu/odata/sap/**YOUR_SERVICE**/ENQUEUEGETSTAT?$format=json
{
"d": {
"EntriesTotal": 382,
"EntriesPeak": 43189,
"EntriesActual": 500000
}
}
希望它能帮助。