P_MANAGEOPERATIONS

CDS View

Production Operations

P_MANAGEOPERATIONS is a CDS View in S/4HANA. Production Operations. It contains 52 fields. 2 CDS views read from this table.

CDS Views using this table (2)

ViewTypeJoinVDMDescription
C_OrderOperationSchedule view_entity from CONSUMPTION Order Operation Schedule
C_OrderWorkCenterSchedule view_entity from CONSUMPTION Order Operation Work Center Schedule

Fields (52)

KeyField CDS FieldsUsed in Views
KEY OrderIntBillOfOperationsItem OrderIntBillOfOperationsItem 1
KEY OrderInternalBillOfOperations OrderInternalBillOfOperations 1
_MfgOrder _MfgOrder 1
_OperationUnit _OperationUnit 1
_ProductionPlant _ProductionPlant 1
_WorkCenter _WorkCenter 1
_WorkCenterBySemanticKey _WorkCenterBySemanticKey 1
BillOfOperationsType BillOfOperationsType 1
BillOfOperationsVersion BillOfOperationsVersion 1
GoodsRecipientName GoodsRecipientName 1
ManufacturingObject ManufacturingObject 1
ManufacturingOrderCategory ManufacturingOrderCategory 1
ManufacturingOrderOperation ManufacturingOrderOperation 1
ManufacturingOrderSequence ManufacturingOrderSequence 1
ManufacturingOrderSubOperation ManufacturingOrderSubOperation 1
ManufacturingOrderType ManufacturingOrderType 1
MfgOrderOperationOrigin MfgOrderOperationOrigin 1
MfgOrderOperationText MfgOrderOperationText 1
MRPController MRPController 1
MRPControllerName MRPControllerName 1
OpActualExecutionEndDate OpActualExecutionEndDate 1
OpActualExecutionEndTime OpActualExecutionEndTime 1
OpActualExecutionStartDate OpActualExecutionStartDate 1
OpActualExecutionStartTime OpActualExecutionStartTime 1
OperationConfirmedReworkQty OperationConfirmedReworkQty 1
OperationControlProfile OperationControlProfile 1
OperationIsClosed OperationIsClosed 1
OperationIsConfirmed OperationIsConfirmed 1
OperationIsCreated OperationIsCreated 1
OperationIsDeleted OperationIsDeleted 1
OperationIsDelivered OperationIsDelivered 1
OperationIsPartiallyConfirmed OperationIsPartiallyConfirmed 1
OperationIsPartiallyDelivered OperationIsPartiallyDelivered 1
OperationIsPrinted OperationIsPrinted 1
OperationIsReleased OperationIsReleased 1
OperationIsScheduled OperationIsScheduled 1
OperationIsTechlyCompleted OperationIsTechlyCompleted 1
OperationReferenceQuantity OperationReferenceQuantity 1
OpLtstSchedldExecEndDte OpLtstSchedldExecEndDte 1
OpLtstSchedldExecEndTme OpLtstSchedldExecEndTme 1
OpLtstSchedldExecStrtDte OpLtstSchedldExecStrtDte 1
OpLtstSchedldExecStrtTme OpLtstSchedldExecStrtTme 1
OpPlannedScrapQuantity OpPlannedScrapQuantity 1
OpPlannedTotalQuantity OpPlannedTotalQuantity 1
OpTotalConfirmedScrapQty OpTotalConfirmedScrapQty 1
OpTotalConfirmedYieldQty OpTotalConfirmedYieldQty 1
ProductionPlant ProductionPlant 1
ProductionSupervisor ProductionSupervisor 1
UnloadingPointName UnloadingPointName 1
WorkCenter WorkCenter 1
WorkCenterInternalID WorkCenterInternalID 1
WorkCenterTypeCode WorkCenterTypeCode 1
@AccessControl.authorizationCheck: #NOT_REQUIRED
//@AccessControl.privilegedAssociations: ['_Extension']   shall not be privileged

//@Search.searchable: true

