I_MRPMfgOrder
MRP Manufacturing Order
I_MRPMfgOrder is a Composite CDS View that provides data about "MRP Manufacturing Order" in SAP S/4HANA. It reads from 4 data sources (I_ManufacturingOrder, I_ManufacturingOrderItem, I_ManufacturingOrderItem, I_ProductPlant) and exposes 55 fields with key fields ManufacturingOrder, ManufacturingOrderItem. It has 2 associations to related views. Part of development package ODATA_PP_MRP.
Data Sources (4)
| Source | Alias | Join Type |
|---|---|---|
| I_ManufacturingOrder | MfgOrder | from |
| I_ManufacturingOrderItem | MfgOrderItem | inner |
| I_ManufacturingOrderItem | OrderItem | inner |
| I_ProductPlant | ProductPlant | inner |
Associations (2)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_ProductSupplyPlanning | _ProductSupplyPlanning | $projection.Material = _ProductSupplyPlanning.Product and $projection.MRPPlant = _ProductSupplyPlanning.Plant |
| [0..1] | I_EntProjectResponsiblePerson | _ProjectRespPersn | $projection.WBSElementInternalID = _ProjectRespPersn.WBSElementInternalID and _ProjectRespPersn.WBSElementInternalID is not initial |
Annotations (10)
| Name | Value | Level | Field |
|---|---|---|---|
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| AbapCatalog.sqlViewName | IMRPMFGORDER | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| EndUserText.label | MRP Manufacturing Order | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| VDM.viewType | #COMPOSITE | view | |
| AccessControl.personalData.blocking | #REQUIRED | view |
Fields (55)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ManufacturingOrder | I_ManufacturingOrderItem | ManufacturingOrder | |
| KEY | ManufacturingOrderItem | I_ManufacturingOrderItem | ManufacturingOrderItem | |
| ManufacturingOrderCategory | I_ManufacturingOrder | ManufacturingOrderCategory | ||
| ManufacturingOrderType | I_ManufacturingOrder | ManufacturingOrderType | ||
| Material | I_ManufacturingOrderItem | Material | ||
| MRPPlant | I_ManufacturingOrderItem | PlanningPlant | ||
| ProductionPlant | I_ManufacturingOrderItem | ProductionPlant | ||
| MaterialGoodsReceiptDuration | I_ManufacturingOrderItem | MaterialGoodsReceiptDuration | ||
| MfgOrderPlannedStartDate | I_ManufacturingOrder | MfgOrderPlannedStartDate | ||
| MfgOrderPlannedEndDate | I_ManufacturingOrder | MfgOrderPlannedEndDate | ||
| MfgOrderActualStartDate | I_ManufacturingOrder | MfgOrderActualStartDate | ||
| MfgOrderActualEndDate | I_ManufacturingOrder | MfgOrderActualEndDate | ||
| MfgOrderActualReleaseDate | I_ManufacturingOrder | MfgOrderActualReleaseDate | ||
| MfgOrderScheduledStartDate | I_ManufacturingOrder | MfgOrderScheduledStartDate | ||
| MfgOrderScheduledEndDate | I_ManufacturingOrder | MfgOrderScheduledEndDate | ||
| MfgOrderScheduledReleaseDate | I_ManufacturingOrder | MfgOrderScheduledReleaseDate | ||
| ProductionUnit | I_ManufacturingOrder | ProductionUnit | ||
| MfgOrderPlannedTotalQty | I_ManufacturingOrder | MfgOrderPlannedTotalQty | ||
| MfgOrderPlannedScrapQty | I_ManufacturingOrder | MfgOrderPlannedScrapQty | ||
| ExpectedDeviationQuantity | I_ManufacturingOrder | ExpectedDeviationQuantity | ||
| ActualDeliveredQuantity | I_ManufacturingOrder | ActualDeliveredQuantity | ||
| OpenQuantity | ||||
| ManufacturingOrderImportance | I_ManufacturingOrder | ManufacturingOrderImportance | ||
| MfgOrderIsPartOfCollvOrder | I_ManufacturingOrder | MfgOrderIsPartOfCollvOrder | ||
| MaterialPlannedDeliveryDurn | _ProductSupplyPlanning | PlannedDeliveryDurationInDays | ||
| PurchasingGroup | I_ProductPlant | PurchasingGroup | ||
| TotalReplenishmentLeadTime | _ProductSupplyPlanning | TotalReplenishmentLeadTime | ||
| FixedLotSizeQuantity | _ProductSupplyPlanning | FixedLotSizeQuantity | ||
| MinimumLotSizeQuantity | _ProductSupplyPlanning | MinimumLotSizeQuantity | ||
| MaximumLotSizeQuantity | _ProductSupplyPlanning | MaximumLotSizeQuantity | ||
| LotSizeRoundingQuantity | _ProductSupplyPlanning | LotSizeRoundingQuantity | ||
| RoundingProfile | _ProductSupplyPlanning | RoundingProfile | ||
| SalesOrder | I_ManufacturingOrderItem | SalesOrder | ||
| SalesOrderItem | I_ManufacturingOrderItem | SalesOrderItem | ||
| SalesOrderType | ||||
| SalesOrderItemMaterial | ||||
| Customer | ||||
| ProductionVersionText | ||||
| ProductionVersion | I_ManufacturingOrderItem | ProductionVersion | ||
| ProductionLine | ||||
| WBSElementInternalID | I_ManufacturingOrderItem | WBSElementInternalID_2 | ||
| WBSElement | ||||
| WBSDescription | ||||
| ResponsiblePerson | ||||
| ResponsiblePersonName | ||||
| ProjectInternalID | ||||
| Project | ||||
| ProjectDescription | ||||
| ProjectResponsiblePerson | ||||
| ProjectResponsiblePersonName | ||||
| TopLevelOrder | TopLevelOrder | ManufacturingOrder | ||
| TopLevelOrderMaterial | I_ManufacturingOrderItem | Material | ||
| MRPController | I_ManufacturingOrder | MRPController | ||
| ProductionSupervisor | I_ManufacturingOrder | ProductionSupervisor | ||
| _WBSElementBasicData2 | I_ManufacturingOrderItem | _WBSElementBasicData2 |
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.sqlViewName: 'IMRPMFGORDER'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'MRP Manufacturing Order'
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XL
@ObjectModel.usageType.dataClass: #MIXED
@VDM.viewType: #COMPOSITE
@AccessControl.personalData.blocking: #REQUIRED
define view I_MRPMfgOrder
as select from I_ManufacturingOrder as MfgOrder
inner join I_ManufacturingOrderItem as MfgOrderItem on MfgOrderItem.ManufacturingOrder = MfgOrder.ManufacturingOrder
and MfgOrderItem.OrderItemIsNotRelevantForMRP = ''
inner join I_ProductPlant as ProductPlant on ProductPlant.Product = MfgOrderItem.Material
and ProductPlant.Plant = MfgOrderItem.PlanningPlant
left outer join(
I_ManufacturingOrder as TopLevelOrder
inner join I_ManufacturingOrderItem as OrderItem on OrderItem.ManufacturingOrder = TopLevelOrder.ManufacturingOrder
and OrderItem.ManufacturingOrderItem = '0001'
)
on TopLevelOrder.Reservation = MfgOrder.SettlementReservation
and TopLevelOrder.MfgOrderHierarchyLevel = 0
and TopLevelOrder.MfgOrderIsPartOfCollvOrder = 'X'
association [1..1] to I_ProductSupplyPlanning as _ProductSupplyPlanning on $projection.Material = _ProductSupplyPlanning.Product
and $projection.MRPPlant = _ProductSupplyPlanning.Plant
association [0..1] to I_EntProjectResponsiblePerson as _ProjectRespPersn on $projection.WBSElementInternalID = _ProjectRespPersn.WBSElementInternalID
and _ProjectRespPersn.WBSElementInternalID is not initial
{
key MfgOrderItem.ManufacturingOrder,
key MfgOrderItem.ManufacturingOrderItem,
MfgOrder.ManufacturingOrderCategory,
MfgOrder.ManufacturingOrderType,
MfgOrderItem.Material,
MfgOrderItem.PlanningPlant as MRPPlant,
MfgOrderItem.ProductionPlant,
MfgOrderItem.MaterialGoodsReceiptDuration,
@Semantics.businessDate.from: true
MfgOrder.MfgOrderPlannedStartDate,
@Semantics.businessDate.to: true
MfgOrder.MfgOrderPlannedEndDate,
@Semantics.businessDate.from: true
MfgOrder.MfgOrderActualStartDate,
@Semantics.businessDate.to: true
MfgOrder.MfgOrderActualEndDate,
@Semantics.businessDate.at: true
MfgOrder.MfgOrderActualReleaseDate,
@Semantics.businessDate.from: true
MfgOrder.MfgOrderScheduledStartDate,
@Semantics.businessDate.to: true
MfgOrder.MfgOrderScheduledEndDate,
@Semantics.businessDate.at: true
MfgOrder.MfgOrderScheduledReleaseDate,
@Semantics.unitOfMeasure: true
MfgOrder.ProductionUnit,
@Semantics.quantity.unitOfMeasure: 'ProductionUnit'
MfgOrder.MfgOrderPlannedTotalQty,
@Semantics.quantity.unitOfMeasure: 'ProductionUnit'
MfgOrder.MfgOrderPlannedScrapQty,
@Semantics.quantity.unitOfMeasure: 'ProductionUnit'
MfgOrder.ExpectedDeviationQuantity,
@Semantics.quantity.unitOfMeasure: 'ProductionUnit'
MfgOrder.ActualDeliveredQuantity,
@Semantics.quantity.unitOfMeasure: 'ProductionUnit'
(MfgOrder.MfgOrderPlannedTotalQty - MfgOrder.MfgOrderPlannedScrapQty - MfgOrder.ExpectedDeviationQuantity - MfgOrder.ActualDeliveredQuantity) as OpenQuantity,
MfgOrder.ManufacturingOrderImportance,
MfgOrder.MfgOrderIsPartOfCollvOrder,
// Material/product data
_ProductSupplyPlanning.PlannedDeliveryDurationInDays as MaterialPlannedDeliveryDurn,
// @ObjectModel.text.element: 'PurchasingGroupName'
ProductPlant.PurchasingGroup,
// case _PurchasingGroup.PhoneNumberExtension
// when '' then _PurchasingGroup.PurchasingGroupPhoneNumber
// else concat(_PurchasingGroup.PhoneNumber, concat('-', _PurchasingGroup.PhoneNumberExtension))
// end as PurchasingGroupPhoneNumber,
_ProductSupplyPlanning.TotalReplenishmentLeadTime,
_ProductSupplyPlanning.FixedLotSizeQuantity, // MaterialFixedLotSizeQuantity
_ProductSupplyPlanning.MinimumLotSizeQuantity, //MaterialMinLotSizeQuantity,
_ProductSupplyPlanning.MaximumLotSizeQuantity, //MaterialMaxLotSizeQuantity,
_ProductSupplyPlanning.LotSizeRoundingQuantity, //MaterialRoundingQuantity
_ProductSupplyPlanning.RoundingProfile, //MaterialRoundingProfile
// Sales Order
MfgOrderItem.SalesOrder,
MfgOrderItem.SalesOrderItem,
MfgOrderItem._SalesOrder.SalesOrderType,
MfgOrderItem._SalesOrderItem.Material as SalesOrderItemMaterial,
MfgOrderItem._SalesOrder.SoldToParty as Customer,
// Production Version
MfgOrderItem._ProductionVersion.ProductionVersionText,
MfgOrderItem.ProductionVersion,
MfgOrderItem._ProductionVersion.ProductionLine,
// WBS Element
MfgOrderItem.WBSElementInternalID_2 as WBSElementInternalID,
MfgOrderItem._WBSElementBasicData2.WBSElementExternalID as WBSElement, //ExternalID
MfgOrderItem._WBSElementBasicData2.WBSDescription,
cast( _ProjectRespPersn.PersonWorkAgreement as ps_s4_vernr preserving type ) as ResponsiblePerson,
_ProjectRespPersn._WorkforcePerson.PersonFullName as ResponsiblePersonName,
MfgOrderItem._WBSElementBasicData2._Project.ProjectInternalID,
MfgOrderItem._WBSElementBasicData2._Project.ProjectExternalID as Project, //ExternalID
MfgOrderItem._WBSElementBasicData2._Project.ProjectDescription,
cast( _ProjectRespPersn.PersonWorkAgreement as ps_s4_vernr preserving type ) as ProjectResponsiblePerson,
_ProjectRespPersn._WorkforcePerson.PersonFullName as ProjectResponsiblePersonName,
// Top Level Order
TopLevelOrder.ManufacturingOrder as TopLevelOrder,
OrderItem.Material as TopLevelOrderMaterial,
// Progress status
case
when MfgOrder.MfgOrderActualReleaseDate <> '00000000' //afko.ftrmi
then 2 //'released'
when MfgOrder.MfgOrderActualStartDate <> '00000000' //afko.gstri
then 3 //'in progress'
when MfgOrder.MfgOrderActualEndDate <> '00000000' //afko.getri
then 4 //'finished'
else 1 //'created'
end as MfgOrderProgressStatus,
// MRP Controller
MfgOrder.MRPController,
MfgOrder.ProductionSupervisor,
MfgOrderItem._WBSElementBasicData2
};
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