I_ShippingNotifQuickView

DDL: I_SHIPPINGNOTIFQUICKVIEW Type: view_entity COMPOSITE Package: ODATA_PP_MRP

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)

SourceAliasJoin Type
I_PurchasingDocument Head from
I_PurchasingDocumentItem Item inner
I_PurgDocScheduleLine Line left_outer

Parameters (1)

NameTypeDefault
P_MRPElementCategory mrpelementcategory

Associations (3)

CardinalityTargetAliasCondition
[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)

NameValueLevelField
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)

KeyFieldSource TableSource FieldDescription
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
};