繁体   English   中英

如何在网关服务中使用 ENQUEUEGETSTAT 功能模块

[英]How to use ENQUEUEGETSTAT function module in Gateway service

如何在网关服务中使用 ENQUEUEGETSTAT 功能模块,这个 fm 返回 3 个参数(ENTRIES_TOTAL、ENTRIES_PEAK、ENTRIES_ACTUAL)

我可以在网关中映射表,但无法弄清楚这一点。 我怎样才能将这些参数收集到内部表中并导出呢?

在此处输入图片说明

对我来说,它看起来像是一个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映射到此结构。

在此处输入图片说明 .

然后,创建一个函数 import 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.

保存并激活所有内容。 然后你应该能够访问你的函数 import /sap/opu/odata/sap/**YOUR_SERVICE**/ENQUEUEGETSTAT?$format=json

{
    "d": {
        "EntriesTotal": 382,
        "EntriesPeak": 43189,
        "EntriesActual": 500000
    }
}

希望它有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM