@ sap/cds-odata-v2-adapter-proxy不以整数形式返回聚合度量

2020-09-01 05:12发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)您好CAP(M)专家 使用...

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

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


您好CAP(M)专家

使用提交 21ad5225404a03020a5ba248b28a65bb2e1c4a75 为Analytics(分析)添加了注释。 不幸的是,当通过@ sap/cds-odata-v2-adapter-proxy请求时,服务将汇总的度量作为String返回。 为此,我使用URL:

http://localhost:4004/v2/catalog/Books?$ select = author_ID,stock&$ orderby = stock&$ inlinecount = allpages

我回来了:

 {
   " d":{
     "结果":[
       {
         " author_ID":107,
         " __metadata":{
           " uri":" http://localhost:4004/v2/catalog/Books(aggregation'{\" key \":{\" author_ID \":107},\" value \":[\" stock \"  ]}')",
           " type":" CatalogService.Books"
         },
         " stock":" 11"
       },
       {
         " author_ID":101,
         " __metadata":{
           " uri":" http://localhost:4004/v2/catalog/Books(aggregation'{\" key \":{\" author_ID \":101},\" value \":[\" stock \"  ]}')",
           " type":" CatalogService.Books"
         },
         " stock":" 12"
       },
       {
         " author_ID":170,
         " __metadata":{
           " uri":" http://localhost:4004/v2/catalog/Books(aggregation'{\" key \":{\" author_ID \":170},\" value \":[\" stock \"  ]}')",
           " type":" CatalogService.Books"
         },
         " stock":" 22"
       },
       {
         " author_ID":150,
         " __metadata":{
           " uri":" http://localhost:4004/v2/catalog/Books(aggregation'{\" key \":{\" author_ID \":150},\" value \":[\" stock \"  ]}')",
           " type":" CatalogService.Books"
         },
         " stock":" 888"
       }
     ],
     " __count":4
   }
 }
 

您可以看到库存以字符串形式返回。 与使用OData V4进行聚合时相反:

http://localhost:4004/catalog/Books?$ apply = groupby((author_ID),aggregate(stock%20with%20sum%20as%20StockTotal))

我得到:

 {
   " @ odata.context":" $ metadata#Books(author_ID,StockTotal)",
   " @ odata.metadataEtag":" W/\" q/OUzjzknmb3bMu6Fb8dAUuX53w4FSBIFhXoCuLQjeI = \"",
   "值":[
     {
       " @ odata.id":null,
       " author_ID":101,
       " StockTotal@odata.type":" #Decimal",
       "股票总数":12
     },
     {
       " @ odata.id":null,
       " author_ID":107,
       " StockTotal@odata.type":" #Decimal",
       "股票总数":11
     },
     {
       " @ odata.id":null,
       " author_ID":150,
       " StockTotal@odata.type":" #Decimal",
       "股票总计":888
     },
     {
       " @ odata.id":null,
       " author_ID":170,
       " StockTotal@odata.type":" #Decimal",
       "股票总数":22
     }
   ]
 } 

StockTotal是一个整数。

期待您的帮助。

最诚挚的问候
格雷戈尔

4条回答
SC_Yao
2020-09-01 05:47

Hello Gregor,

感谢您的提问:

根据JSON格式(OData版本2.0)

https://www.odata .org/documentation/odata-version-2-0/json-format /

"十进制"被编码为JSON字符串。

Edm.DecimalLiteral形式的Edm.Decimal,用于格式化为JSON字符串的URI中

我还使用ABAP Analytical Engine对其进行了仔细检查,并且这些值也以字符串形式返回。


这在哪里造成问题? 在用户界面中?

还是与OData V4不同?

感谢和问候,

Oliver

一周热门 更多>