@ObjectModel.usageType: {serviceQuality: #D, sizeCategory: #XL, dataClass: #MIXED}
@VDM.viewType: #TRANSACTIONAL
@EndUserText.label: 'Production Operations'
@VDM.private:true
// Used only for our internal apps in supervisor apps. Not suitable for re use of this object.

define view entity P_ManageOperations
  as select from I_MfgOrderOperationDelay as _OrderOperation
//    inner join P_MfgOperListDistinct as _AORListDistinct on  _AORListDistinct.OrderInternalID = _OrderOperation.OrderInternalBillOfOperations

//                                                                                and _AORListDistinct.OrderOperationInternalID  = _OrderOperation.OrderIntBillOfOperationsItem

  association [0..1] to I_ProductionRoutingVersion as _ProductionRoutingVersion on  $projection.BillOfOperationsType    = _ProductionRoutingVersion.BillOfOperationsType
                                                                                and $projection.BillOfOperationsGroup   = _ProductionRoutingVersion.BillOfOperationsGroup
                                                                                and $projection.BillOfOperationsVariant = _ProductionRoutingVersion.BillOfOperationsVariant
                                                                                and $projection.BillOfOperationsVersion = _ProductionRoutingVersion.BillOfOperationsVersion
//  association [1..1] to I_MfgOrder                 as _MfgOrderBasic            on  _MfgOrderBasic.ManufacturingOrderCategory = '10'

//                                                                                and $projection.OrderInternalBillOfOperations = _MfgOrderBasic.OrderInternalBillOfOperations

  association [1..1] to E_OrderOperation           as _Extension                on  $projection.OrderInternalBillOfOperations = _Extension.OrderInternalID
                                                                                and $projection.OrderIntBillOfOperationsItem  = _Extension.OrderOperationInternalID
  
  association [1..1] to I_OrderOperationBasic as afvc on  afvc.OrderInternalID = $projection.OrderInternalBillOfOperations   //sub-operation handling

                                                         and afvc.OrderOperationInternalID = $projection.SuperiorOperationInternalID
  association [1..1] to I_OrderOperationBasic as afvg on  afvg.OrderInternalID = $projection.OrderInternalBillOfOperations 
                                                         and afvg.OrderOperationInternalID = $projection.OrderIntBillOfOperationsItem
{

      @UI.hidden : true
  key OrderInternalBillOfOperations,
      @UI.hidden : true
  key OrderIntBillOfOperationsItem,

//      @ObjectModel.foreignKey.association: '_MfgOrderBasic'

//      @Search: {defaultSearchElement: true, ranking: #MEDIUM, fuzzinessThreshold: 0.8}

      cast(ManufacturingOrder as aufnr preserving type)                                        as  ManufacturingOrder,
      @ObjectModel.text.element: ['MfgOrderOperationText']
      case
        when _OrderOperation.SuperiorOperationInternalID > '00000000' then
          cast(afvc.Operation as vdm_vornr preserving type)  //superior operation ID

        else
          cast(afvg.Operation as vdm_vornr preserving type)
      end                                                                 as ManufacturingOrderOperation,
//      cast(ManufacturingOrderOperation as vdm_vornr preserving type) as ManufacturingOrderOperation,


      @UI.hidden : true
//      @Search: {defaultSearchElement: true, ranking: #MEDIUM, fuzzinessThreshold: 0.8}

      MfgOrderOperationText,
      
      @UI.hidden: true
      cast (case _MfgOrder.SerialNumberAssgmtProfile when '' then '' else 'X' end as boolean preserving type )             as  SerialNmbrAssgmtProfileIsAssgd,

//      @UI.hidden : true

      case
        when _OrderOperation.SuperiorOperationInternalID > '00000000' then
          cast(afvg.Operation as vdm_uvorn preserving type)
      end                                                                 as ManufacturingOrderSubOperation,
//      cast(ManufacturingOrderSubOperation as vdm_uvorn preserving type) as ManufacturingOrderSubOperation,

      
      @UI.hidden : true
//      @Search: {defaultSearchElement: true, ranking: #MEDIUM, fuzzinessThreshold: 0.8}

      _MfgOrder._Material._Text[1: Language=$session.system_language].MaterialName,
      
      _MfgOrder.Material,
      _MfgOrder.Batch,
      
      _MfgOrder.SalesOrder,
      _MfgOrder.SalesOrderItem,
      
      
      @ObjectModel.text.element: ['ProdnProcgFlexibilityIndName']
      @UI.textArrangement: #TEXT_ONLY
      cast(_MfgOrder.ProdnProcgIsFlexible  as mpe_procg_flexibility_ind preserving type)                                   as  ProdnProcgIsFlexible,
      
      @UI.hidden : true
      @Semantics.text: true
      _MfgOrder._ProdnProcgFlexibilityIndTxt[1: Language=$session.system_language].ProdnProcgFlexibilityIndName,

      ManufacturingOrderSequence,

      //      @ObjectModel.text.element: 'ProductionPlantName'

      @ObjectModel.foreignKey.association: '_ProductionPlant'
      ProductionPlant,

      @UI.hidden : true
//      @Search: {defaultSearchElement: true, ranking: #MEDIUM, fuzzinessThreshold: 0.8}

      WorkCenterInternalID,

      @ObjectModel.foreignKey.association: '_WorkCenterBySemanticKey'
//      @Search: {defaultSearchElement: true, ranking: #MEDIUM, fuzzinessThreshold: 0.8}

      //      @EndUserText.quickInfo: 'Manufacturing Operation Work center'

      WorkCenter,

      @UI.hidden : true
      WorkCenterTypeCode,

      ManufacturingOrderCategory,

      ManufacturingOrderType,

      ProductionSupervisor,

      //       @EndUserText.quickInfo: 'Manufacturing Operation MRP Controller'

      MRPController,
      //      @EndUserText.quickInfo: 'Manufacturing Operation MRP Controller Name'

      _MRPController.MRPControllerName,
      @UI.hidden : true
      NumberOfConfirmationSlips,
      @UI.hidden : true
      OperationImportance,

      @UI.hidden : true
      NumberOfTimeTickets,

      //@UI.hidden: true

      //Cast done to preserve text from data element

      cast(OperationControlProfile as steus preserving type) as OperationControlProfile,

      //Status

      @UI.hidden: true
      OperationIsClosed,
      @UI.hidden: true
      OperationIsTechlyCompleted,
      @UI.hidden: true
      OperationIsDelivered,
      @UI.hidden: true
      OperationIsPartiallyDelivered,
      @UI.hidden: true
      OperationIsPartiallyConfirmed,
      @UI.hidden: true
      OperationIsPrinted,
      @UI.hidden: true
      OperationIsReleased,
      @UI.hidden: true
      OperationIsCreated,
      @UI.hidden: true
      OperationIsScheduled,
      @UI.hidden: true
      OperationIsConfirmed,
      @UI.hidden: true
      OperationIsDeleted,


      _OrderOperation.SuperiorOperationInternalID,
      //Quantities and Unit

      @Semantics.quantity.unitOfMeasure: 'OperationUnit'
      OpPlannedTotalQuantity,
      @Semantics.quantity.unitOfMeasure: 'OperationUnit'
      OpTotalConfirmedYieldQty,
      OperationReferenceQuantity,
      OpPlannedScrapQuantity,
      OperationConfirmedReworkQty,
      OpTotalConfirmedScrapQty,

//      @Semantics.unitOfMeasure: true

//      @Search: {defaultSearchElement: true, ranking: #MEDIUM, fuzzinessThreshold: 0.8}

      @ObjectModel.foreignKey.association: '_OperationUnit'
      OperationUnit,

      //External Processing

      _OrderOperation.GoodsRecipientName,
      _OrderOperation.UnloadingPointName,

      //Dates

      OpLtstSchedldExecStrtDte,
      @UI.hidden: true
      OpLtstSchedldExecStrtTme,
      OpLtstSchedldExecEndDte,
      @UI.hidden: true
      OpLtstSchedldExecEndTme,
      OpActualExecutionStartDate,
      @UI.hidden: true
      OpActualExecutionStartTime,
      OpActualExecutionEndDate,
      @UI.hidden: true
      OpActualExecutionEndTime,

      //Delay & Delay Calculation

      @UI.hidden: true
      OperationExecutionEndIsLate,
      @UI.hidden: true
      OperationExecutionStartIsLate,
      @UI.hidden: true
      OperationYieldDeviationQty,
      @UI.hidden: true
      PlannedCurrentStrtDateDvtnDurn,
      @UI.hidden: true
      PlannedActualStartDateDvtnDurn,
      @UI.hidden: true
      PlannedCurrentEndDateDvtnDurn,
      @UI.hidden: true
      PlannedActualEndDateDvtnDurn,
      @UI.hidden: true
      case  OperationExecutionStartIsLate
         when 'X' then
         case when (OperationIsPartiallyConfirmed = ' ' and OperationIsReleased = 'X'  and OperationIsConfirmed = '' and (PlannedCurrentStrtDateDvtnDurn > 0 ))
         then (cast(PlannedCurrentStrtDateDvtnDurn as abap.fltp) / 3600.00)
         else (cast(PlannedActualStartDateDvtnDurn as abap.fltp) / 3600.00)
         end
         else 0
      end                                                                                      as  ExecutionStartLatenessInHours,
      @UI.hidden: true
      case OperationExecutionEndIsLate
       when 'X' then
           case when (OperationIsConfirmed = ' ' and OperationIsPartiallyConfirmed = 'X' and OperationIsConfirmed = '' and (PlannedCurrentEndDateDvtnDurn > 0  ) )
           then (cast(PlannedCurrentEndDateDvtnDurn as abap.fltp) / 3600.00)
           else (cast(PlannedActualEndDateDvtnDurn as abap.fltp) / 3600.00)
            end
       else 0
      end                                                                                      as  ExecutionEndLatenessInHours,
      @UI.hidden: true
      case  OperationExecutionStartIsLate
         when 'X' then
         case when (OperationIsPartiallyConfirmed = ' ' and OperationIsReleased = 'X'  and OperationIsConfirmed = '' and (PlannedCurrentStrtDateDvtnDurn > 0 ))
         then (cast(PlannedCurrentStrtDateDvtnDurn as abap.fltp) / 60.00)
         else (cast(PlannedActualStartDateDvtnDurn as abap.fltp) / 60.00)
         end
         else 0
      end                                                                                      as  ExecutionStartLatenessInMins,
      @UI.hidden: true
      case OperationExecutionEndIsLate
       when 'X' then
           case when (OperationIsConfirmed = ' ' and OperationIsPartiallyConfirmed = 'X' and OperationIsConfirmed = '' and (PlannedCurrentEndDateDvtnDurn > 0  ) )
           then (cast(PlannedCurrentEndDateDvtnDurn as abap.fltp) / 60.00)
           else (cast(PlannedActualEndDateDvtnDurn as abap.fltp) / 60.00)
            end
       else 0
      end                                                                                      as  ExecutionEndLatenessInMinutes,
      @UI.hidden: true
      cast(PlannedCurrentStrtDateDvtnDurn as abap.fltp)/ 86400.00                              as  OperationStartDeviationDays,
      @UI.hidden: true
      cast(PlannedCurrentEndDateDvtnDurn as abap.fltp)/ 86400.00                               as  PlannedEndDateDvtnInDays,
      ProductConfiguration,

      BillOfOperationsType,
      BillOfOperationsGroup,
      BillOfOperationsVariant,
      BillOfOperationsVersion,
      cast(case
        when _ProductionRoutingVersion.OrderID <> '' then 'O'
        when _ProductionRoutingVersion.RoutingIsReworkRouting <> '' then 'R'
        else 'V'
      end as mpe_op_rtg_origin preserving type)                                                as  MfgOrderOperationOrigin,

      @UI.hidden: true
      SetupOpActyNtwkInstance,
      @UI.hidden: true
      ProduceOpActyNtwkInstance,
      @UI.hidden: true
      TeardownOpActyNtwkInstance,
      
      @UI.hidden: true
      _MfgOrder.ManufacturingObject,
      
      @UI.hidden : true
      case _MfgOrder._InspectionLot.InspectionLotType
      when '03'
      then _MfgOrder.InspectionLot
      end          as  InspectionLot,
      
       @UI.hidden: true
      _MfgOrder.EffectivityParameterVariant,
      _MfgOrder._BillOfOperations._BillOfOperationsVersionType.BOOVersionChangeRecordIsRqd,

      // Fashion Manufacturing Fields

      @UI.hidden : true            
      _MfgOrder.MasterProductionOrder,
      _MfgOrder.ProductSeasonYear,
      _MfgOrder.ProductSeason,
      _MfgOrder.ProductCollection,
      _MfgOrder.ProductTheme,
      // Segmentation

      _MfgOrder.StockSegment,
      _MfgOrder.Reservation,
            
      //associations

//      @UI.selectionField.exclude: true

      _MfgOrder as _MfgOrder,
      @UI.selectionField: [{exclude: true}]
      _WorkCenterBySemanticKey,
      @UI.selectionField: [{exclude: true}]
      _ProductionPlant,
      @UI.selectionField: [{exclude: true}]
      _OperationUnit,
      @UI.selectionField: [{exclude: true}]
      _MfgOrder._Material,
      //Associations

      _OrdInternalBillOfOperations,
      //      _MfgOrder,

      _MfgOrderSequence,
      _MfgOrderCategory,
      _MfgOrderType,
      //      _OperationStandardTextCode,

      _ProductionSupervisor,
      //      _ProductionUnit,

      //      _OperationUnit,

      //      _OperationControlProfile,

      //      _BillOfOperationsType,

      //      _BillOfOperationsApplication,

      _WorkCenter,
      _WorkCenterType,
      //      _WorkCenterBySemanticKey,

      _MRPController
      //      _ResponsiblePlannerGroup,

      //      _CapacityRequirement,

      //      _CapacityRequirementItem,

      //      _OperationConfirmation,

      //      _PurchasingOrganization,

      //      _PurchasingGroup,

      //      _PurchaseOrder,

      //      _PurchaseOrderItem,

      //      _PurchaseRequisition,

      //      _PurchaseRequisitionItem,

      //      _PurchasingInfoRecord,

      //      _Supplier,

      //      _OpExternalProcessingCurrency,

      //      _EmployeeWageGroup,

      //      _EmployeeSuitability,

      //      _Employee,

      //      _CompanyCode,

      //      _ProfitCenter,

      //      _ControllingArea,

      //      _ControllingObjectClass,

      //      _FunctionalArea,

      //      _BusinessArea,

      //      _BusinessProcess,

      //      _BusinessProcessEntryUnit,

      //      _OperationSetupGroupCategory,

      //      _OperationSetupGroup,

      //      _OperationSetupType,

      //      _LeadTimeReductionStrategy,

      //      _Language,

      //      _StartDate


}

where
  ManufacturingOrderCategory = '10'