本文主要是介绍SAP CDS VIEW实现行列转换,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
需求:
销售订单上的业务伙伴数据都在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_CONVas 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 byvbeln,posnr
实现效果:
以上。
这篇关于SAP CDS VIEW实现行列转换的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!