I_ShippingNotifQuickView
MRP Shipping Notifications
I_ShippingNotifQuickView is a Composite CDS View that provides data about "MRP Shipping Notifications" in SAP S/4HANA. It reads from 3 data sources (I_PurchasingDocument, I_PurchasingDocumentItem, I_PurgDocScheduleLine) and exposes 48 fields with key fields PurchaseOrder, PurchaseOrderItem, ScheduleLine. It has 3 associations to related views. Part of development package ODATA_PP_MRP.
Data Sources (3)
| Source | Alias | Join Type |
|---|---|---|
| I_PurchasingDocument | Head | from |
| I_PurchasingDocumentItem | Item | inner |
| I_PurgDocScheduleLine | Line | left_outer |
Parameters (1)
| Name | Type | Default |
|---|---|---|
| P_MRPElementCategory | mrpelementcategory |
Associations (3)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..*] | I_PurgDocSupplierConfirmation | Confirmation | $projection.PurchaseOrder = Confirmation.PurchasingDocument and $projection.PurchaseOrderItem = Confirmation.PurchasingDocumentItem |
| [0..1] | I_PurgDocumentItemCategory | _PurgDocumentItemCategory | $projection.MaterialProcurementCategory = _PurgDocumentItemCategory.PurchasingDocumentItemCategory |
| [0..1] | I_UnitOfMeasure | _BaseUnit | $projection.PurchaseOrderItemQuantityUnit = _BaseUnit.UnitOfMeasure |
Annotations (6)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #MANDATORY | view | |
| EndUserText.label | MRP Shipping Notifications | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| VDM.viewType | #COMPOSITE | view |
Fields (48)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | PurchaseOrder | I_PurchasingDocumentItem | PurchasingDocument | |
| KEY | PurchaseOrderItem | I_PurchasingDocumentItem | PurchasingDocumentItem | |
| KEY | ScheduleLine | Confirmation | SequentialNmbrOfSuplrConf | |
| Material | I_PurchasingDocumentItem | Material | ||
| MaterialName | ||||
| PurchasingDocumentCategory | I_PurchasingDocument | PurchasingDocumentCategory | ||
| PurchasingDocumentType | I_PurchasingDocument | PurchasingDocumentType | ||
| MaterialProcurementCategory | I_PurchasingDocumentItem | PurchasingDocumentItemCategory | ||
| MaterialProcurementCatName | ||||
| MRPPlant | I_PurchasingDocumentItem | Plant | ||
| Supplier | I_PurchasingDocument | Supplier | ||
| SupplierMaterialNumber | I_PurchasingDocumentItem | SupplierMaterialNumber | ||
| InventorySpecialStockType | I_PurchasingDocumentItem | InventorySpecialStockType | ||
| LastChangeDateTime | I_PurchasingDocument | LastChangeDateTime | ||
| PurchasingGroup | I_PurchasingDocument | PurchasingGroup | ||
| PurchasingGroupName | ||||
| PurchasingGroupEmailAddress | ||||
| MaterialPlannedDeliveryDurn | I_PurchasingDocumentItem | PlannedDeliveryDurationInDays | ||
| MaterialGoodsReceiptDuration | I_PurchasingDocumentItem | GoodsReceiptDurationInDays | ||
| ScheduleLineOrderDate | I_PurgDocScheduleLine | ScheduleLineOrderDate | ||
| DeliveryDate | I_PurgDocScheduleLine | ScheduleLineDeliveryDate | ||
| ProductAvailabilityDate | I_PurgDocScheduleLine | ProductAvailabilityDate | ||
| PartialDeliveryIsAllowed | I_PurchasingDocumentItem | PartialDeliveryIsAllowed | ||
| IsOrderAcknRqd | I_PurchasingDocumentItem | IsOrderAcknRqd | ||
| OrderItemQtyToBaseQtyDnmntr | I_PurchasingDocumentItem | OrderItemQtyToBaseQtyDnmntr | ||
| OrderItemQtyToBaseQtyNmrtr | I_PurchasingDocumentItem | OrderItemQtyToBaseQtyNmrtr | ||
| ConfirmedQuantity | Confirmation | ConfirmedQuantity | ||
| SupplierConfirmationCategory | Confirmation | SupplierConfirmationCategory | ||
| DeliveryDocument | Confirmation | DeliveryDocument | ||
| BaseUnit | I_PurchasingDocumentItem | BaseUnit | ||
| UnitOfMeasure | _BaseUnit | UnitOfMeasure | ||
| UnitOfMeasureNumberOfDecimals | _BaseUnit | UnitOfMeasureNumberOfDecimals | ||
| UnitOfMeasureDspNmbrOfDcmls | _BaseUnit | UnitOfMeasureDspNmbrOfDcmls | ||
| UnitOfMeasureCommercialName | ||||
| PurchaseOrderItemQuantityUnit | I_PurchasingDocumentItem | OrderQuantityUnit | ||
| PurchaseOrderItemQuantity | I_PurchasingDocumentItem | OrderQuantity | ||
| ScheduleLineOrderQuantity | I_PurgDocScheduleLine | ScheduleLineOrderQuantity | ||
| GoodsReceiptQuantity | I_PurgDocScheduleLine | GoodsReceiptQuantity | ||
| ScheduleLineOpenQuantity | I_PurgDocScheduleLine | ScheduleLineOpenQuantity | ||
| _BaseUnit | _BaseUnit | |||
| _Supplier | I_PurchasingDocument | _Supplier | ||
| _PurchasingGroup | I_PurchasingDocument | _PurchasingGroup | ||
| _Material | I_PurchasingDocumentItem | _Material | ||
| MRPElementCategory | ||||
| _PurchasingDocument | I_PurchasingDocumentItem | _PurchasingDocument | ||
| _PurchasingDocumentType | I_PurchasingDocument | _PurchasingDocumentType | ||
| _PurchasingDocumentCategory | I_PurchasingDocument | _PurchasingDocumentCategory | ||
| _PurgDocumentItemCategory | _PurgDocumentItemCategory |
//TCL_I_MRPPURCHASEORDER
@AccessControl.authorizationCheck: #MANDATORY
@AccessControl.personalData.blocking: #('TRANSACTIONAL_DATA')
@EndUserText.label: 'MRP Shipping Notifications'
@ObjectModel.usageType: { serviceQuality: #C, sizeCategory: #XL, dataClass: #MIXED }
@VDM.viewType: #COMPOSITE
define view entity I_ShippingNotifQuickView
with parameters
P_MRPElementCategory : mrpelementcategory
as select from I_PurchasingDocument as Head // EKKO
inner join I_PurchasingDocumentItem as Item on Head.PurchasingDocument = Item.PurchasingDocument // EKPO
left outer join I_PurgDocScheduleLine as Line on Line.PurchasingDocument = Item.PurchasingDocument
and Line.PurchasingDocumentItem = Item.PurchasingDocumentItem // EKET
association [0..*] to I_PurgDocSupplierConfirmation as Confirmation on $projection.PurchaseOrder = Confirmation.PurchasingDocument
and $projection.PurchaseOrderItem = Confirmation.PurchasingDocumentItem
association [0..1] to I_PurgDocumentItemCategory as _PurgDocumentItemCategory on $projection.MaterialProcurementCategory = _PurgDocumentItemCategory.PurchasingDocumentItemCategory
association [0..1] to I_UnitOfMeasure as _BaseUnit on $projection.PurchaseOrderItemQuantityUnit = _BaseUnit.UnitOfMeasure
{
key Item.PurchasingDocument as PurchaseOrder,
key Item.PurchasingDocumentItem as PurchaseOrderItem,
key Confirmation.SequentialNmbrOfSuplrConf as ScheduleLine,
// key Line.ScheduleLine,
// Item.PurchasingDocumentItem as MRPElementItem,
Item.Material,
Item._Material._Text[1: Language = $session.system_language].MaterialName as MaterialName,
Head.PurchasingDocumentCategory,
Head.PurchasingDocumentType,
Item.PurchasingDocumentItemCategory as MaterialProcurementCategory,
_PurgDocumentItemCategory._Text[1: Language = $session.system_language].PurgDocItemCategoryName as MaterialProcurementCatName,
Item.Plant as MRPPlant,
Head.Supplier,
Item.SupplierMaterialNumber,
Item.InventorySpecialStockType,
Head.LastChangeDateTime,
// Sales data
// Acct._SalesOrder._SoldToParty._StandardAddress._DefaultEmailAddress.EmailAddress, // Commented out as prop is not needed and
// it leads to a full table scan of ADR6 table
Head.PurchasingGroup,
Head._PurchasingGroup.PurchasingGroupName,
// case Head._PurchasingGroup.PhoneNumberExtension
// when '' then Head._PurchasingGroup.PurchasingGroupPhoneNumber
// else concat(Head._PurchasingGroup.PhoneNumber, concat('-', Head._PurchasingGroup.PhoneNumberExtension))
// end as PurchasingGroupPhoneNumber,
Head._PurchasingGroup.EmailAddress as PurchasingGroupEmailAddress,
Item.PlannedDeliveryDurationInDays as MaterialPlannedDeliveryDurn,
Item.GoodsReceiptDurationInDays as MaterialGoodsReceiptDuration,
Line.ScheduleLineOrderDate,
Line.ScheduleLineDeliveryDate as DeliveryDate,
Line.ProductAvailabilityDate,
Item.PartialDeliveryIsAllowed,
Item.IsOrderAcknRqd,
Item.OrderItemQtyToBaseQtyDnmntr,
Item.OrderItemQtyToBaseQtyNmrtr,
// Shipping Notification
@DefaultAggregation: #NONE
@Semantics.quantity.unitOfMeasure: 'PurchaseOrderItemQuantityUnit'
Confirmation.ConfirmedQuantity as ConfirmedQuantity,
Confirmation.SupplierConfirmationCategory as SupplierConfirmationCategory,
Confirmation.DeliveryDocument as DeliveryDocument,
// Quantities
Item.BaseUnit,
_BaseUnit.UnitOfMeasure,
_BaseUnit.UnitOfMeasureNumberOfDecimals,
_BaseUnit.UnitOfMeasureDspNmbrOfDcmls,
_BaseUnit._Text[1: Language = $session.system_language].UnitOfMeasureCommercialName,
Item.OrderQuantityUnit as PurchaseOrderItemQuantityUnit,
@DefaultAggregation: #NONE
@Semantics.quantity.unitOfMeasure: 'PurchaseOrderItemQuantityUnit'
Item.OrderQuantity as PurchaseOrderItemQuantity,
@DefaultAggregation: #NONE
@Semantics.quantity.unitOfMeasure: 'PurchaseOrderItemQuantityUnit'
Line.ScheduleLineOrderQuantity, // corresponds to ScheduleLineTotalQuantity
@DefaultAggregation: #NONE
@Semantics.quantity.unitOfMeasure: 'PurchaseOrderItemQuantityUnit'
Line.GoodsReceiptQuantity,
@DefaultAggregation: #NONE
@Semantics.quantity.unitOfMeasure: 'PurchaseOrderItemQuantityUnit'
Line.ScheduleLineOpenQuantity,
// Associations
_BaseUnit,
Head._Supplier,
Head._PurchasingGroup,
Item._Material,
$parameters.P_MRPElementCategory as MRPElementCategory,
Item._PurchasingDocument,
Head._PurchasingDocumentType,
Head._PurchasingDocumentCategory,
_PurgDocumentItemCategory
};
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