P_PCLblProdCmbndByBusProc

DDL: P_PCLBLPRODCMBNDBYBUSPROC SQL: PPRODCMBND Type: view COMPOSITE

Union Products by Business Processes

P_PCLblProdCmbndByBusProc is a Composite CDS View that provides data about "Union Products by Business Processes" in SAP S/4HANA. It reads from 4 data sources (I_DeliveryPickViewItem, I_ManufacturingOrder, I_ManufacturingOrder, I_Product) and exposes 86 fields with key fields PCLblBusProc, PCLblBusProcSearchElementText, Product, DeliveryDocument, UniqueItemIdentifier. It has 1 association to related views.

Data Sources (4)

SourceAliasJoin Type
I_DeliveryPickViewItem I_DeliveryPickViewItem union_all
I_ManufacturingOrder I_ManufacturingOrder union_all
I_ManufacturingOrder I_ManufacturingOrder union_all
I_Product I_Product from

Associations (1)

CardinalityTargetAliasCondition
[1..1] I_Product _Product $projection.Product = _Product.Product

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName PPRODCMBND view
AbapCatalog.compiler.compareFilter true view
VDM.private true view
VDM.viewType #COMPOSITE view
ClientHandling.algorithm #SESSION_VARIABLE view
AccessControl.authorizationCheck #MANDATORY view
ObjectModel.usageType.serviceQuality #B view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view
Metadata.ignorePropagatedAnnotations true view
EndUserText.label Union Products by Business Processes view

Fields (86)

KeyFieldSource TableSource FieldDescription
KEY PCLblBusProc
KEY PCLblBusProcSearchElementText
KEY Product Product
KEY DeliveryDocument
KEY UniqueItemIdentifier
KEY ManufacturingOrder
KEY SalesOrder
Plant
Customer
ProductName
ActualDeliveryQuantity
BaseUnit BaseUnit
Country
Batch
AuthorizationGroup AuthorizationGroup
ProductType ProductType
_ProductType _ProductType
ProductGroup ProductGroup
_ProductGroup_2 _ProductGroup_2
ShippingPoint
ManufacturingOrderCategory
ManufacturingOrderType
KEY PCLblBusProcSearchElementText
KEY Product Material
KEY DeliveryDocument DeliveryDocument
KEY UniqueItemIdentifier
KEY ManufacturingOrder
KEY SalesOrder
Plant Plant
Customer _DeliveryDocument ShipToParty
ProductName DeliveryDocumentItemText
ActualDeliveryQuantity ActualDeliveryQuantity
BaseUnit BaseUnit
Country
Batch
AuthorizationGroup _Product AuthorizationGroup
ProductType _Product ProductType
_ProductType _Product _ProductType
ProductGroup _Product ProductGroup
_ProductGroup_2 _Product _ProductGroup_2
ShippingPoint _DeliveryDocument ShippingPoint
ManufacturingOrderCategory
ManufacturingOrderType
KEY PCLblBusProcSearchElementText
KEY Product Product
KEY DeliveryDocument
KEY UniqueItemIdentifier
KEY ManufacturingOrder
KEY SalesOrder SalesOrder
Plant ProductionPlant
Customer
ProductName
ActualDeliveryQuantity MfgOrderPlannedTotalQty
BaseUnit ProductionUnit
Country
Batch Batch
AuthorizationGroup _Product AuthorizationGroup
ProductType _Product ProductType
_ProductType _Product _ProductType
ProductGroup _Product ProductGroup
_ProductGroup_2 _Product _ProductGroup_2
ShippingPoint
ManufacturingOrderCategory ManufacturingOrderCategory
ManufacturingOrderType ManufacturingOrderType
KEY PCLblBusProcSearchElementText
KEY Product Product
KEY DeliveryDocument
KEY UniqueItemIdentifier
KEY ManufacturingOrder
KEY SalesOrder SalesOrder
Plant ProductionPlant
Customer _SalesOrder SoldToParty
ProductName
ActualDeliveryQuantity MfgOrderPlannedTotalQty
BaseUnit ProductionUnit
Country
Batch Batch
AuthorizationGroup _Product AuthorizationGroup
ProductType _Product ProductType
_ProductType _Product _ProductType
ProductGroup _Product ProductGroup
_ProductGroup_2 _Product _ProductGroup_2
ShippingPoint
ManufacturingOrderCategory ManufacturingOrderCategory
ManufacturingOrderType ManufacturingOrderType
ProductionPlant ProductionPlant
@AbapCatalog.sqlViewName: 'PPRODCMBND'
@AbapCatalog.compiler.compareFilter: true
@VDM.private: true
@VDM.viewType: #COMPOSITE 
@ClientHandling.algorithm: #SESSION_VARIABLE
@AccessControl.authorizationCheck: #MANDATORY

