P_ProductWD

DDL: P_PRODUCTWD SQL: PPRODUCTWD Type: view COMPOSITE

P_ProductWD is a Composite CDS View in SAP S/4HANA. It reads from 4 data sources (I_Product, I_DraftAdministrativeData, P_ProductD, P_ProductD) and exposes 102 fields with key fields Draftkey, ActiveProduct, Activeproduct.

Data Sources (4)

SourceAliasJoin Type
I_Product ActiveDocument from
I_DraftAdministrativeData DraftAdministrativeData inner
P_ProductD DraftDocument left_outer
P_ProductD DraftDocument union_all

Annotations (6)

NameValueLevelField
AbapCatalog.sqlViewName PPRODUCTWD view
VDM.viewType #COMPOSITE view
VDM.private true view
ClientDependent true view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #NOT_REQUIRED view

Fields (102)

KeyFieldSource TableSource FieldDescription
KEY Draftkey
KEY ActiveProduct I_Product Product
Product I_Product Product
ProductType I_Product ProductType
CrossPlantStatus I_Product CrossPlantStatus
CrossPlantStatusValidityDate I_Product CrossPlantStatusValidityDate
CreationDate I_Product CreationDate
CreatedByUser I_Product CreatedByUser
LastChangeDate I_Product LastChangeDate
LastChangedByUser I_Product LastChangedByUser
IsMarkedForDeletion
ProductOldID I_Product ProductOldID
GrossWeight I_Product GrossWeight
PurchaseOrderQuantityUnit I_Product PurchaseOrderQuantityUnit
WeightUnit I_Product WeightUnit
CountryOfOrigin I_Product CountryOfOrigin
CompetitorID I_Product CompetitorID
ProductGroup I_Product ProductGroup
BaseUnit I_Product BaseUnit
ItemCategoryGroup I_Product ItemCategoryGroup
NetWeight I_Product NetWeight
ProductHierarchy I_Product ProductHierarchy
Division I_Product Division
VolumeUnit I_Product VolumeUnit
MaterialVolume I_Product MaterialVolume
ANPCode I_Product ANPCode
Brand I_Product Brand
ValidityStartDate I_Product ValidityStartDate
LowLevelCode I_Product LowLevelCode
ProdNoInGenProdInPrepackProd I_Product ProdNoInGenProdInPrepackProd
SerialIdentifierAssgmtProfile I_Product SerialIdentifierAssgmtProfile
SizeOrDimensionText I_Product SizeOrDimensionText
IndustryStandardName I_Product IndustryStandardName
ProductStandardID I_Product ProductStandardID
InternationalArticleNumberCat I_Product InternationalArticleNumberCat
ProductIsConfigurable I_Product ProductIsConfigurable
IsBatchManagementRequired I_Product IsBatchManagementRequired
ExternalProductGroup I_Product ExternalProductGroup
CrossPlantConfigurableProduct I_Product CrossPlantConfigurableProduct
SerialNoExplicitnessLevel I_Product SerialNoExplicitnessLevel
ProductManufacturerNumber I_Product ProductManufacturerNumber
ManufacturerPartProfile I_Product ManufacturerPartProfile
BaseUnitSpecificProductLength I_Product BaseUnitSpecificProductLength
BaseUnitSpecificProductWidth I_Product BaseUnitSpecificProductWidth
BaseUnitSpecificProductHeight I_Product BaseUnitSpecificProductHeight
ProductMeasurementUnit I_Product ProductMeasurementUnit
ProductValidStartDate I_Product ProductValidStartDate
ArticleCategory I_Product ArticleCategory
ContentUnit I_Product ContentUnit
NetContent I_Product NetContent
ComparisonPriceQuantity I_Product ComparisonPriceQuantity
GrossContent I_Product GrossContent
ProductValidEndDate I_Product ProductValidEndDate
AssortmentListType I_Product AssortmentListType
HasTextilePartsWthAnimalOrigin I_Product HasTextilePartsWthAnimalOrigin
ProductSeasonUsageCategory I_Product ProductSeasonUsageCategory
ServiceAgreement
ConsumptionValueCategory
GoodsIssueUnit
RegionOfOrigin
AssortmentGrade
StoreListingProcedure
DistrCntrListingProcedure
StoreListingStartDate
StoreListingEndDate
DistrCntrListingStartDate
DistrCntrListingEndDate
StoreSaleStartDate
StoreSaleEndDate
DistrCntrSaleStartDate
DistrCntrSaleEndDate
ValuationClass
CommodityCode
ValuationMargin
CommoditiyCodeNumberUnit
IsActiveEntity
HasActiveEntity
Draftkey
KEY Activeproduct P_ProductD Activeproduct
product P_ProductD product
producttype P_ProductD producttype
creationdate P_ProductD creationdate
IsMarkedForDeletion
productoldid P_ProductD productoldid
grossweight P_ProductD grossweight
weightunit P_ProductD weightunit
competitorid P_ProductD competitorid
productgroup P_ProductD productgroup
baseunit P_ProductD baseunit
netweight P_ProductD netweight
division P_ProductD division
volumeunit P_ProductD volumeunit
anpcode P_ProductD anpcode
brand P_ProductD brand
lowlevelcode P_ProductD lowlevelcode
contentunit P_ProductD contentunit
netcontent P_ProductD netcontent
grosscontent P_ProductD grosscontent
IsActiveEntity
HasActiveEntity
HasDraftEntity
DraftAdministrativeDataUUID
@AbapCatalog.sqlViewName: 'PPRODUCTWD'
@VDM.viewType: #COMPOSITE
@VDM.private: true
@ClientDependent: true
@AbapCatalog.compiler.compareFilter: true
//@EndUserText.label: 'Product Root Union (draft)'

