I_MaintOrderOperationData

DDL: I_MAINTORDEROPERATIONDATA SQL: IPMORDOPERDATA Type: view COMPOSITE

Maintenance Order Operation Data

I_MaintOrderOperationData is a Composite CDS View (Fact) that provides data about "Maintenance Order Operation Data" in SAP S/4HANA. It reads from 1 data source (I_MaintOrderOperAndSubOper) and exposes 45 fields with key fields MaintenanceOrder, MaintOrderOperationCounter. It has 3 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_MaintOrderOperAndSubOper I_MaintOrderOperAndSubOper from

Associations (3)

CardinalityTargetAliasCondition
[0..1] I_LogisticsOrder _Order _Order.OrderID = $projection.MaintenanceOrder
[0..1] I_LocationAccountAssignment _LocationAccountAssignment $projection.maintobjectlocacctassgmtnmbr = _LocationAccountAssignment.MaintObjectLocAcctAssgmtNmbr
[0..1] I_Equipment _Equipment $projection.equipment = _Equipment.Equipment

Annotations (14)

NameValueLevelField
EndUserText.label Maintenance Order Operation Data view
VDM.viewType #COMPOSITE view
AccessControl.authorizationCheck #CHECK view
AbapCatalog.sqlViewName IPMORDOPERDATA view
ClientHandling.algorithm #SESSION_VARIABLE view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
VDM.lifecycle.status #DEPRECATED view
VDM.lifecycle.successor I_MaintOrderOperation_DEX view
Analytics.dataCategory #FACT view
Analytics.dataExtraction.enabled true view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
Metadata.ignorePropagatedAnnotations true view

Fields (45)

KeyFieldSource TableSource FieldDescription
KEY MaintenanceOrder MaintenanceOrder
KEY MaintOrderOperationCounter
MaintOrderRoutingNumber MaintOrderRoutingNumber
FunctionalLocation
Equipment _MaintenanceOrder Equipment
Assembly _MaintenanceOrder Assembly
MaintenanceActivityType _MaintenanceOrder MaintenanceActivityType
MaintenancePlannerGroup _MaintenanceOrder MaintenancePlannerGroup
MaintenancePlanningPlant _MaintenanceOrder MaintenancePlanningPlant
MaintenanceOrderType _MaintenanceOrder MaintenanceOrderType
MaintenancePlant _MaintenanceOrder MaintenancePlant
MaintObjectLocAcctAssgmtNmbr _MaintenanceOrder MaintObjectLocAcctAssgmtNmbr
MaintenanceOrderOperation MaintenanceOrderOperation
MaintenanceOrderSubOperation MaintenanceOrderSubOperation
OperationPersonResponsible OperationPersonResponsible
OperationControlKey OperationControlKey
OperationDescription OperationDescription
WorkCenter _WorkCenter WorkCenter
WorkCenterPlant Plant
OperationPlannedWork _OperationPlanningValues OperationPlannedWork
OperationPlannedWorkUnit _OperationPlanningValues OperationPlannedWorkUnit
ConfirmationTotalQuantity _OperationPlanningValues ConfirmationTotalQuantity
OperationQuantity _OperationPlanningValues OperationQuantity
OperationQuantityUnit _OperationPlanningValues OperationQuantityUnit
OperationAssembly Assembly
CostCtrActivityType CostCtrActivityType
CostElement CostElement
MaterialGroup MaterialGroup
OperationUnloadingPointName OperationUnloadingPointName
PurchaseRequisition PurchaseRequisition
IsDeleted
CreationDate
LastChangeDateTime _MaintenanceOrder LastChangeDateTime
MaintOrderConfirmation MaintOrderConfirmation
MaintOrderOperationInternalID MaintOrderOperationInternalID
SuperiorOperationInternalID SuperiorOperationInternalID
OperationWorkCenterInternalID OperationWorkCenterInternalID
OperationWorkCenterTypeCode OperationWorkCenterTypeCode
_PlannedWorkUnitOfMeasure _OperationPlanningValues _PlannedWorkUnitOfMeasure
_OperationQtyUnitOfMeasure _OperationPlanningValues _OperationQtyUnitOfMeasure
_MaintenanceOrder _MaintenanceOrder
_PersonResponsible _PersonResponsible
_Order _Order
_Equipment _Equipment
_LocationAccountAssignment _LocationAccountAssignment
@EndUserText.label: 'Maintenance Order Operation Data'
@VDM.viewType: #COMPOSITE
@AccessControl.authorizationCheck: #CHECK
@AbapCatalog.sqlViewName: 'IPMORDOPERDATA'
@ClientHandling.algorithm: #SESSION_VARIABLE

@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API
@VDM.lifecycle.status: #DEPRECATED
@VDM.lifecycle.successor: 'I_MaintOrderOperation_DEX'

@Analytics: {
  dataCategory: #FACT,
  dataExtraction: {
    enabled: true,
        delta.changeDataCapture: {
            mapping:[
  {
                    table: 'afvc', role: #MAIN,
                    viewElement: [ 'MaintOrderRoutingNumber', 'MaintOrderOperationCounter'],
                    tableElement: ['aufpl', 'aplzl']
                }
                ,
                {
                    table: 'afko', role:  #LEFT_OUTER_TO_ONE_JOIN,
                    viewElement: ['MaintenanceOrder'],
                    tableElement: ['aufnr']}               
                    ]

                 }
              }
          }