@ObjectModel: {
  usageType: {
    serviceQuality: #B,
    sizeCategory: #XL,
    dataClass: #MIXED
  }
}
@Metadata.ignorePropagatedAnnotations: true

@EndUserText.label: 'Union Products by Business Processes'

define view P_PCLblProdCmbndByBusProc 
 as select from I_Product  
{
  key cast( '01' as ehlbl_bus_proc_code preserving type )               as PCLblBusProc, // Generic

  key cast( Product as abap.char( 40 ) )                                as PCLblBusProcSearchElementText,
 
  key Product,
  key cast( '          ' as vbeln_vl preserving type )                  as DeliveryDocument,
 // Blocking ATC: Field UniqueItemIdentifier: Data type length 000040 does not match 000072 of GFN default type UII_CHAR72

  key cast( Product as abap.char( 72 ) )                                as UniqueItemIdentifier,
  key cast( '            ' as ehfnd_maint_order_id_nc preserving type ) as ManufacturingOrder,
  key cast( '          ' as vdm_sales_order preserving type )           as SalesOrder,
  
   //_ESHProductPlant.Plant                                            as Plant,

  cast ( '    ' as werks_d preserving type )                            as Plant, 
  cast ( '          ' as kunnr preserving type )                        as Customer,
   
  cast ( _Text[1: Language = $session.system_language ].ProductName as productdescription preserving type )  as ProductName,
  
  @Semantics.quantity.unitOfMeasure:'BaseUnit'
  cast( cast( '1' as abap.quan( 13, 3 ) ) as mfgorderplannedtotalqty preserving type ) as ActualDeliveryQuantity,
  @Semantics.unitOfMeasure: true
  //cast ('' as abap.unit( 3 )) as BaseUnit, 

  BaseUnit,
 
 
  '   '                                                                  as Country,   
  cast ( '          ' as charg_d preserving type )                       as Batch,
  
  ///required for authorization

  // I_Product

  AuthorizationGroup,
  ProductType,
   _ProductType,
  ProductGroup,
   _ProductGroup_2,   
  // I_DeliveryDocument        

  cast('    ' as vstel preserving type ) as ShippingPoint,
  // I_ManufacturingOrder

  cast('00' as pph_autyp preserving type )  as ManufacturingOrderCategory,                                     
  cast('    ' as aufart preserving type ) as ManufacturingOrderType,
  cast('    ' as pwwrk preserving type ) as ProductionPlant
  
} 
where IsMarkedForDeletion <> 'X'

union all select from I_DeliveryPickViewItem 
  association [1..1] to I_Product           as _Product         on  $projection.Product = _Product.Product   
{ 
  key cast( '02'  as ehlbl_bus_proc_code preserving type )              as PCLblBusProc, // Delivery

  key cast( DeliveryDocument as abap.char( 40 ) )                       as PCLblBusProcSearchElementText,
 
  key Material                                                          as Product, 
  
  key DeliveryDocument,
  key cast( DeliveryDocumentItem as abap.char( 72 ) )                   as UniqueItemIdentifier,                            
  key cast( '            ' as ehfnd_maint_order_id_nc preserving type ) as ManufacturingOrder,
  key cast( '          ' as vdm_sales_order preserving type )           as SalesOrder,
 
  Plant,
  _DeliveryDocument.ShipToParty                                         as Customer,
   
  DeliveryDocumentItemText                                              as ProductName,
  
  @Semantics.quantity.unitOfMeasure:'BaseUnit'
  ActualDeliveryQuantity,
  @Semantics.unitOfMeasure: true
  BaseUnit,
  
  _DeliveryDocument._ShipToParty.Country,
  
  coalesce( Batch, BatchBySupplier )                                    as Batch,
  
  ///required for authorization

  // I_Product

  _Product.AuthorizationGroup,
  _Product.ProductType,
  _Product._ProductType,
  _Product.ProductGroup,
  _Product._ProductGroup_2,   
  // I_DeliveryDocument         

  _DeliveryDocument.ShippingPoint,
  // I_ManufacturingOrder

  cast('00' as pph_autyp preserving type )  as ManufacturingOrderCategory,                                     
  cast('    ' as aufart preserving type ) as ManufacturingOrderType,
  cast('    ' as pwwrk preserving type ) as ProductionPlant
}