@AccessControl.authorizationCheck: #NOT_REQUIRED
define view P_ProductWD
  as select from

                    I_Product  as ActiveDocument
    left outer join P_ProductD as DraftDocument on ActiveDocument.Product = DraftDocument.Activeproduct
{
  key cast ( hextobin('00000000000000000000000000000000') as sysuuid_x )                        as Draftkey,
  key ActiveDocument.Product                                                                    as ActiveProduct,
      ActiveDocument.Product,
      ActiveDocument.ProductType,
      ActiveDocument.CrossPlantStatus,
      ActiveDocument.CrossPlantStatusValidityDate,
      ActiveDocument.CreationDate,
      ActiveDocument.CreatedByUser,
      ActiveDocument.LastChangeDate,
      ActiveDocument.LastChangedByUser,
      cast(ActiveDocument.IsMarkedForDeletion as boole_d)                                       as IsMarkedForDeletion,
      ActiveDocument.ProductOldID,
      ActiveDocument.GrossWeight,
      ActiveDocument.PurchaseOrderQuantityUnit,
      //ActiveDocument.SourceOfSupply, //pstat changes

      ActiveDocument.WeightUnit,
      ActiveDocument.CountryOfOrigin,
      ActiveDocument.CompetitorID,
      ActiveDocument.ProductGroup,
      ActiveDocument.BaseUnit,
      ActiveDocument.ItemCategoryGroup,
      ActiveDocument.NetWeight,
      ActiveDocument.ProductHierarchy,
      ActiveDocument.Division,
      // ActiveDocument.VarblPurOrdUnitIsActive, "PSTAT Changes

      ActiveDocument.VolumeUnit,
      ActiveDocument.MaterialVolume,
      ActiveDocument.ANPCode,
      //      ActiveDocument.ProductCategory,

      ActiveDocument.Brand,
//      ActiveDocument.ProcurementRule, //pstat changes

      ActiveDocument.ValidityStartDate,
      ActiveDocument.LowLevelCode,
      ActiveDocument.ProdNoInGenProdInPrepackProd,
      ActiveDocument.SerialIdentifierAssgmtProfile,
      ActiveDocument.SizeOrDimensionText,
      ActiveDocument.IndustryStandardName,
      ActiveDocument.ProductStandardID,
      ActiveDocument.InternationalArticleNumberCat,
      ActiveDocument.ProductIsConfigurable,
      ActiveDocument.IsBatchManagementRequired,
      ActiveDocument.ExternalProductGroup,
      ActiveDocument.CrossPlantConfigurableProduct,
      ActiveDocument.SerialNoExplicitnessLevel,
      ActiveDocument.ProductManufacturerNumber,
      ActiveDocument.ManufacturerPartProfile,

      //      Retail Fields



      ActiveDocument.BaseUnitSpecificProductLength,
      ActiveDocument.BaseUnitSpecificProductWidth,
      ActiveDocument.BaseUnitSpecificProductHeight,
      ActiveDocument.ProductMeasurementUnit,
      ActiveDocument.ProductValidStartDate,
      ActiveDocument.ArticleCategory,
      ActiveDocument.ContentUnit,
      ActiveDocument.NetContent,
      ActiveDocument.ComparisonPriceQuantity,
      ActiveDocument.GrossContent,
      ActiveDocument.ProductValidEndDate,
      ActiveDocument.AssortmentListType,
      ActiveDocument.HasTextilePartsWthAnimalOrigin,

      ActiveDocument.ProductSeasonUsageCategory,
      ActiveDocument._ProductRetail.ServiceAgreement,
      ActiveDocument._ProductRetail.ConsumptionValueCategory, // ref. handling for MARC

      ActiveDocument._ProductRetail.GoodsIssueUnit, // ref. handling for MARC

      //ActiveDocument._ProductRetail.CountryOfOrigin,

      ActiveDocument._ProductRetail.RegionOfOrigin, // ref. handling for MARC

      ActiveDocument._ProductRetail.AssortmentGrade,
      ActiveDocument._ProductRetail.StoreListingProcedure,
      ActiveDocument._ProductRetail.DistrCntrListingProcedure,
      ActiveDocument._ProductRetail.StoreListingStartDate,
      ActiveDocument._ProductRetail.StoreListingEndDate,
      ActiveDocument._ProductRetail.DistrCntrListingStartDate,
      ActiveDocument._ProductRetail.DistrCntrListingEndDate,
      ActiveDocument._ProductRetail.StoreSaleStartDate,
      ActiveDocument._ProductRetail.StoreSaleEndDate,
      ActiveDocument._ProductRetail.DistrCntrSaleStartDate,
      ActiveDocument._ProductRetail.DistrCntrSaleEndDate,
      ActiveDocument._ProductRetail.ValuationClass, // ref. handling for MBEW

      ActiveDocument._ProductRetail.CommodityCode,
      ActiveDocument._ProductRetail.ValuationMargin, // ref. handling for MBEW

      ActiveDocument._ProductRetail.CommoditiyCodeNumberUnit,

      cast( 'X' as boole_d )                                                                    as IsActiveEntity,
      cast( ' ' as boole_d )                                                                    as HasActiveEntity,
      cast(
      case
       when DraftDocument.Draftkey is null
       then ' '
       else 'X'
      end  as boole_d )                                                                         as HasDraftEntity,
      cast(DraftDocument.Draftkey as sysuuid_x )                                                as DraftAdministrativeDataUUID
}

