I_MRPManufacturingComponent

DDL: I_MRPMANUFACTURINGCOMPONENT SQL: IMRPMANUCOMP Type: view COMPOSITE Package: ODATA_PP_MRP

MRP Manufacturing Components

I_MRPManufacturingComponent is a Composite CDS View that provides data about "MRP Manufacturing Components" in SAP S/4HANA. It reads from 1 data source (I_MfgOrderOperationComponent) and exposes 72 fields with key fields Reservation, ReservationItem, RecordType. It has 4 associations to related views. Part of development package ODATA_PP_MRP.

Data Sources (1)

SourceAliasJoin Type
I_MfgOrderOperationComponent I_MfgOrderOperationComponent from

Associations (4)

CardinalityTargetAliasCondition
[0..1] I_ProductPlant _ProductPlant $projection.Material = _ProductPlant.Product and $projection.MRPPlant = _ProductPlant.Plant
[0..1] I_ProductSupplyPlanning _ProductSupplyPlanning $projection.Material = _ProductSupplyPlanning.Product and $projection.MRPPlant = _ProductSupplyPlanning.Plant
[0..1] I_MRPControllerEmail _MRPControllerEmail $projection.MRPPlant = _MRPControllerEmail.Plant and $projection.MRPController = _MRPControllerEmail.MRPController
[0..1] I_EntProjectResponsiblePerson _ProjectRespPersn $projection.WBSElementInternalID = _ProjectRespPersn.WBSElementInternalID and _ProjectRespPersn.WBSElementInternalID is not initial

Annotations (9)

NameValueLevelField
AbapCatalog.sqlViewName IMRPMANUCOMP view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
EndUserText.label MRP Manufacturing Components view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view
VDM.viewType #COMPOSITE view

Fields (72)

KeyFieldSource TableSource FieldDescription
KEY Reservation I_MfgOrderOperationComponent Reservation
KEY ReservationItem I_MfgOrderOperationComponent ReservationItem
KEY RecordType I_MfgOrderOperationComponent RecordType
RequirementType I_MfgOrderOperationComponent RequirementType
Material I_MfgOrderOperationComponent Material
MaterialName
MRPPlant I_MfgOrderOperationComponent Plant
SupplyingPlant
RequirementDate I_MfgOrderOperationComponent MatlCompRequirementDate
BaseUnit I_MfgOrderOperationComponent BaseUnit
Supplier I_MfgOrderOperationComponent Supplier
PurchasingGroup I_MfgOrderOperationComponent PurchasingGroup
MaterialProcurementCategory _ProductPlant ProcurementType
MaterialProcurementType _ProductPlant SpecialProcurementType
ManufacturingOrder I_MfgOrderOperationComponent ManufacturingOrder
ManufacturingOrderCategory I_MfgOrderOperationComponent ManufacturingOrderCategory
ManufacturingOrderType I_MfgOrderOperationComponent ManufacturingOrderType
ManufacturingOrderImportance
PlannedOrder
ProductionPlant I_MfgOrderOperationComponent ProductionPlant
MRPController I_MfgOrderOperationComponent AssemblyMRPController
MRPControllerName _MRPControllerEmail MRPControllerName
MRPControllerPhoneNumber
EmailAddress _MRPControllerEmail EmailAddress
ProductionSupervisor I_MfgOrderOperationComponent ProductionSupervisor
ProductionVersion
ProductionVersionText
ProductionLine
InventorySpecialStockType I_MfgOrderOperationComponent InventorySpecialStockType
OrderedQuantity I_MfgOrderOperationComponent RequiredQuantity
WithdrawnQuantity I_MfgOrderOperationComponent WithdrawnQuantity
OpenQuantity
CommittedQuantity I_MfgOrderOperationComponent ConfirmedAvailableQuantity
OrderPlannedTotalQty
OrderPlannedScrapQty
ExpectedDeviationQuantity
GoodsReceiptQty
PlannedStartDate
OrderPlannedEndDate
ActualStartDate
ActualEndDate
ActualReleasedDate
ScheduledBasicStartDate
ScheduledBasicEndDate
ScheduledReleaseDate
TopLevelOrder
TopLevelOrderMaterial
MaterialGoodsReceiptDuration _ProductPlant GoodsReceiptDuration
MaterialPlannedDeliveryDurn _ProductSupplyPlanning PlannedDeliveryDurationInDays
MaterialPlannedProductionDurn 0
MaterialReplenishmentLeadDurn _ProductSupplyPlanning TotalReplenishmentLeadTime
SalesOrder I_MfgOrderOperationComponent SalesOrder
SalesOrderItem I_MfgOrderOperationComponent SalesOrderItem
SalesOrderType
SalesOrderItemMaterial
Customer
WBSElementInternalID I_MfgOrderOperationComponent WBSElementInternalID_2
WBSElement
WBSDescription
ResponsiblePerson
ResponsiblePersonName
ProjectInternalID
ProjectDescription
Project
ProjectResponsiblePerson
ProjectResponsiblePersonName
TotalReplenishmentLeadDuration _ProductSupplyPlanning TotalReplenishmentLeadTime
FixedLotSizeQuantity _ProductSupplyPlanning FixedLotSizeQuantity
MinimumLotSizeQuantity _ProductSupplyPlanning MinimumLotSizeQuantity
MaximumLotSizeQuantity _ProductSupplyPlanning MaximumLotSizeQuantity
LotSizeRoundingQuantity _ProductSupplyPlanning LotSizeRoundingQuantity
RoundingProfile _ProductSupplyPlanning RoundingProfile
@AbapCatalog.sqlViewName: 'IMRPMANUCOMP'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck:  #CHECK
@AccessControl.personalData.blocking: #('TRANSACTIONAL_DATA')
@EndUserText.label: 'MRP Manufacturing Components'

