SAP OData getEntity无法正常工作

时间:2018-04-20 13:17:42

标签: odata sap abap

现在有一个带有工作getEntitySet的服务。 我的输出我的实体集ColumnSet如下所示:

ColumnSet

但是当我尝试只使用

的单个实体时
/ColumnSet(1)

例如,我的输出只是第一个实体,即ColumnSet(0)

这是我的Get_Entity:

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.

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

1 个答案:

答案 0 :(得分:2)

您的密钥字段是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.