OData getEntity 方法仅获取第一个实体

OData getEntity method fetches only first entity

我有一个服务可以使用 getEntitySet 方法。输出如下所示:

但是当我尝试只获取具有 /ColumnSet(1) 的单个实体时,我的输出只获取第一个实体,即 ColumnSet(0)

method COLUMNSET_GET_ENTITY.

 data: ls_key_tab type /iwbep/s_mgw_name_value_pair,
      lv_columnid type string,
      ls_column type zst_column.

 loop at it_key_tab into ls_key_tab.
  if ls_key_tab-name = 'COLUMNID'.
    lv_columnid = ls_key_tab-value.
    endif.
    endloop.

 select single * from zst_column into ls_column where id_num = lv_columnid.


   er_entity-id_num = ls_column-id_num.
   er_entity-id = ls_column-id.
   er_entity-posi = ls_column-posi.
   er_entity-data_id = ls_column-data_id.
   er_entity-headertext = ls_column-headertext.
   er_entity-ui_element_typ = ls_column-ui_element_typ.
   er_entity-enable = ls_column-enable.
   er_entity-enable_ref = ls_column-enable_ref.

   endmethod.

我不知道,为什么它只显示第一个实体。

您的关键字字段是 IDNUM,而不是 COLUMNID。

 loop at it_key_tab into ls_key_tab.
  if ls_key_tab-name = 'IdNum'.
    lv_columnid = ls_key_tab-value.
  endif.
 endloop.