C_MRPManufacturingComponent

DDL: C_MRPMANUFACTURINGCOMPONENT SQL: CMRPMANUCOMP Type: view CONSUMPTION

MRP Manufacturing Component

C_MRPManufacturingComponent is a Consumption CDS View that provides data about "MRP Manufacturing Component" in SAP S/4HANA. It reads from 1 data source (I_MRPManufacturingComponent) and exposes 69 fields with key fields Reservation, ReservationItem, RecordType. It has 2 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_MRPManufacturingComponent I_MRPManufacturingComponent from

Associations (2)

CardinalityTargetAliasCondition
[0..*] I_MfgOrderTypeText _MfgOrderTypeText $projection.ManufacturingOrderType = _MfgOrderTypeText.ManufacturingOrderType
[0..1] I_Project _Project $projection.Project = _Project.Project

Annotations (9)

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

Fields (69)

KeyFieldSource TableSource FieldDescription
KEY Reservation I_MRPManufacturingComponent Reservation
KEY ReservationItem I_MRPManufacturingComponent ReservationItem
KEY RecordType I_MRPManufacturingComponent RecordType
RequirementType I_MRPManufacturingComponent RequirementType
MRPPlant I_MRPManufacturingComponent MRPPlant
SupplyingPlant I_MRPManufacturingComponent SupplyingPlant
CommittedQuantity I_MRPManufacturingComponent CommittedQuantity
Supplier I_MRPManufacturingComponent Supplier
PurchasingGroup I_MRPManufacturingComponent PurchasingGroup
MaterialProcurementCategory I_MRPManufacturingComponent MaterialProcurementCategory
MaterialProcurementType I_MRPManufacturingComponent MaterialProcurementType
MaterialGoodsReceiptDuration I_MRPManufacturingComponent MaterialGoodsReceiptDuration
MaterialPlannedDeliveryDurn I_MRPManufacturingComponent MaterialPlannedDeliveryDurn
MaterialPlannedProductionDurn I_MRPManufacturingComponent MaterialPlannedProductionDurn
MaterialReplenishmentLeadDurn I_MRPManufacturingComponent MaterialReplenishmentLeadDurn
FixedLotSizeQuantity I_MRPManufacturingComponent FixedLotSizeQuantity
MinimumLotSizeQuantity I_MRPManufacturingComponent MinimumLotSizeQuantity
MaximumLotSizeQuantity I_MRPManufacturingComponent MaximumLotSizeQuantity
LotSizeRoundingQuantity I_MRPManufacturingComponent LotSizeRoundingQuantity
RoundingProfile I_MRPManufacturingComponent RoundingProfile
ManufacturingOrder I_MRPManufacturingComponent ManufacturingOrder
ManufacturingOrderCategory I_MRPManufacturingComponent ManufacturingOrderCategory
ManufacturingOrderImportance I_MRPManufacturingComponent ManufacturingOrderImportance
PlannedOrder I_MRPManufacturingComponent PlannedOrder
ProductionPlant I_MRPManufacturingComponent ProductionPlant
ProductionSupervisor I_MRPManufacturingComponent ProductionSupervisor
ProductionVersion I_MRPManufacturingComponent ProductionVersion
ProductionVersionText I_MRPManufacturingComponent ProductionVersionText
ProductionLine I_MRPManufacturingComponent ProductionLine
InventorySpecialStockType I_MRPManufacturingComponent InventorySpecialStockType
SalesOrderItem I_MRPManufacturingComponent SalesOrderItem
SalesOrderType I_MRPManufacturingComponent SalesOrderType
Customer I_MRPManufacturingComponent Customer
WBSElementInternalID I_MRPManufacturingComponent WBSElementInternalID
ProjectInternalID I_MRPManufacturingComponent ProjectInternalID
OrderPlannedTotalQty I_MRPManufacturingComponent OrderPlannedTotalQty
OrderPlannedScrapQty I_MRPManufacturingComponent OrderPlannedScrapQty
ExpectedDeviationQuantity I_MRPManufacturingComponent ExpectedDeviationQuantity
GoodsReceiptQty I_MRPManufacturingComponent GoodsReceiptQty
ActualStartDate I_MRPManufacturingComponent ActualStartDate
ActualEndDate I_MRPManufacturingComponent ActualEndDate
ActualReleasedDate I_MRPManufacturingComponent ActualReleasedDate
MRPController I_MRPManufacturingComponent MRPController
Material I_MRPManufacturingComponent Material
MaterialName I_MRPManufacturingComponent MaterialName
BaseUnit I_MRPManufacturingComponent BaseUnit
MRPControllerName I_MRPManufacturingComponent MRPControllerName
MRPControllerPhoneNumber I_MRPManufacturingComponent MRPControllerPhoneNumber
EmailAddress I_MRPManufacturingComponent EmailAddress
RequirementDate I_MRPManufacturingComponent RequirementDate
OrderedQuantity I_MRPManufacturingComponent OrderedQuantity
WithdrawnQuantity I_MRPManufacturingComponent WithdrawnQuantity
OpenQuantity I_MRPManufacturingComponent OpenQuantity
ManufacturingOrderType I_MRPManufacturingComponent ManufacturingOrderType
ManufacturingOrderTypeName
PlannedStartDate I_MRPManufacturingComponent PlannedStartDate
ScheduledReleaseDate I_MRPManufacturingComponent ScheduledReleaseDate
ScheduledBasicStartDate I_MRPManufacturingComponent ScheduledBasicStartDate
ScheduledBasicEndDate I_MRPManufacturingComponent ScheduledBasicEndDate
OrderPlannedEndDate I_MRPManufacturingComponent OrderPlannedEndDate
WBSElement I_MRPManufacturingComponent WBSElement
ResponsiblePerson I_MRPManufacturingComponent ResponsiblePerson
ResponsiblePersonName I_MRPManufacturingComponent ResponsiblePersonName
Project I_MRPManufacturingComponent Project
ProjectDescription I_MRPManufacturingComponent ProjectDescription
SalesOrder I_MRPManufacturingComponent SalesOrder
SalesOrderItemMaterial I_MRPManufacturingComponent SalesOrderItemMaterial
TopLevelOrder I_MRPManufacturingComponent TopLevelOrder
TopLevelOrderMaterial I_MRPManufacturingComponent TopLevelOrderMaterial
@AbapCatalog.sqlViewName: 'CMRPMANUCOMP'
@AbapCatalog.compiler.compareFilter: true
@AccessControl: { authorizationCheck:  #CHECK, personalData.blocking: #('TRANSACTIONAL_DATA') }
@EndUserText.label: 'MRP Manufacturing Component'

@ClientHandling.algorithm: #SESSION_VARIABLE

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

@VDM.viewType: #CONSUMPTION

define view C_MRPManufacturingComponent
  as select from I_MRPManufacturingComponent
  association [0..*] to I_MfgOrderTypeText as _MfgOrderTypeText on $projection.ManufacturingOrderType = _MfgOrderTypeText.ManufacturingOrderType
  association [0..1] to I_Project          as _Project          on $projection.Project = _Project.Project

{
  key I_MRPManufacturingComponent.Reservation,
  key I_MRPManufacturingComponent.ReservationItem,
  key I_MRPManufacturingComponent.RecordType,
      I_MRPManufacturingComponent.RequirementType,
      I_MRPManufacturingComponent.MRPPlant,
      I_MRPManufacturingComponent.SupplyingPlant,
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      I_MRPManufacturingComponent.CommittedQuantity,
      I_MRPManufacturingComponent.Supplier,
      I_MRPManufacturingComponent.PurchasingGroup,
      I_MRPManufacturingComponent.MaterialProcurementCategory,
      I_MRPManufacturingComponent.MaterialProcurementType,
      I_MRPManufacturingComponent.MaterialGoodsReceiptDuration,
      I_MRPManufacturingComponent.MaterialPlannedDeliveryDurn,
      I_MRPManufacturingComponent.MaterialPlannedProductionDurn,
      I_MRPManufacturingComponent.MaterialReplenishmentLeadDurn,
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      I_MRPManufacturingComponent.FixedLotSizeQuantity,
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      I_MRPManufacturingComponent.MinimumLotSizeQuantity,
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      I_MRPManufacturingComponent.MaximumLotSizeQuantity,
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      I_MRPManufacturingComponent.LotSizeRoundingQuantity,
      I_MRPManufacturingComponent.RoundingProfile,
      I_MRPManufacturingComponent.ManufacturingOrder,
      I_MRPManufacturingComponent.ManufacturingOrderCategory,
      I_MRPManufacturingComponent.ManufacturingOrderImportance,
      I_MRPManufacturingComponent.PlannedOrder,
      I_MRPManufacturingComponent.ProductionPlant,
      I_MRPManufacturingComponent.ProductionSupervisor,
      I_MRPManufacturingComponent.ProductionVersion,
      I_MRPManufacturingComponent.ProductionVersionText,
      I_MRPManufacturingComponent.ProductionLine,
      I_MRPManufacturingComponent.InventorySpecialStockType,
      I_MRPManufacturingComponent.SalesOrderItem,
      I_MRPManufacturingComponent.SalesOrderType,
      I_MRPManufacturingComponent.Customer,
      I_MRPManufacturingComponent.WBSElementInternalID,
      I_MRPManufacturingComponent.ProjectInternalID,
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      I_MRPManufacturingComponent.OrderPlannedTotalQty,
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      I_MRPManufacturingComponent.OrderPlannedScrapQty,
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      I_MRPManufacturingComponent.ExpectedDeviationQuantity,
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      I_MRPManufacturingComponent.GoodsReceiptQty,
      @Semantics.businessDate.from: true
      I_MRPManufacturingComponent.ActualStartDate,
      @Semantics.businessDate.to: true
      I_MRPManufacturingComponent.ActualEndDate,
      @Semantics.businessDate.at: true
      I_MRPManufacturingComponent.ActualReleasedDate,
      //I_MRPManufacturingComponent.MaintenancePlan,

      @ObjectModel.text.element:  [ 'MRPControllerName' ]
      I_MRPManufacturingComponent.MRPController,
      @ObjectModel.text.element:  [ 'MaterialName' ]
      I_MRPManufacturingComponent.Material,
      I_MRPManufacturingComponent.MaterialName,
      @Semantics.unitOfMeasure: true
      I_MRPManufacturingComponent.BaseUnit,

      case 
        when I_MRPManufacturingComponent.ActualEndDate is not null and I_MRPManufacturingComponent.ActualEndDate  != '00000000'
        then 'FINI' // finished

        when I_MRPManufacturingComponent.ActualStartDate is not null and I_MRPManufacturingComponent.ActualStartDate  != '00000000'
        then 'INPR' // in progress

        when I_MRPManufacturingComponent.ActualReleasedDate is not null and I_MRPManufacturingComponent.ActualReleasedDate  != '00000000'
        then 'RELE' // released

        else 'CREA' // created

      end as MfgOrderProgressStatusName,

      // Contact group

      @UI.lineItem: [{position:50},{position:50,qualifier:'Contact'}]
      @Semantics.name.fullName: true
      I_MRPManufacturingComponent.MRPControllerName,
      @UI.lineItem: [{position:60},{position:60,qualifier:'Contact'}]
      @Semantics.telephone.type:  [ #WORK ]
      I_MRPManufacturingComponent.MRPControllerPhoneNumber,
      @UI.lineItem: [{position:70},{position:70,qualifier:'Contact'}]
      @Semantics.eMail.address: true
      I_MRPManufacturingComponent.EmailAddress,
      //@UI.lineItem: [{position:80},{position:80,qualifier:'Contact'}]

      //I_MRPManufacturingComponent.MaintenancePlanningPlant,


      // ComponentRequirement group

      @UI.lineItem: [{position:10},{position:10,qualifier:'ComponentRequirement'}]
      @Semantics.businessDate.at: true
      I_MRPManufacturingComponent.RequirementDate,
      @UI.lineItem: [{position:20},{position:20,qualifier:'ComponentRequirement'}]
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      I_MRPManufacturingComponent.OrderedQuantity,
      @UI.lineItem: [{position:30},{position:30,qualifier:'ComponentRequirement'}]
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      I_MRPManufacturingComponent.WithdrawnQuantity,
      @UI.lineItem: [{position:40},{position:40,qualifier:'ComponentRequirement'}]
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      I_MRPManufacturingComponent.OpenQuantity,

      // MaintenanceOrder group

      @UI.lineItem: [{position:10},{position:10,qualifier:'MaintenanceOrder'}]
      I_MRPManufacturingComponent.ManufacturingOrderType,
      @UI.lineItem: [{position:20},{position:20,qualifier:'MaintenanceOrder'}]
      _MfgOrderTypeText[1: Language = $session.system_language ].ManufacturingOrderTypeName,
      @UI.lineItem: [{position:30},{position:30,qualifier:'MaintenanceOrder'}]
      @Semantics.businessDate.from: true
      I_MRPManufacturingComponent.PlannedStartDate,
      @UI.lineItem: [{position:40},{position:40,qualifier:'MaintenanceOrder'}]
      @Semantics.businessDate.at: true
      I_MRPManufacturingComponent.ScheduledReleaseDate,
      @UI.lineItem: [{position:50},{position:50,qualifier:'MaintenanceOrder'}]
      @Semantics.businessDate.from: true
      I_MRPManufacturingComponent.ScheduledBasicStartDate,
      @UI.lineItem: [{position:60},{position:60,qualifier:'MaintenanceOrder'}]
      @Semantics.businessDate.to: true
      I_MRPManufacturingComponent.ScheduledBasicEndDate,
      @UI.lineItem: [{position:70},{position:70,qualifier:'MaintenanceOrder'}]
      @Semantics.businessDate.to: true
      I_MRPManufacturingComponent.OrderPlannedEndDate,
      //@UI.lineItem: [{position:80},{position:80,qualifier:'MaintenanceOrder'}]

      //I_MRPManufacturingComponent.ActivityType,

      //@UI.lineItem: [{position:90},{position:90,qualifier:'MaintenanceOrder'}]

      //I_MRPManufacturingComponent.MaintenanceNotification,

      //@UI.lineItem: [{position:100},{position:100,qualifier:'MaintenanceOrder'}]

      //I_MRPManufacturingComponent.MaintenanceRevision,

      //@UI.lineItem: [{position:110},{position:110,qualifier:'MaintenanceOrder'}]

      //I_MRPManufacturingComponent.MaintPriorityType,


      // RelatedObjects group

      @UI.lineItem: [{position:10},{position:10,qualifier:'RelatedObjects'}]
      I_MRPManufacturingComponent.WBSElement,
      @UI.lineItem: [{position:40},{position:40,qualifier:'RelatedObjects'}]
      @ObjectModel.text.element:  [ 'ResponsiblePersonName' ]
      I_MRPManufacturingComponent.ResponsiblePerson, //WBS Responsible

      @UI.lineItem: [{position:50},{position:50,qualifier:'RelatedObjects'}]
      @Semantics.name.fullName: true
      I_MRPManufacturingComponent.ResponsiblePersonName, //WBS Responsible

      @UI.lineItem: [{position:60},{position:60,qualifier:'RelatedObjects'}]
      @ObjectModel.text.element:  [ 'ProjectDescription' ]
      I_MRPManufacturingComponent.Project,
      @UI.lineItem: [{position:70},{position:70,qualifier:'RelatedObjects'}]
      I_MRPManufacturingComponent.ProjectDescription,
      @UI.lineItem: [{position:80},{position:80,qualifier:'RelatedObjects'}]
      @ObjectModel.text.element:  [ 'ProjectResponsiblePersonName' ]
      cast( case
         when _Project.ResponsiblePerson = '00000000' or _Project.ResponsiblePerson is null
            then _Project._EntProjProjectRespPersn.PersonWorkAgreement
          else
            _Project.ResponsiblePerson
        end as ps_s4_vernr preserving type ) as ProjectResponsiblePerson,
      @UI.lineItem: [{position:90},{position:90,qualifier:'RelatedObjects'}]
      cast( case
         when _Project.ResponsiblePerson = '00000000' or _Project.ResponsiblePerson is null
            then _Project._EntProjProjectRespPersn._WorkforcePerson.PersonFullName
          else
            _Project.ResponsiblePersonName
        end as ad_namtext preserving type ) as ProjectResponsiblePersonName,

      @UI.lineItem: [{position:100},{position:100,qualifier:'RelatedObjects'}]
      I_MRPManufacturingComponent.SalesOrder,
      @UI.lineItem: [{position:110},{position:110,qualifier:'RelatedObjects'}]
      //@ObjectModel.text.element:  [ 'SalesOrderItemMaterialName' ]

      I_MRPManufacturingComponent.SalesOrderItemMaterial,
      //@UI.lineItem: [{position:100},{position:100,qualifier:'RelatedObjects'}]

      //I_MRPManufacturingComponent.SalesOrderItemMaterialName,

      @UI.lineItem: [{position:120},{position:120,qualifier:'RelatedObjects'}]
      I_MRPManufacturingComponent.TopLevelOrder,
      @UI.lineItem: [{position:130},{position:130,qualifier:'RelatedObjects'}]
      //@ObjectModel.text.element:  [ 'TopLevelOrderMaterialName' ]

      I_MRPManufacturingComponent.TopLevelOrderMaterial
      //@UI.lineItem: [{position:130},{position:130,qualifier:'RelatedObjects'}]

      //I_MRPManufacturingComponent.TopLevelOrderMaterialName

}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ENTPROJPROJECTRESPPERSN",
"I_MFGORDERTYPETEXT",
"I_MRPMANUFACTURINGCOMPONENT",
"I_PROJECT",
"I_WORKFORCEPERSON"
],
"ASSOCIATED":
[
"I_MFGORDERTYPETEXT",
"I_PROJECT"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/