union all

select from  P_ProductD                as DraftDocument
  inner join I_DraftAdministrativeData as DraftAdministrativeData on DraftAdministrativeData.DraftUUID = DraftDocument.Draftkey
{
  key DraftDocument.Draftkey,
  key DraftDocument.Activeproduct,
      DraftDocument.product,
      DraftDocument.producttype,
      DraftDocument.crossplantstatus,
      DraftDocument.crossplantstatusvaliditydate,
      DraftDocument.creationdate,
      DraftDocument.createdbyuser,
      DraftDocument.lastchangedate,
      DraftDocument.lastchangedbyuser,
      cast(DraftDocument.ismarkedfordeletion as boole_d )                     as IsMarkedForDeletion,
      DraftDocument.productoldid,
      DraftDocument.grossweight,
      DraftDocument.purchaseorderquantityunit,
     // DraftDocument.sourceofsupply,//pstat changes

      DraftDocument.weightunit,
      DraftDocument.countryoforigin,
      DraftDocument.competitorid,
      DraftDocument.productgroup,
      DraftDocument.baseunit,
      DraftDocument.itemcategorygroup,
      DraftDocument.netweight,
      DraftDocument.producthierarchy,
      DraftDocument.division,
    //  DraftDocument.varblpurordunitisactive, "PSTAT Changes

      DraftDocument.volumeunit,
      DraftDocument.materialvolume,
      DraftDocument.anpcode,
      //      DraftDocument.productcategory,

      DraftDocument.brand,
//      DraftDocument.procurementrule, //pstat changes

      DraftDocument.validitystartdate,
      DraftDocument.lowlevelcode,
      DraftDocument.prodnoingenprodinprepackprod,
      DraftDocument.serialidentifierassgmtprofile,
      DraftDocument.sizeordimensiontext,
      DraftDocument.industrystandardname,
      DraftDocument.productstandardid,
      DraftDocument.internationalarticlenumbercat,
      DraftDocument.productisconfigurable,
      DraftDocument.isbatchmanagementrequired,
      DraftDocument.externalproductgroup,
      DraftDocument.crossplantconfigurableproduct,
      DraftDocument.serialnoexplicitnesslevel,
      DraftDocument.productmanufacturernumber,
      DraftDocument.manufacturerpartprofile,


      //      Retail Fields



      DraftDocument.baseunitspecificproductlength,
      DraftDocument.baseunitspecificproductwidth,
      DraftDocument.baseunitspecificproductheight,
      DraftDocument.productmeasurementunit,
      DraftDocument.productvalidstartdate,
      DraftDocument.articlecategory,
      DraftDocument.contentunit,
      DraftDocument.netcontent,
      DraftDocument.comparisonpricequantity,
      DraftDocument.grosscontent,
      DraftDocument.productvalidenddate,
      DraftDocument.assortmentlisttype,
      DraftDocument.hastextilepartswthanimalorigin,

      DraftDocument.productseasonusagecategory,
      DraftDocument.serviceagreement,
      DraftDocument.consumptionvaluecategory, // Ref. handling for MARC

      DraftDocument.goodsissueunit, // ref. handling for MARC

      //DraftDocument.CountryOfOrigin,

      DraftDocument.regionoforigin, // ref. handling for MARC

      DraftDocument.assortmentgrade,
      DraftDocument.storelistingprocedure,
      DraftDocument.distrcntrlistingprocedure,
      DraftDocument.storelistingstartdate,
      DraftDocument.storelistingenddate,
      DraftDocument.distrcntrlistingstartdate,
      DraftDocument.distrcntrlistingenddate,
      DraftDocument.storesalestartdate,
      DraftDocument.storesaleenddate,
      DraftDocument.distrcntrsalestartdate,
      DraftDocument.distrcntrsaleenddate,
      DraftDocument.valuationclass, // ref. handling for MBEW

      DraftDocument.commoditycode,
      DraftDocument.valuationmargin, // ref. handling for MBEW

      DraftDocument.commoditiycodenumberunit,



      cast( ' ' as boole_d )                                                  as IsActiveEntity,
      cast( DraftDocument.HasActiveEntity as boole_d )                        as HasActiveEntity,
      cast( ' ' as boole_d )                                                  as HasDraftEntity,
      cast(DraftDocument.Draftkey as sysuuid_x )                              as DraftAdministrativeDataUUID
}
where
     DraftAdministrativeData.CreatedByUser   = $session.user
  or DraftAdministrativeData.InProcessByUser = $session.user        
  
  
  
  
  
 /*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_DRAFTADMINISTRATIVEDATA",
"I_PRODUCT",
"I_PRODUCTRETAIL",
"P_PRODUCTD"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/