P_PCLblProdCmbndByBusProc
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)
| Source | Alias | Join 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)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_Product | _Product | $projection.Product = _Product.Product |
Annotations (11)
| Name | Value | Level | Field |
|---|---|---|---|
| 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)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| 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":""
}
}*/
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA