Abap 如何在网关服务中使用ENQUEUEGETSTAT功能模块
如何在网关服务中使用ENQUEUEGETSTAT功能模块,此fm返回3个参数(条目\总计、条目\峰值、条目\实际值) 我可以在Gateway中映射表,但无法解决此问题。如何将这些参数收集到内部表中并导出 在我看来,它就像一个用例 首先,您必须为返回的数据定义一个ABAP结构,如下所示Abap 如何在网关服务中使用ENQUEUEGETSTAT功能模块,abap,sap-gateway,Abap,Sap Gateway,如何在网关服务中使用ENQUEUEGETSTAT功能模块,此fm返回3个参数(条目\总计、条目\峰值、条目\实际值) 我可以在Gateway中映射表,但无法解决此问题。如何将这些参数收集到内部表中并导出 在我看来,它就像一个用例 首先,您必须为返回的数据定义一个ABAP结构,如下所示 @EndUserText.label : 'ENQUEUEGETSTAT' @AbapCatalog.enhancementCategory : #NOT_EXTENSIBLE define structure z
@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
然后,创建一个函数importENQUEUEGETSTAT
转到DPC_EXT类并重新定义方法/IWBEP/IF\MGW\u APPL\u SRV\u运行时~EXECUTE\u 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.
保存并激活所有内容。然后您应该能够访问函数import/sap/opu/odata/sap/**您的服务**/ENQUEUEGETSTAT?$format=json
{
"d": {
"EntriesTotal": 382,
"EntriesPeak": 43189,
"EntriesActual": 500000
}
}
希望能有帮助