@ 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条回答
暮风yp
2020-09-01 05:40

嗨,格雷戈尔


感谢您的评论。 我认为您是对的,在Fiori Elements层中这不是问题。

结合CDS和CDS OData v2适配器代理似乎是一个问题。

CDS服务运行时,需要正确填写" @ odata.type",当前始终为" #Decimal"。

CDS OData v2适配器代理仅需要基于" @ odata.type"信息进行字符串化。

我们将对此进行进一步调查,并将提供修复程序。

感谢您报告此问题。

最诚挚的问候

橄榄

一周热门 更多>