union all select from I_ManufacturingOrder
 {
  key cast( '03'  as ehlbl_bus_proc_code preserving type )                   as PCLblBusProc, // Make To Stock 

  key cast( ManufacturingOrder as abap.char( 40 ) )                          as PCLblBusProcSearchElementText,
 
  key Product,
  
  key cast ( '          ' as vbeln_vl preserving type )                      as DeliveryDocument,
  key cast( ManufacturingOrderItem as abap.char( 72 ) )                      as UniqueItemIdentifier,
  key cast( ManufacturingOrder as ehfnd_maint_order_id_nc preserving type  ) as ManufacturingOrder,
  key SalesOrder,
  
  ProductionPlant                                                            as Plant, 
  cast ( '          ' as kunnr preserving type )                             as Customer, 
   
  cast ( _Product._Text[1: Language = $session.system_language ].ProductName as productdescription preserving type )  as ProductName,
 
  
  @Semantics.quantity.unitOfMeasure: 'BaseUnit'
  MfgOrderPlannedTotalQty                                                    as ActualDeliveryQuantity, 
  @Semantics.unitOfMeasure: true
  ProductionUnit                                                             as BaseUnit,
  
  
  '   '                                                                      as Country,                                      
  Batch,
  
  //required for authorization

  // I_Product

  _Product.AuthorizationGroup,
  _Product.ProductType,
  _Product._ProductType,
  _Product.ProductGroup,
  _Product._ProductGroup_2,   
  // I_DeliveryDocument        

  cast('    ' as vstel preserving type ) as ShippingPoint,
  // I_ManufacturingOrder

  ManufacturingOrderCategory,                                     
  ManufacturingOrderType,
  ProductionPlant
}
where 
  SalesOrder is initial
and 
  IsMarkedForDeletion <> 'X'    

union all select from I_ManufacturingOrder 
{
  key cast(  '04'  as ehlbl_bus_proc_code preserving type )                  as PCLblBusProc, // Make To Order

  key cast( ManufacturingOrder as abap.char( 40 )  )                         as PCLblBusProcSearchElementText,
 
  key Product,
    
  key cast ( '          ' as vbeln_vl preserving type )                      as DeliveryDocument,
  key cast ( ManufacturingOrderItem as abap.char( 72 ) )                     as UniqueItemIdentifier,
  key cast( ManufacturingOrder as ehfnd_maint_order_id_nc preserving type  ) as ManufacturingOrder,
  key SalesOrder,
  
  ProductionPlant                                                            as Plant,
  _SalesOrder.SoldToParty                                                    as Customer,
   
  cast ( _Product._Text[1: Language = $session.system_language ].ProductName as productdescription preserving type )  as ProductName,
  
  @Semantics.quantity.unitOfMeasure: 'ProductionUnit'
  MfgOrderPlannedTotalQty                                                    as ActualDeliveryQuantity,
  @Semantics.unitOfMeasure: true
  ProductionUnit                                                             as BaseUnit,
  
  _SalesOrder._SoldToParty.Country,
  
  Batch,
  
  //required for authorization

  // I_Product

  _Product.AuthorizationGroup,
  _Product.ProductType,
  _Product._ProductType,
  _Product.ProductGroup,
  _Product._ProductGroup_2,  
  // I_DeliveryDocument        

  cast('    ' as vstel preserving type ) as ShippingPoint,
  // I_ManufacturingOrder

  ManufacturingOrderCategory,                                     
  ManufacturingOrderType,
  ProductionPlant
}
where 
  SalesOrder is not initial
and 
  IsMarkedForDeletion <> 'X' 

 
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CUSTOMER",
"I_DELIVERYDOCUMENT",
"I_DELIVERYPICKVIEWITEM",
"I_MANUFACTURINGORDER",
"I_PRODUCT",
"I_PRODUCTTEXT",
"I_SALESORDER"
],
"ASSOCIATED":
[
"I_PRODUCTGROUP_2",
"I_PRODUCTTYPE"
],
"BASE":
[
"I_PRODUCT"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/