@ClientHandling.algorithm: #SESSION_VARIABLE

@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass: #MIXED

@VDM.viewType: #COMPOSITE

define view I_MRPManufacturingComponent
  as select from I_MfgOrderOperationComponent

  association [0..1] to I_ProductPlant          as _ProductPlant          on  $projection.Material = _ProductPlant.Product
                                                                          and $projection.MRPPlant = _ProductPlant.Plant
  association [0..1] to I_ProductSupplyPlanning as _ProductSupplyPlanning on  $projection.Material = _ProductSupplyPlanning.Product
                                                                          and $projection.MRPPlant = _ProductSupplyPlanning.Plant
  association [0..1] to I_MRPControllerEmail    as _MRPControllerEmail    on  $projection.MRPPlant      = _MRPControllerEmail.Plant
                                                                          and $projection.MRPController = _MRPControllerEmail.MRPController
  association [0..1] to I_EntProjectResponsiblePerson as _ProjectRespPersn on $projection.WBSElementInternalID = _ProjectRespPersn.WBSElementInternalID
                                                                           and _ProjectRespPersn.WBSElementInternalID is not initial 
                                                                          
{
  key I_MfgOrderOperationComponent.Reservation,
  key I_MfgOrderOperationComponent.ReservationItem,
  key I_MfgOrderOperationComponent.RecordType,
      I_MfgOrderOperationComponent.RequirementType,
      I_MfgOrderOperationComponent.Material,
      I_MfgOrderOperationComponent._Material._Text[1: Language = $session.system_language ].MaterialName,
      I_MfgOrderOperationComponent.Plant                                                                             as MRPPlant,
      ''   as SupplyingPlant,   // currently not supported by basic view

      @Semantics.businessDate.at: true
      I_MfgOrderOperationComponent.MatlCompRequirementDate                                                           as RequirementDate,
      @Semantics.unitOfMeasure: true
      I_MfgOrderOperationComponent.BaseUnit,
      I_MfgOrderOperationComponent.Supplier,
      I_MfgOrderOperationComponent.PurchasingGroup,
      _ProductPlant.ProcurementType                                                                                  as MaterialProcurementCategory,
      _ProductPlant.SpecialProcurementType                                                                           as MaterialProcurementType,
      I_MfgOrderOperationComponent.ManufacturingOrder,
      I_MfgOrderOperationComponent.ManufacturingOrderCategory,
      I_MfgOrderOperationComponent.ManufacturingOrderType,
      I_MfgOrderOperationComponent._MfgOrder.ManufacturingOrderImportance,
      I_MfgOrderOperationComponent._MfgOrder.PlannedOrder,
      I_MfgOrderOperationComponent.ProductionPlant,
      I_MfgOrderOperationComponent.AssemblyMRPController as MRPController,
      _MRPControllerEmail.MRPControllerName,
      I_MfgOrderOperationComponent._AssemblyMRPController.MRPControllerPhoneNumber,
      _MRPControllerEmail.EmailAddress,
      I_MfgOrderOperationComponent.ProductionSupervisor,
      I_MfgOrderOperationComponent._MfgOrder._ProductionVersion.ProductionVersion,
      I_MfgOrderOperationComponent._MfgOrder._ProductionVersion.ProductionVersionText,
      I_MfgOrderOperationComponent._MfgOrder._ProductionVersion.ProductionLine,
      //I_MfgOrderOperationComponent._MfgOrder.MfgOrderIsPartOfCollvOrder                                            as IsPartOfCollectiveOrder,

      //I_MfgOrderOperationComponent._MfgOrder.MfgOrderSuperiorMfgOrder                                              as SuperiorOrder,

      //I_MfgOrderOperationComponent.ResourceNetwork,

      I_MfgOrderOperationComponent.InventorySpecialStockType,

      // Quantities

      @DefaultAggregation: #SUM
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      I_MfgOrderOperationComponent.RequiredQuantity                                                                  as OrderedQuantity,
      @DefaultAggregation: #SUM
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      I_MfgOrderOperationComponent.WithdrawnQuantity,
      @DefaultAggregation: #SUM
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      (I_MfgOrderOperationComponent.RequiredQuantity - I_MfgOrderOperationComponent.WithdrawnQuantity)               as OpenQuantity,
      @DefaultAggregation: #SUM
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      I_MfgOrderOperationComponent.ConfirmedAvailableQuantity                                                        as CommittedQuantity,
      @DefaultAggregation: #SUM
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      I_MfgOrderOperationComponent._MfgOrder.MfgOrderPlannedTotalQty                                                 as OrderPlannedTotalQty,
      @DefaultAggregation: #SUM
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      I_MfgOrderOperationComponent._MfgOrder.MfgOrderPlannedScrapQty                                                 as OrderPlannedScrapQty,
      @DefaultAggregation: #SUM
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      I_MfgOrderOperationComponent._MfgOrder.ExpectedDeviationQuantity,

//      @Semantics.quantity.unitOfMeasure: 'BaseUnit'

//      I_MfgOrderOperationComponent._MfgOrder._PlannedOrder.GoodsReceiptQtyInBaseUnit                                 as GoodsReceiptQty,

      @DefaultAggregation: #SUM
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      I_MfgOrderOperationComponent._MfgOrder.ActualDeliveredQuantity                                                 as GoodsReceiptQty,

      // Dates

      @Semantics.businessDate.from: true
      I_MfgOrderOperationComponent._MfgOrder.MfgOrderPlannedStartDate                                                as PlannedStartDate,
      @Semantics.businessDate.to: true
      I_MfgOrderOperationComponent._MfgOrder.MfgOrderPlannedEndDate                                                  as OrderPlannedEndDate,
      @Semantics.businessDate.from: true
      I_MfgOrderOperationComponent._MfgOrder.MfgOrderActualStartDate                                                 as ActualStartDate,
      @Semantics.businessDate.to: true
      I_MfgOrderOperationComponent._MfgOrder.MfgOrderActualEndDate                                                   as ActualEndDate,
      @Semantics.businessDate.at: true
      I_MfgOrderOperationComponent._MfgOrder.MfgOrderActualReleaseDate                                               as ActualReleasedDate,
      @Semantics.businessDate.from: true
      I_MfgOrderOperationComponent._MfgOrder.MfgOrderScheduledStartDate                                              as ScheduledBasicStartDate,
      @Semantics.businessDate.to: true
      I_MfgOrderOperationComponent._MfgOrder.MfgOrderScheduledEndDate                                                as ScheduledBasicEndDate,
      @Semantics.businessDate.at: true
      I_MfgOrderOperationComponent._MfgOrder.MfgOrderScheduledReleaseDate                                            as ScheduledReleaseDate,
      
      // Top Level Order fields

      ''                                                                                                             as TopLevelOrder,
      ''                                                                                                             as TopLevelOrderMaterial,
      
      _ProductPlant.GoodsReceiptDuration                                                                             as MaterialGoodsReceiptDuration,
      _ProductSupplyPlanning.PlannedDeliveryDurationInDays                                                           as MaterialPlannedDeliveryDurn,
      0                                                                                                              as MaterialPlannedProductionDurn,
      _ProductSupplyPlanning.TotalReplenishmentLeadTime                                                              as MaterialReplenishmentLeadDurn,

      // Sales Order

      I_MfgOrderOperationComponent.SalesOrder,
      I_MfgOrderOperationComponent.SalesOrderItem,
      I_MfgOrderOperationComponent._SalesOrder.SalesOrderType,
      I_MfgOrderOperationComponent._SalesOrderItem.Material                                                          as SalesOrderItemMaterial,
      I_MfgOrderOperationComponent._SalesOrder.SoldToParty                                                           as Customer,

      // WBS Element

      I_MfgOrderOperationComponent.WBSElementInternalID_2                                                            as WBSElementInternalID,
      I_MfgOrderOperationComponent._WBSElementBasicData2.WBSElementExternalID                                        as WBSElement,
      I_MfgOrderOperationComponent._WBSElementBasicData2.WBSDescription,
     
      cast( _ProjectRespPersn.PersonWorkAgreement as ps_s4_vernr preserving type )                                   as ResponsiblePerson, //WBS Responsible

      _ProjectRespPersn._WorkforcePerson.PersonFullName                                                              as ResponsiblePersonName, //WBS Responsible

   
      cast (I_MfgOrderOperationComponent._WBSElementBasicData2.ProjectInternalID as ps_s4_proj_pspnr preserving type ) as ProjectInternalID,
      I_MfgOrderOperationComponent._WBSElementBasicData2._Project.ProjectDescription,
      I_MfgOrderOperationComponent._WBSElementBasicData2._Project.ProjectExternalID                                  as Project,
      cast( _ProjectRespPersn.PersonWorkAgreement as ps_s4_vernr preserving type )                                   as ProjectResponsiblePerson,
      _ProjectRespPersn._WorkforcePerson.PersonFullName                                                              as ProjectResponsiblePersonName,
   
      _ProductSupplyPlanning.TotalReplenishmentLeadTime                                                              as TotalReplenishmentLeadDuration,
      _ProductSupplyPlanning.FixedLotSizeQuantity, // MaterialFixedLotSizeQuantity

      _ProductSupplyPlanning.MinimumLotSizeQuantity, //MaterialMinLotSizeQuantity,

      _ProductSupplyPlanning.MaximumLotSizeQuantity, //MaterialMaxLotSizeQuantity,

      _ProductSupplyPlanning.LotSizeRoundingQuantity, //MaterialRoundingQuantity,

      _ProductSupplyPlanning.RoundingProfile //MaterialRoundingProfile,

};