在灵活的查询中返回地图

2020-09-18 20:06发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 我们可以通过灵活的查询返...

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

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


嗨,

我们可以通过灵活的查询返回地图吗?

例如,我想创建产品代码,产品模型的地图,以便在执行map.get(" productCode")时获得相关的产品模型。

问候,卡齐姆。

2条回答
callcenter油条
2020-09-18 20:23

嗨,

您可以通过自己的方法扩展flexibleSearchService:

  public  Map  getResultsAsMap(final FlexibleQuery flexibleQuery,最终Class  keyType,最终Class  valueType)
      {
          最终的FlexibleSearchQuery查询=新的FlexibleSearchQuery(flexibleQuery.getQuery());
          query.setResultClassList(asList(keyType,valueType));
          query.addQueryParameters(flexibleQuery.getParameters());
          最终SearchResult结果= flexibleSearchService.search(query);
          最终List  resultList = results.getResult();
 
          最终Map map = new HashMap();
          对于(列表结果:resultList)
          {
              map.put(result.get(0),result.get(1));
          }
          返回地图
      }

  

您可以使用如下方法:

 公共地图 findStockForWarehouses(最终产品模型产品)
      {
          最终的FlexibleQuery查询=新的FlexibleQuery(
                          " SELECT {warehouse.pk},SUM(COALESCE({stock.available},0)-COALESCE({stock.reserved},0))" +
                                          " FROM {仓库AS仓库" +
                                          "在{stock.warehouse} = {warehouse.pk}上加入StockLevel AS股票"" +
                                          " WHERE {StockLevel.product} =?product" +
                                          "由{warehouse.pk}组成的组");
          query.setParameter(" product",product);
          返回extendedFlexibleSearch.getResultsAsMap(query,WarehouseModel.class,Integer.class);
      }


  

一周热门 更多>