serviceLayer:对象查询的返回值

2020-09-18 16:37发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我使用以下代码在服务层中检索用户字段。

 var queryOption =" $ select = TableName,FieldID&$ filter = TableName eq'" + fieldData [i] .TableName +"'和Name eq'" + fieldData [i] .Name +
 "'";
 console.log('queryOption:'+ queryOption);

 var rs = slContext.UserFieldsMD.query(queryOption);
 console.log('rs:'+ JSON.stringify(rs));
 

查询选项的语法不错,但是我不知道rs的格式。

JSON.stringify(rs)给出{}

如何获取返回的字段,我怎么都不知道返回什么?

谢谢

广告

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我使用以下代码在服务层中检索用户字段。

 var queryOption =" $ select = TableName,FieldID&$ filter = TableName eq'" + fieldData [i] .TableName +"'和Name eq'" + fieldData [i] .Name +
 "'";
 console.log('queryOption:'+ queryOption);

 var rs = slContext.UserFieldsMD.query(queryOption);
 console.log('rs:'+ JSON.stringify(rs));
 

查询选项的语法不错,但是我不知道rs的格式。

JSON.stringify(rs)给出{}

如何获取返回的字段,我怎么都不知道返回什么?

谢谢

广告

付费偷看设置
发送
3条回答
SAP小菜
1楼 · 2020-09-18 17:15.采纳回答

您好,

您是否尝试过《 SL用户手册》中给出的toArray()方法?

 function GET(){
  var queryOption =" $ select = CardName,CardCode&$ filter = contains(CardCode,'c1')&$ top = 5&$ orderby = CardCode";
  var slContext = new ServiceLayerContext();
  var retCaseSensitive = slContext.BusinessPartners.query(queryOption);
  var retCaseInsensitive = slContext.query(" BusinessPartners",queryOption,true);
  http.response.setStatus(http.HttpStatus.HTTP_OK);
  http.response.setContent({" CaseSensitive":retCaseSensitive.toArray()," CaseInsensitive":retCaseInsensitive.toArray()});
  http.response.send(); 

我在我的环境中进行了尝试,并使其与toArray()一起使用:

 var queryOption =" $ select = TableName,FieldID,Name&$ filter = TableName eq'@UDO_DOC'和Name eq'CardCode'";  var slContext = new ServiceLayerContext();
     var dataSrvRes = slContext.UserFieldsMD.query(queryOption);
     http.response.send(http.HttpStatus.HTTP_NOT_FOUND,dataSrvRes.toArray());  

希望能帮上忙,
特立尼达。

歪着头看世界
2楼-- · 2020-09-18 17:35

您好,

我不确定您要在这里做什么。

您要检查表中是否已存在特定字段?

查询对邮递员有效吗? 你可以试一下吗?

《 SL用户指南》中有一个示例:

检索UDF
 要检索UDF,请发送HTTP请求,如下例所示:
GET/UserFieldsMD(TableName ='OCRD',FieldID = 0) 有关更多信息,请参见检索实体。 查询UDF
UDF还支持标准OData查询选项。
例如,您忘记了表名和UDF ID,但仍然记得UDF名称。 您可以按以下方式查询UDF: GET/UserFieldsMD?$ filter =名称eq'u1' 服务返回: { "值":[ { "名称":" u1", " TableName":" ACRD", " FieldID":0, ... ... }, { "名称":" u1", " TableName":" OCRD", " FieldID":0, ... } ] }

感谢,
特立尼达。

南山jay
3楼-- · 2020-09-18 17:12

嗨,特立尼达,

我想做的是在服务器端检查用户域是否存在,并根据答案添加或更新用户域

我对邮递员的查询有效并且给出了正确答案(见下文)。

 https://xxxxxx:50000/b1s/v1/UserFieldsMD?$ select = TableName,FieldID&$ filter = TableName eq'OHEM'和名称eq'se_userscan'
 {
     " odata.metadata":" https://devhanadb01.serac.nl:50000/b1s/v1/$metadata#UserFieldsMD",
     "值":[
         {
             " TableName":" OHEM",
             " FieldID":2
         }
     ]
 }
 

致谢

广告

一周热门 更多>