SAP CDS VIEW实现行列转换

发布时间:2024年01月22日

需求:

销售订单上的业务伙伴数据都在VBPA存储,根据PARVW来区分是售达方或者是送达方等等,有时候一些报表取数时有一些条件,比如售达方等于xxxxx并且送达方等于xxxxx,这时候就不是简单的一条sql就能搞定的事了,如果想通过一条sql就搞定这件事,我们就需要将数据做行列转置处理,常见的需求还多见于物料批次特性值这个场景,也可以按照如下方式实现行转列。

?

实现方式:

@AbapCatalog.sqlViewName: 'ZPRSDVVBPA'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Sales Document: Partner Sold-to&Ship-to'
define view ZPRSDT_VBPA_CONV
  as select from vbpa
{
  key vbeln,
  key posnr,
      @EndUserText.label: 'Sold-to'
      max( case parvw when 'AG' then kunnr else '' end ) as kunnr_sold, //sold to SP
      @EndUserText.label: 'Ship-to'
      max( case parvw when 'WE' then kunnr else '' end ) as kunnr_ship  //ship to SH
}
group by
  vbeln,
  posnr

实现效果:

以上。?

文章来源:https://blog.csdn.net/DeveloperMrMeng/article/details/135758135
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。