@ObjectModel: {
  usageType: {
    dataClass: #TRANSACTIONAL,
    serviceQuality: #C,
    sizeCategory: #XL
  }
}

@ObjectModel.supportedCapabilities:     [ #EXTRACTION_DATA_SOURCE ]

@Metadata.ignorePropagatedAnnotations: true

// A more comprehensive view for order (sub)operation data, created as a replacement for BW extractor 2LIS_17_I3OPER


define view I_MaintOrderOperationData
  as select from I_MaintOrderOperAndSubOper
  association [0..1] to I_LogisticsOrder              as _Order                      on  _Order.OrderID = $projection.MaintenanceOrder // AUFK (Order master data) and AFKO (Order Header data )

  association [0..1] to I_LocationAccountAssignment   as _LocationAccountAssignment  on  $projection.maintobjectlocacctassgmtnmbr = _LocationAccountAssignment.MaintObjectLocAcctAssgmtNmbr
  association [0..1] to I_Equipment                   as _Equipment                  on  $projection.equipment = _Equipment.Equipment
{
  key MaintenanceOrder,
  key cast( MaintOrderOperationCounter as operationinternalid preserving type )                                                                          as MaintOrderOperationCounter,

      // Order Header:

       MaintOrderRoutingNumber,
      _MaintenanceOrder._LocationAccountAssignment.FunctionalLocation,
      _MaintenanceOrder.Equipment,
      _MaintenanceOrder.Assembly,
      _MaintenanceOrder.MaintenanceActivityType,
      _MaintenanceOrder.MaintenancePlannerGroup,
      _MaintenanceOrder.MaintenancePlanningPlant,
      
      _MaintenanceOrder.MaintenanceOrderType,
      _MaintenanceOrder.MaintenancePlant,
      _MaintenanceOrder.MaintObjectLocAcctAssgmtNmbr,

      // Order Operation (MCVGIH)

      MaintenanceOrderOperation,
      MaintenanceOrderSubOperation,
      OperationPersonResponsible,
      OperationControlKey,
      OperationDescription,
      _WorkCenter.WorkCenter,
// note 3197880: WorkCenterPlant get it from operation (in case work center initial)  

//    _WorkCenter.Plant                                                                                                                                  as WorkCenterPlant,

      Plant                                                                                                                                              as WorkCenterPlant,
      @Semantics.quantity.unitOfMeasure: 'OperationPlannedWorkUnit'
      _OperationPlanningValues.OperationPlannedWork,
      @ObjectModel.foreignKey.association: '_PlannedWorkUnitOfMeasure'
      @Semantics.unitOfMeasure:true
      _OperationPlanningValues.OperationPlannedWorkUnit,
      @Semantics.quantity.unitOfMeasure: 'OperationPlannedWorkUnit'
      _OperationPlanningValues.ConfirmationTotalQuantity,
      @Semantics.quantity.unitOfMeasure: 'OperationQuantityUnit'
      _OperationPlanningValues.OperationQuantity,
      @ObjectModel.foreignKey.association: '_OperationQtyUnitOfMeasure'
      @Semantics.unitOfMeasure: true
      _OperationPlanningValues.OperationQuantityUnit,
      Assembly                                                                                                                                           as OperationAssembly,
      CostCtrActivityType,
      CostElement,
      MaterialGroup,
      OperationUnloadingPointName,
      PurchaseRequisition,

      cast( case when _StatusObjectActiveStatus[ StatusCode = 'I0013' ].StatusCode is not null then 'X' else ' ' end as eam_is_deleted preserving type ) as IsDeleted,

      @Semantics.systemDate.createdAt: true
      _MaintenanceOrder._Order.CreationDate,
      @Semantics.systemDateTime.lastChangedAt: true
      _MaintenanceOrder.LastChangeDateTime,

      MaintOrderConfirmation,
      MaintOrderOperationInternalID,
      SuperiorOperationInternalID,
      OperationWorkCenterInternalID,
      OperationWorkCenterTypeCode,

      /* Associations */
      //I_MaintOrderOperPlanningValues

      _OperationPlanningValues._PlannedWorkUnitOfMeasure,
      _OperationPlanningValues._OperationQtyUnitOfMeasure,

      // For DCL:

      _MaintenanceOrder,
      _PersonResponsible,
      _Order,
      _Equipment,
      _LocationAccountAssignment
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_LOCATIONACCOUNTASSIGNMENT",
"I_LOGISTICSORDER",
"I_MAINTENANCEORDER",
"I_MAINTORDEROPERANDSUBOPER",
"I_MAINTORDEROPERPLANNINGVALUES",
"I_STATUSOBJECTACTIVESTATUS",
"I_WORKCENTER"
],
"ASSOCIATED":
[
"I_EQUIPMENT",
"I_LOCATIONACCOUNTASSIGNMENT",
"I_LOGISTICSORDER",
"I_MAINTENANCEORDER",
"I_UNITOFMEASURE",
"I_WORKFORCEPERSON"
],
"BASE":
[
"I_MAINTORDEROPERANDSUBOPER",
"I_MAINTORDEROPERPLANNINGVALUES"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/