I_MFGORDERITEM

CDS View

Manufacturing Order Item

I_MFGORDERITEM is a CDS View in S/4HANA. Manufacturing Order Item. It contains 30 fields. 7 CDS views read from this table.

CDS Views using this table (7)

ViewTypeJoinVDMDescription
A_ProcessOrderItem view_entity from COMPOSITE API Process Order Items
A_ProductionOrderItem view_entity from COMPOSITE API Production Order Items
C_MfgOrderObjPgItem view_entity from CONSUMPTION Manufacturing Order Items : Object Page
C_ProcessOrderObjPgItem view_entity from CONSUMPTION Process Order Items
I_MRPMfgOrder view inner COMPOSITE MRP Manufacturing Order
P_DemandDrivenOrders view from COMPOSITE
P_ProductionOrderQuickView view from BASIC P view for Production Order

Fields (30)

KeyField CDS FieldsUsed in Views
KEY ManufacturingOrder ManufacturingOrder,OrderID 3
KEY ManufacturingOrderItem ManufacturingOrderItem 2
KEY Material Material,TopLevelOrderMaterial 4
KEY MRPArea MRPArea 2
KEY ProductionPlant ProductionPlant 3
_Material _Material 2
_MfgOrder _MfgOrder 1
_MRPArea _MRPArea 1
_MRPPlant _MRPPlant 1
_ProductionPlant _ProductionPlant 1
_StorageLocation _StorageLocation 1
BaseUnit BaseUnit 1
ManufacturingOrderCategory ManufacturingOrderCategory 1
ManufacturingOrderType ManufacturingOrderType 1
MaterialGoodsReceiptDuration MaterialGoodsReceiptDuration 1
MfgOrderConfirmedEndDate Enddate 1
MfgOrderConfirmedEndTime EndTime 1
MfgOrderItemActualDeliveryDate MfgOrderItemActualDeliveryDate 1
MfgOrderItemActualDeviationQty MfgOrderItemActualDeviationQty 1
MfgOrderItemGoodsReceiptQty MfgOrderItemGoodsReceiptQty 1
MfgOrderItemPlannedScrapQty MfgOrderItemPlannedScrapQty 1
MfgOrderItemPlannedTotalQty MfgOrderItemPlannedTotalQty 1
MfgOrderItemPlndDeliveryDate MfgOrderItemPlndDeliveryDate 1
MRPPlant MRPPlant 2
ProductionUnit ProductionUnit 1
ProductionVersion ProductionVersion 1
SalesOrder SalesOrder 1
SalesOrderItem SalesOrderItem 1
StorageLocation StorageLocation 1
WBSElementInternalID WBSElementInternalID 1
@AbapCatalog.sqlViewName: 'IPPMFGORDITEM'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #MANDATORY
@AccessControl.personalData.blocking: #NOT_REQUIRED
@AccessControl.privilegedAssociations: ['_MRPController', '_ProductionSupervisor']
@Analytics.dataCategory: #DIMENSION
@ClientHandling.algorithm: #SESSION_VARIABLE
@ClientHandling.type: #CLIENT_DEPENDENT
@Metadata.allowExtensions: true
@ObjectModel.representativeKey: 'ManufacturingOrderItem'
@ObjectModel.semanticKey: ['ManufacturingOrder', 'ManufacturingOrderItem']
@ObjectModel.usageType: {serviceQuality: #B, sizeCategory: #L, dataClass: #TRANSACTIONAL}
@VDM.lifecycle.status: #DEPRECATED
@VDM.lifecycle.successor: 'I_ManufacturingOrderItem'
@VDM.viewType: #BASIC
@EndUserText.label: 'Manufacturing Order Item'

/*+[hideWarning] { "IDS" : [ "CALCULATED_FIELD_CHECK" ]  } */
define view I_MfgOrderItem
  as select from I_OrderItem           as item
    inner join   I_LogisticsOrderBasic as head on head.OrderID = item.OrderID

  association [1..1] to I_MfgOrder                  as _MfgOrder             on  $projection.ManufacturingOrder = _MfgOrder.ManufacturingOrder
  association [1..1] to I_MfgOrderCategory          as _MfgOrderCategory     on  $projection.ManufacturingOrderCategory = _MfgOrderCategory.ManufacturingOrderCategory
  association [1..1] to I_MfgOrderType              as _MfgOrderType         on  $projection.ManufacturingOrderType = _MfgOrderType.ManufacturingOrderType
  association [0..1] to I_MRPController             as _MRPController        on  $projection.MRPPlant      = _MRPController.Plant
                                                                             and $projection.MRPController = _MRPController.MRPController
  association [0..1] to I_ProductionSupervisor      as _ProductionSupervisor on  $projection.ProductionPlant      = _ProductionSupervisor.Plant
                                                                             and $projection.ProductionSupervisor = _ProductionSupervisor.ProductionSupervisor
{
      // Key

      @ObjectModel.foreignKey.association: '_MfgOrder'
  key cast(item.OrderID as manufacturingorder preserving type)               as ManufacturingOrder,
  key cast(item.OrderItem as manufacturingorderitem preserving type)         as ManufacturingOrderItem,

      // Category and Type

      @ObjectModel.foreignKey.association: '_MfgOrderCategory'
      cast(item.OrderCategory as manufacturingordercategory preserving type) as ManufacturingOrderCategory,
      @ObjectModel.foreignKey.association: '_MfgOrderType'
      cast(item.OrderType as manufacturingordertype preserving type)         as ManufacturingOrderType,

      // Attributes

      case item.OrderIsReleased
        when 'X' then '1'
        else ''
      end                                           as MfgOrderReleasedCode,
      item.IsMarkedForDeletion                      as MfgOrderIsToBeDeleted,
      item.IsCompletelyDelivered                    as MfgOrderItemIsFinallyDelivered,
      item.OrderItemIsNotRelevantForMRP,

      // Assignments

      @ObjectModel.foreignKey.association: '_Material'
      item.Material,
      @ObjectModel.foreignKey.association: '_ProductionPlant'
      item.ProductionPlant,
      @ObjectModel.foreignKey.association: '_MRPPlant'
      item.MRPPlant,
      @ObjectModel.foreignKey.association: '_MRPController'
      head.MRPController,
      @ObjectModel.foreignKey.association: '_ProductionSupervisor'
      head.ProductionSupervisor,
      @ObjectModel.foreignKey.association: '_Reservation'      
      head.Reservation,
      @ObjectModel.foreignKey.association: '_ProductionVersion'
      item.ProductionVersion,
      @ObjectModel.foreignKey.association: '_MRPArea'
      item.MRPArea,
      @ObjectModel.foreignKey.association: '_SalesOrder'
      item.SalesOrder,
      @ObjectModel.foreignKey.association: '_SalesOrderItem'
      item.SalesOrderItem,
      @ObjectModel.foreignKey.association: '_WBSElement'
      item.WBSElementInternalID,
--    @ObjectModel.foreignKey.association: '_QuotaArrangement'
      item.QuotaArrangement,
--    @ObjectModel.foreignKey.association: '_QuotaArrangementItem'
      item.QuotaArrangementItem,
      @ObjectModel.foreignKey.association: '_SettlementReservation'
      item.SettlementReservation,
--    @ObjectModel.foreignKey.association: '_SettlementReservationItem'
      item.SettlementReservationItem,
      @ObjectModel.foreignKey.association: '_CoProductReservation'
      item.CoProductReservation,
--    @ObjectModel.foreignKey.association: '_CoProductReservationItem'
      item.CoProductReservationItem,
      @ObjectModel.foreignKey.association: '_MatlProcurementCategory'
      item.MaterialProcurementCategory,
      @ObjectModel.foreignKey.association: '_MatlProcurementType'
      item.MaterialProcurementType,
      item.SerialNumberAssgmtProfile,
      item.NumberOfSerialNumbers,
      item.MfgOrderItemReplnmtElmntType,
      //Changes for AVC

      item.ProductConfiguration,
      cast('' as vchclf_side_effect_data)                      as ConfigurationSideEffect,
      cast(item.ObjectInternalID as pph_objnr preserving type) as ManufacturingObject,
      item.QuantityDistributionKey,
      item.EffectivityParameterVariant,

      // Goods Receipt data

      item.GoodsReceiptIsExpected         as MfgOrderItemGdsRcptIsAllowed,
      item.GoodsReceiptIsNonValuated      as MfgOrderItemGdsRcptIsNonVltd,
      item.MaterialGoodsReceiptDuration   as MaterialGoodsReceiptDuration,
      item.UnderdelivTolrtdLmtRatioInPct  as MfgOrderItmAllowedUnderdelyPct,
      item.OverdelivTolrtdLmtRatioInPct   as MfgOrderItemAllowedOverdelyPct,
      item.UnlimitedOverdeliveryIsAllowed as MfgOrdItmHasUnlmtdOverdelivery,
      @ObjectModel.foreignKey.association: '_StorageLocation'
      item.StorageLocation,
      @ObjectModel.foreignKey.association: '_Batch'
      item.Batch,
      @ObjectModel.foreignKey.association: '_InventoryValuationType'
      item.InventoryValuationType,
      item.InventoryValuationCategory,
      @ObjectModel.foreignKey.association: '_InventoryUsabilityCode'
      item.InventoryUsabilityCode,
      @ObjectModel.foreignKey.association: '_InventorySpecialStockType'
      item.InventorySpecialStockType,
      @ObjectModel.foreignKey.association: '_InventorySpecialStockValnType'
      item.InventorySpecialStockValnType,
      @ObjectModel.foreignKey.association: '_ConsumptionPosting'
      item.ConsumptionPosting,
      @Semantics.text: true
      item.GoodsRecipientName,
      @Semantics.text: true
      item.UnloadingPointName,
      item.StockSegment,

      // Order Header Dates and Times

      cast(head.PlannedStartDate as mfgorderplannedstartdate preserving type)          as MfgOrderPlannedStartDate,
      cast(head.PlannedStartTime as mfgorderplannedstarttime preserving type)          as MfgOrderPlannedStartTime,
      cast(head.ScheduledBasicStartDate as mfgorderscheduledstartdate preserving type) as MfgOrderScheduledStartDate,
      cast(head.ScheduledBasicStartTime as mfgorderscheduledstarttime preserving type) as MfgOrderScheduledStartTime,
      cast(head.ActualStartDate as mfgorderactualstartdate preserving type)            as MfgOrderActualStartDate,
      cast(head.ActualStartTime as mfgorderactualstarttime preserving type)            as MfgOrderActualStartTime,
      cast(head.PlannedEndDate as mfgorderplannedenddate preserving type)              as MfgOrderPlannedEndDate,
      cast(head.PlannedEndTime as mfgorderplannedendtime preserving type)              as MfgOrderPlannedEndTime,
      cast(head.ScheduledBasicEndDate as mfgorderscheduledenddate preserving type)     as MfgOrderScheduledEndDate,
      cast(head.ScheduledBasicEndTime as mfgorderscheduledendtime preserving type)     as MfgOrderScheduledEndTime,
      cast(head.ConfirmedEndDate as mfgorderconfirmedenddate preserving type)          as MfgOrderConfirmedEndDate,
      cast(head.ConfirmedEndTime as mfgorderconfirmedendtime preserving type)          as MfgOrderConfirmedEndTime,
      cast(head.ActualEndDate as mfgorderactualenddate preserving type)                as MfgOrderActualEndDate,
      cast(head.ScheduledReleaseDate as mfgorderscheduledreleasedate preserving type)  as MfgOrderScheduledReleaseDate,
      cast(head.ActualReleasedDate as mfgorderactualreleasedate preserving type)       as MfgOrderActualReleaseDate,      

      // Order Item Dates

      cast(item.PlannedEndDate as mfgorderitemplannedenddate preserving type)          as MfgOrderItemPlannedEndDate,
      cast(item.ScheduledBasicEndDate as mfgorderitemscheduledenddate preserving type) as MfgOrderItemScheduledEndDate,
      item.PlannedDeliveryDate                                                         as MfgOrderItemPlndDeliveryDate,
      item.ActualDeliveryDate                                                          as MfgOrderItemActualDeliveryDate,
      item.TotalCommitmentDate                                                         as MfgOrderItemTotalCmtmtDate,

      // Item Quantities and UoM

      @Semantics.unitOfMeasure: true
      item.ProductionUnit,
      @Semantics.quantity.unitOfMeasure: 'ProductionUnit'
      @DefaultAggregation: #SUM
      cast(item.ItemQuantity as co_psmng preserving type)                                as MfgOrderItemPlannedTotalQty,
      @Semantics.quantity.unitOfMeasure: 'ProductionUnit'
      @DefaultAggregation: #SUM
      cast(item.MfgOrderItemPlannedScrapQty as co_psamg preserving type)                 as MfgOrderItemPlannedScrapQty,
      @Semantics.quantity.unitOfMeasure: 'ProductionUnit'
      @DefaultAggregation: #SUM
      cast(item.ItemQuantity - item.MfgOrderItemPlannedScrapQty as plannedyieldquantity) as MfgOrderItemPlannedYieldQty,
      @Semantics.quantity.unitOfMeasure: 'ProductionUnit'
      @DefaultAggregation: #SUM
      cast(item.MfgOrderItemGoodsReceiptQty as co_wemng preserving type)                 as MfgOrderItemGoodsReceiptQty,
      @Semantics.quantity.unitOfMeasure: 'ProductionUnit'
      @DefaultAggregation: #SUM
      cast(item.MfgOrderItemActualDeviationQty as co_iamng preserving type)              as MfgOrderItemActualDeviationQty,
      @Semantics.quantity.unitOfMeasure: 'ProductionUnit'
      @DefaultAggregation: #SUM
      cast(item.MfgOrderItemOpenYieldQty as openyieldquantity preserving type)           as MfgOrderItemOpenYieldQty,

      // Header Quantities and UoM

      @Semantics.quantity.unitOfMeasure: 'ProductionUnit'
      @DefaultAggregation: #SUM
      cast(head.OrderConfirmedYieldQty as co_igmng preserving type)  as MfgOrderConfirmedYieldQty,
      @Semantics.quantity.unitOfMeasure: 'ProductionUnit'
      @DefaultAggregation: #SUM
      cast(head.OrderConfirmedScrapQty as co_iasmg preserving type)  as MfgOrderConfirmedScrapQty,
      @Semantics.quantity.unitOfMeasure: 'ProductionUnit'
      @DefaultAggregation: #SUM
      cast(head.MfgOrderConfirmedReworkQty as rmnga preserving type) as MfgOrderConfirmedReworkQty,
      @Semantics.quantity.unitOfMeasure: 'ProductionUnit'
      @DefaultAggregation: #SUM
      cast(head.TotalConfirmedQuantity as pph_tmnga)                 as MfgOrderConfirmedTotalQty,
      @Semantics.quantity.unitOfMeasure: 'ProductionUnit'
      @DefaultAggregation: #SUM
      cast(head.OrderPlannedTotalQty as gamng preserving type)       as MfgOrderPlannedTotalQty,
      @Semantics.quantity.unitOfMeasure: 'ProductionUnit'
      @DefaultAggregation: #SUM
      cast(head.OrderPlannedScrapQty as gasmg preserving type)       as MfgOrderPlannedScrapQty,

      // Planned Order data

      @ObjectModel.foreignKey.association: '_PlannedOrder'
      item.PlannedOrder,
      item.PlndOrderPlannedStartDate,
      item.PlannedOrderOpeningDate,
      @Semantics.unitOfMeasure: true
      item.BaseUnit,
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      @DefaultAggregation: #SUM
      item.OrderPlannedTotalQty as PlndOrderPlannedTotalQty,
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      @DefaultAggregation: #SUM
      item.OrderPlannedScrapQty as PlndOrderPlannedScrapQty,

      // Assignments FI/CO

      @ObjectModel.foreignKey.association: '_BusinessArea'
      item.BusinessArea,
      @ObjectModel.foreignKey.association: '_AccountAssignmentCategory'
      item.AccountAssignmentCategory,

      // Fashion Maufacturing Fields

      item.ProductSeasonYear    as ProductSeasonYear,
      item.ProductSeason        as ProductSeason,     
      item.ProductCollection    as ProductCollection, 
      item.ProductTheme         as ProductTheme,
      
      // Associations

      _MfgOrder,
      _MfgOrderCategory,
      _MfgOrderType,
      item._ProductionPlant,
      _ProductionSupervisor,
      _MRPController,
      item._MRPPlant,
      item._MRPArea,
      item._PlannedOrder,
      item._Material,
      item._Product,
      item._BaseUnit,
      item._ProductionUnit,
      item._ProductionVersion,
      head._Reservation,
      item._MatlProcurementCategory,
      item._MatlProcurementType,
      item._Batch,
      item._StorageLocation,
      item._InventorySpecialStockType,
      item._InventorySpecialStockValnType,
      item._InventoryValuationType,
      item._InventoryUsabilityCode,
      item._ConsumptionPosting,
      item._SalesOrder,
      item._SalesOrderItem,
      item._WBSElement,
      item._QuotaArrangement,
      item._QuotaArrangementItem,
      item._SettlementReservation,
      item._SettlementReservationItem,
      item._CoProductReservation,
      item._CoProductReservationItem,
      item._SerialNumberProfile,
      item._BusinessArea,
      item._AccountAssignmentCategory
}
where
  (   item.OrderCategory = '10'
   or item.OrderCategory = '40' ); //Manufacturing orders only

/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_LOGISTICSORDERBASIC",
"I_ORDERITEM"
],
"ASSOCIATED":
[
"I_ACCOUNTASSIGNMENTCATEGORY",
"I_BATCH",
"I_BUSINESSAREA",
"I_CONSUMPTIONPOSTING",
"I_INVENTORYSPECIALSTOCKTYPE",
"I_INVENTORYVALUATIONTYPE",
"I_INVTRYSPECIALSTOCKVALNTYPE",
"I_MATERIAL",
"I_MATLPROCUREMENTCATEGORY",
"I_MATLPROCUREMENTTYPE",
"I_MFGORDER",
"I_MFGORDERCATEGORY",
"I_MFGORDERTYPE",
"I_MRPAREA",
"I_MRPCONTROLLER",
"I_PLANNEDORDER",
"I_PLANT",
"I_PRODUCT",
"I_PRODUCTIONSUPERVISOR",
"I_PRODUCTIONVERSION",
"I_PURGQUOTAARRGMT",
"I_PURGQUOTAARRGMTITEM",
"I_RESERVATIONDOCUMENTHEADER",
"I_RESERVATIONDOCUMENTITEM",
"I_SALESORDER",
"I_SALESORDERITEM",
"I_SERIALNUMBERPROFILE",
"I_STOCKTYPE_2",
"I_STORAGELOCATION",
"I_UNITOFMEASURE",
"I_WBSELEMENTBYINTERNALKEY"
],
"BASE":
[
"I_LOGISTICSORDERBASIC",
"I_ORDERITEM"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/