I_MRPMANUFACTURINGCOMPONENT

CDS View

MRP Manufacturing Components

I_MRPMANUFACTURINGCOMPONENT is a CDS View in S/4HANA. MRP Manufacturing Components. It contains 70 fields. 2 CDS views read from this table.

CDS Views using this table (2)

ViewTypeJoinVDMDescription
C_MRPManufacturingComponent view from CONSUMPTION MRP Manufacturing Component
I_MRPOrderComponent view from COMPOSITE Mfg Component and Maint Component

Fields (70)

KeyField CDS FieldsUsed in Views
KEY RecordType RecordType 2
KEY Reservation Reservation 2
KEY ReservationItem ReservationItem 2
ActualEndDate ActualEndDate 2
ActualReleasedDate ActualReleasedDate 2
ActualStartDate ActualStartDate 2
BaseUnit BaseUnit 2
CommittedQuantity CommittedQuantity 2
Customer Customer 2
EmailAddress EmailAddress 2
ExpectedDeviationQuantity ExpectedDeviationQuantity 2
FixedLotSizeQuantity FixedLotSizeQuantity 2
GoodsReceiptQty GoodsReceiptQty 2
InventorySpecialStockType InventorySpecialStockType 2
LotSizeRoundingQuantity LotSizeRoundingQuantity 2
ManufacturingOrder ManufacturingOrder 2
ManufacturingOrderCategory ManufacturingOrderCategory,OrderCategory 2
ManufacturingOrderImportance ManufacturingOrderImportance,PriorityCode 2
ManufacturingOrderType ManufacturingOrderType,OrderType 2
Material Material 2
MaterialGoodsReceiptDuration MaterialGoodsReceiptDuration 2
MaterialName MaterialName 2
MaterialPlannedDeliveryDurn MaterialPlannedDeliveryDurn 2
MaterialPlannedProductionDurn MaterialPlannedProductionDurn 2
MaterialProcurementCategory MaterialProcurementCategory 2
MaterialProcurementType MaterialProcurementType 2
MaterialReplenishmentLeadDurn MaterialReplenishmentLeadDurn 2
MaximumLotSizeQuantity MaximumLotSizeQuantity 2
MinimumLotSizeQuantity MinimumLotSizeQuantity 2
MRPController MRPController 2
MRPControllerName MRPControllerName 2
MRPControllerPhoneNumber MRPControllerPhoneNumber 2
MRPPlant MRPPlant 2
OpenQuantity OpenQuantity 2
OrderedQuantity OrderedQuantity 2
OrderPlannedEndDate OrderPlannedEndDate 2
OrderPlannedScrapQty OrderPlannedScrapQty 2
OrderPlannedTotalQty OrderPlannedTotalQty 2
PlannedOrder PlannedOrder 2
PlannedStartDate PlannedStartDate 2
ProductionLine ProductionLine 2
ProductionPlant ProductionPlant 2
ProductionSupervisor ProductionSupervisor 2
ProductionVersion ProductionVersion 2
ProductionVersionText ProductionVersionText 2
Project Project 2
ProjectDescription ProjectDescription 2
ProjectInternalID ProjectInternalID 2
PurchasingGroup PurchasingGroup 2
RequirementDate RequirementDate 2
RequirementType RequirementType 2
ResponsiblePerson ResponsiblePerson 1
ResponsiblePersonName ResponsiblePersonName 1
RoundingProfile RoundingProfile 2
SalesOrder SalesOrder 2
SalesOrderItem SalesOrderItem 2
SalesOrderItemMaterial SalesOrderItemMaterial 2
SalesOrderType SalesOrderType 2
ScheduledBasicEndDate ScheduledBasicEndDate 2
ScheduledBasicStartDate ScheduledBasicStartDate 2
ScheduledReleaseDate ScheduledReleaseDate 2
Supplier Supplier 2
SupplyingPlant SupplyingPlant 2
TopLevelOrder TopLevelOrder 2
TopLevelOrderMaterial TopLevelOrderMaterial 2
TotalReplenishmentLeadDuration TotalReplenishmentLeadDuration 1
WBSDescription WBSDescription 1
WBSElement WBSElement 2
WBSElementInternalID WBSElementInternalID 2
WithdrawnQuantity WithdrawnQuantity 2
@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_WBSElement            as _WBSElement2           on  $projection.WBSElementInternalID = _WBSElement2.WBSElementInternalID  
                                                                          
{
  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,
      I_MfgOrderOperationComponent._WBSElement.WBSElement,
      I_MfgOrderOperationComponent._WBSElement.WBSDescription,
     
      cast( case
         when I_MfgOrderOperationComponent._WBSElement.ResponsiblePerson = '00000000' or I_MfgOrderOperationComponent._WBSElement.ResponsiblePerson is null
            then _WBSElement2._EntProjectResponsiblePerson.PersonWorkAgreement
          else
            I_MfgOrderOperationComponent._WBSElement.ResponsiblePerson
        end as ps_s4_vernr preserving type )                   as ResponsiblePerson, //WBS Responsible

      cast( case
         when I_MfgOrderOperationComponent._WBSElement.ResponsiblePerson = '00000000' or I_MfgOrderOperationComponent._WBSElement.ResponsiblePerson is null
            then _WBSElement2._EntProjectResponsiblePerson._WorkforcePerson.PersonFullName
          else
            I_MfgOrderOperationComponent._WBSElement.ResponsiblePersonName
        end as ad_namtext preserving type )                    as ResponsiblePersonName, //WBS Responsible

      
      I_MfgOrderOperationComponent._WBSElement.ProjectInternalID,
      I_MfgOrderOperationComponent._WBSElement._Project.ProjectDescription,
      I_MfgOrderOperationComponent._WBSElement._Project.Project,

      _ProductSupplyPlanning.TotalReplenishmentLeadTime                                                              as TotalReplenishmentLeadDuration,
      _ProductSupplyPlanning.FixedLotSizeQuantity, // MaterialFixedLotSizeQuantity

      _ProductSupplyPlanning.MinimumLotSizeQuantity, //MaterialMinLotSizeQuantity,

      _ProductSupplyPlanning.MaximumLotSizeQuantity, //MaterialMaxLotSizeQuantity,

      _ProductSupplyPlanning.LotSizeRoundingQuantity, //MaterialRoundingQuantity,

      _ProductSupplyPlanning.RoundingProfile //MaterialRoundingProfile,

};
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ENTPROJECTRESPONSIBLEPERSON",
"I_MATERIAL",
"I_MATERIALTEXT",
"I_MFGORDER",
"I_MFGORDEROPERATIONCOMPONENT",
"I_MRPCONTROLLER",
"I_MRPCONTROLLEREMAIL",
"I_PRODUCTIONVERSION",
"I_PRODUCTPLANT",
"I_PRODUCTSUPPLYPLANNING",
"I_PROJECTBYINTERNALKEY",
"I_SALESORDER",
"I_SALESORDERITEM",
"I_WBSELEMENT",
"I_WBSELEMENTBYINTERNALKEY",
"I_WORKFORCEPERSON"
],
"ASSOCIATED":
[
"I_MRPCONTROLLEREMAIL",
"I_PRODUCTPLANT",
"I_PRODUCTSUPPLYPLANNING",
"I_WBSELEMENT"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/