I_MaintenanceOrderSubOperation

DDL: I_MAINTENANCEORDERSUBOPERATION SQL: IMAINTORDSOP Type: view BASIC Package: IWO1

Maintenance Order Sub-Operation

I_MaintenanceOrderSubOperation is a Basic CDS View that provides data about "Maintenance Order Sub-Operation" in SAP S/4HANA. It reads from 3 data sources (afko, afvc, afvc) and exposes 72 fields with key fields MaintenanceOrder, MaintenanceOrderOperation, MaintenanceOrderSubOperation. It has 24 associations to related views. Part of development package IWO1.

Data Sources (3)

SourceAliasJoin Type
afko afko inner
afvc afvc from
afvc afvc_superior inner

Associations (24)

CardinalityTargetAliasCondition
[1..1] I_MaintOrderOperPlanningValues _OperationPlanningValues $projection.MaintOrderRoutingNumber = _OperationPlanningValues.MaintOrderRoutingNumber and $projection.MaintOrderOperationCounter = _OperationPlanningValues.MaintOrderOperationCounter
[0..1] I_MaintenanceOrderOperation _MaintenanceOrderOperation $projection.MaintenanceOrder = _MaintenanceOrderOperation.MaintenanceOrder and $projection.MaintenanceOrderOperation = _MaintenanceOrderOperation.MaintenanceOrderOperation
[0..1] I_MaintenanceOrder _MaintenanceOrder $projection.MaintenanceOrder = _MaintenanceOrder.MaintenanceOrder
[0..*] I_MaintenanceOrderComponent_2 _MaintenanceOrderComponent $projection.MaintenanceOrder = _MaintenanceOrderComponent.MaintenanceOrder and $projection.MaintenanceOrderOperation = _MaintenanceOrderComponent.MaintenanceOrderOperation
[0..1] I_WorkCenter _WorkCenter $projection.OperationWorkCenterInternalID = _WorkCenter.WorkCenterInternalID and $projection.OperationWorkCenterTypeCode = _WorkCenter.WorkCenterTypeCode
[0..1] I_Currency _OpExternalProcessingCurrency $projection.OpExternalProcessingCurrency = _OpExternalProcessingCurrency.Currency
[0..1] I_StatusObject _StatusObject $projection.MaintOrderOperationInternalID = _StatusObject.StatusObject
[0..1] I_OperationControlProfile _OperationControlKey $projection.OperationControlKey = _OperationControlKey.OperationControlProfile
[0..1] I_MaintOperationSystCondition _OperationSystemCondition $projection.OperationSystemCondition = _OperationSystemCondition.OperationSystemCondition
[0..1] I_Plant _Plant $projection.Plant = _Plant.Plant
[0..1] I_OperationCalculationControl _OperationCalculationControl $projection.OperationCalculationControl = _OperationCalculationControl.OperationCalculationControl
[0..1] I_Material _Assembly $projection.Assembly = _Assembly.Material
[0..1] I_Language _Language $projection.Language = _Language.Language
[0..1] I_Indicator _OperationHasLongText $projection.OperationHasLongText = _OperationHasLongText.IndicatorValue
[0..1] I_Supplier _Supplier $projection.OperationSupplier = _Supplier.Supplier
[0..1] I_PersonWorkAgreement_1 _PersonResponsible $projection.OperationPersonResponsible = _PersonResponsible.PersonWorkAgreement
[0..1] I_Equipment _Equipment $projection.Equipment = _Equipment.Equipment
[0..1] I_FunctionalLocation _FunctionalLocation $projection.FunctionalLocation = _FunctionalLocation.FunctionalLocation
[0..1] I_MaintenanceOrderConfirmation _MaintenanceOrderConf $projection.MaintOrderConfirmation = _MaintenanceOrderConf.MaintOrderConf and $projection.MaintOrderConfCntrValue = _MaintenanceOrderConf.MaintOrderConfCntrValue
[0..1] I_PMContactCardEmployee _PMContactEmployee $projection.OperationPersonResponsible = _PMContactEmployee.PersonnelNumber
[0..1] I_WorkAssignment _WorkAssignment $projection.OperationPersonResponsible = _WorkAssignment.WorkAssignment
[1..1] I_MaintOperationExecStageCode _MaintOperationExecStageCode $projection.MaintOperationExecStageCode = _MaintOperationExecStageCode.MaintOperationExecStageCode
[0..1] I_EAMProcessPhase _EAMProcessPhase $projection.MaintOrdOpProcessPhaseCode = _EAMProcessPhase.EAMProcessPhaseCode
[0..1] I_EAMProcessSubPhase _EAMProcessSubPhase $projection.MaintOrdOpProcessSubPhaseCode = _EAMProcessSubPhase.EAMProcessSubPhaseCode

Annotations (10)

NameValueLevelField
AbapCatalog.sqlViewName IMAINTORDSOP view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Maintenance Order Sub-Operation view
VDM.viewType #BASIC view
ObjectModel.representativeKey MaintenanceOrderSubOperation view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #A view
ObjectModel.usageType.sizeCategory #XL view

Fields (72)

KeyFieldSource TableSource FieldDescription
KEY MaintenanceOrder afko aufnr
KEY MaintenanceOrderOperation afvc vornr Operation
KEY MaintenanceOrderSubOperation afvc vornr Suboperation
MaintOrderRoutingNumber afvc aufpl
MaintOrderOperationCounter afvc aplzl
SuperiorOrderIntBillOfOpItem afvc sumnr
OperationControlKey afvc steus
OperationDescription afvc ltxa1
Equipment afvc equnr
FunctionalLocation afvc tplnr
Plant afvc werks
OperationWorkCenterTypeCode
OperationWorkCenterInternalID afvc arbid
OperationPersonResponsible afvc pernr
NumberOfCapacities afvc anzzl
OperationPurgInfoRecdSearchTxt afvc sortl
OperationRequisitionerName afvc afnam
OperationGoodsRecipientName afvc wempf
OpExternalProcessingPrice afvc preis
OpExternalProcessingPriceUnit afvc peinh
OpExternalProcessingCurrency afvc waers
OperationTrackingNumber afvc bednr
OperationPurchasingInfoRecord afvc infnr
OperationUnloadingPointName afvc ablad
OpPurchaseOutlineAgreement
OpPurchaseOutlineAgreementItem
OperationSupplier afvc lifnr
Assembly afvc istru
OperationSystemCondition afvc anlzu
CostCtrActivityType afvc larnt
ReqgCostCenterControllingArea afvc anfkokrs
OperationCalculationControl afvc indet
OperationWorkPercent afvc prznt
CapacityRequirement afvc bedid
CapacityRequirementItem afvc bedzl
PurchaseRequisition afvc banfn
MaintOrderOperationInternalID afvc objnr
PurchaseRequisitionItem afvc bnfpo
MaterialGroup afvc matkl
CostElement afvc sakto
ExtProcgOperationHasSubcontrg afvc frdlb
PurchasingOrganization afvc ekorg
PurchasingGroup afvc ekgrp
rueckasMaintOrderConfirmation
MaintOrderConfCntrValue afvc rmzhl
MaintOrdOpProcessPhaseCode afvc maintordopprocessphasecode
MaintOrdOpProcessSubPhaseCode afvc maintordopprocesssubphasecode
MaintOperationExecStageCode
Language
_MaintenanceOrder _MaintenanceOrder
_MaintenanceOrderOperation _MaintenanceOrderOperation
_StatusObject _StatusObject
_OpExternalProcessingCurrency _OpExternalProcessingCurrency
_OperationPlanningValues _OperationPlanningValues
_WorkCenter _WorkCenter
_OperationControlKey _OperationControlKey
_OperationSystemCondition _OperationSystemCondition
_Plant _Plant
_OperationCalculationControl _OperationCalculationControl
_Assembly _Assembly
_Language _Language
_OperationHasLongText _OperationHasLongText
_Supplier _Supplier
_PersonResponsible _PersonResponsible
_Equipment _Equipment
_FunctionalLocation _FunctionalLocation
_MaintenanceOrderConf _MaintenanceOrderConf
_PMContactEmployee _PMContactEmployee
_WorkAssignment _WorkAssignment
_MaintOperationExecStageCode _MaintOperationExecStageCode
_EAMProcessPhase _EAMProcessPhase
_EAMProcessSubPhase _EAMProcessSubPhase
@AbapCatalog.sqlViewName: 'IMAINTORDSOP'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Maintenance Order Sub-Operation'
@VDM.viewType: #BASIC

@ObjectModel.representativeKey: 'MaintenanceOrderSubOperation'
@ObjectModel.semanticKey:  [ 'MaintenanceOrder', 'MaintenanceOrderOperation', 'MaintenanceOrderSubOperation' ]

@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@ObjectModel.usageType.serviceQuality: #A
@ObjectModel.usageType.sizeCategory: #XL

define view I_MaintenanceOrderSubOperation
  as select from afvc
    inner join   afvc as afvc_superior on  afvc.aufpl = afvc_superior.aufpl
                                       and afvc.sumnr = afvc_superior.aplzl
    inner join   afko as afko          on  afvc.aufpl = afko.aufpl
                                       and afko.plnaw = 'I'
  association [1..1] to I_MaintOrderOperPlanningValues as _OperationPlanningValues      on  $projection.MaintOrderRoutingNumber    = _OperationPlanningValues.MaintOrderRoutingNumber
                                                                                        and $projection.MaintOrderOperationCounter = _OperationPlanningValues.MaintOrderOperationCounter
  association [0..1] to I_MaintenanceOrderOperation    as _MaintenanceOrderOperation    on  $projection.MaintenanceOrder          = _MaintenanceOrderOperation.MaintenanceOrder
                                                                                        and $projection.MaintenanceOrderOperation = _MaintenanceOrderOperation.MaintenanceOrderOperation
  association [0..1] to I_MaintenanceOrder             as _MaintenanceOrder             on  $projection.MaintenanceOrder = _MaintenanceOrder.MaintenanceOrder
  association [0..*] to I_MaintenanceOrderComponent_2  as _MaintenanceOrderComponent    on  $projection.MaintenanceOrder          = _MaintenanceOrderComponent.MaintenanceOrder
                                                                                        and $projection.MaintenanceOrderOperation = _MaintenanceOrderComponent.MaintenanceOrderOperation

  association [0..1] to I_WorkCenter                   as _WorkCenter                   on  $projection.OperationWorkCenterInternalID = _WorkCenter.WorkCenterInternalID
                                                                                        and $projection.OperationWorkCenterTypeCode   = _WorkCenter.WorkCenterTypeCode
  association [0..1] to I_Currency                     as _OpExternalProcessingCurrency on  $projection.OpExternalProcessingCurrency = _OpExternalProcessingCurrency.Currency
  association [0..1] to I_StatusObject                 as _StatusObject                 on  $projection.MaintOrderOperationInternalID = _StatusObject.StatusObject
  association [0..1] to I_OperationControlProfile      as _OperationControlKey          on  $projection.OperationControlKey = _OperationControlKey.OperationControlProfile
  association [0..1] to I_MaintOperationSystCondition  as _OperationSystemCondition     on  $projection.OperationSystemCondition = _OperationSystemCondition.OperationSystemCondition
  association [0..1] to I_Plant                        as _Plant                        on  $projection.Plant = _Plant.Plant
  association [0..1] to I_OperationCalculationControl  as _OperationCalculationControl  on  $projection.OperationCalculationControl = _OperationCalculationControl.OperationCalculationControl
  association [0..1] to I_Material                     as _Assembly                     on  $projection.Assembly = _Assembly.Material
  association [0..1] to I_Language                     as _Language                     on  $projection.Language = _Language.Language
  association [0..1] to I_Indicator                    as _OperationHasLongText         on  $projection.OperationHasLongText = _OperationHasLongText.IndicatorValue
  association [0..1] to I_Supplier                     as _Supplier                     on  $projection.OperationSupplier = _Supplier.Supplier
  association [0..1] to I_PersonWorkAgreement_1        as _PersonResponsible            on  $projection.OperationPersonResponsible = _PersonResponsible.PersonWorkAgreement
  association [0..1] to I_Equipment                    as _Equipment                    on  $projection.Equipment = _Equipment.Equipment
  association [0..1] to I_FunctionalLocation           as _FunctionalLocation           on  $projection.FunctionalLocation = _FunctionalLocation.FunctionalLocation
  association [0..1] to I_MaintenanceOrderConfirmation as _MaintenanceOrderConf         on  $projection.MaintOrderConfirmation  = _MaintenanceOrderConf.MaintOrderConf
                                                                                        and $projection.MaintOrderConfCntrValue = _MaintenanceOrderConf.MaintOrderConfCntrValue
  association [0..1] to I_PMContactCardEmployee        as _PMContactEmployee            on  $projection.OperationPersonResponsible = _PMContactEmployee.PersonnelNumber
  association [0..1] to I_WorkAssignment               as _WorkAssignment               on  $projection.OperationPersonResponsible = _WorkAssignment.WorkAssignment
  association [1..1] to I_MaintOperationExecStageCode  as _MaintOperationExecStageCode  on  $projection.MaintOperationExecStageCode = _MaintOperationExecStageCode.MaintOperationExecStageCode

  association [0..1] to I_EAMProcessPhase              as _EAMProcessPhase              on  $projection.MaintOrdOpProcessPhaseCode = _EAMProcessPhase.EAMProcessPhaseCode
  association [0..1] to I_EAMProcessSubPhase           as _EAMProcessSubPhase           on  $projection.MaintOrdOpProcessSubPhaseCode = _EAMProcessSubPhase.EAMProcessSubPhaseCode

{
      //--[ GENERATED:012:GFBfhxvv7kY4nH9{xKJeWG

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_MaintenanceOrderStdVH',
                     element: 'MaintenanceOrder' }
        }]
      // ]--GENERATED

      @ObjectModel.foreignKey.association: '_MaintenanceOrder'
  key afko.aufnr                                                                    as MaintenanceOrder,
      //--[ GENERATED:012:GFBfhxvv7kY4nH9{xKJeWG

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_MaintOrdOpStdVH',
                     element: 'MaintenanceOrderOperation' },
          additionalBinding: [{ localElement: 'MaintenanceOrder',
                                element: 'MaintenanceOrder' }]
        }]
      // ]--GENERATED

      @ObjectModel.foreignKey.association: '_MaintenanceOrderOperation'
      @EndUserText.label: 'Operation'
  key afvc_superior.vornr                                                           as MaintenanceOrderOperation,
      @EndUserText.label: 'Suboperation'
  key afvc.vornr                                                                    as MaintenanceOrderSubOperation,

      afvc.aufpl                                                                    as MaintOrderRoutingNumber,
      afvc.aplzl                                                                    as MaintOrderOperationCounter,
      afvc.sumnr                                                                    as SuperiorOrderIntBillOfOpItem,

      @ObjectModel.foreignKey.association: '_OperationControlKey'
      afvc.steus                                                                    as OperationControlKey,
      afvc.ltxa1                                                                    as OperationDescription,

      // 'Inspection Rounds'-related fields

      afvc.equnr                                                                    as Equipment,
      afvc.tplnr                                                                    as FunctionalLocation, // <-- This is in internal labelling!


      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_PlantStdVH',
                     element: 'Plant' }
        }]
      @ObjectModel.foreignKey.association: '_Plant'
      afvc.werks                                                                    as Plant,
      'A'                                                                           as OperationWorkCenterTypeCode,
      afvc.arbid                                                                    as OperationWorkCenterInternalID,
      //--[ GENERATED:012:GFBfhxvv7kY4nH9{xKJeWG

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_PersWrkAgrmtSrchHelp',
                     element: 'PersonWorkAgreement' }
        }]
      // ]--GENERATED

      @ObjectModel.foreignKey.association: '_PersonResponsible'
      afvc.pernr                                                                    as OperationPersonResponsible,

      @DefaultAggregation: #NONE
      afvc.anzzl                                                                    as NumberOfCapacities,

      afvc.sortl                                                                    as OperationPurgInfoRecdSearchTxt,
      afvc.afnam                                                                    as OperationRequisitionerName,
      afvc.wempf                                                                    as OperationGoodsRecipientName,

      @Semantics.amount.currencyCode: 'OpExternalProcessingCurrency'
      @DefaultAggregation: #NONE
      afvc.preis                                                                    as OpExternalProcessingPrice,
      afvc.peinh                                                                    as OpExternalProcessingPriceUnit,
      @ObjectModel.foreignKey.association: '_OpExternalProcessingCurrency'
      @Semantics.currencyCode: true
      afvc.waers                                                                    as OpExternalProcessingCurrency,
      afvc.bednr                                                                    as OperationTrackingNumber,
      afvc.infnr                                                                    as OperationPurchasingInfoRecord,
      afvc.ablad                                                                    as OperationUnloadingPointName,
      cast (afvc.ebeln as konnr)                                                    as OpPurchaseOutlineAgreement,
      cast (afvc.ebelp as ktpnr)                                                    as OpPurchaseOutlineAgreementItem,
      //--[ GENERATED:012:GFBfhxvv7kY4nH9{xKJeWG

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_Supplier_VH',
                     element: 'Supplier' }
        }]
      // ]--GENERATED

      @ObjectModel.foreignKey.association: '_Supplier'
      afvc.lifnr                                                                    as OperationSupplier,
      //--[ GENERATED:012:GFBfhxvv7kY4nH9{xKJeWG

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_MaterialStdVH',
                     element: 'Material' }
        }]
      // ]--GENERATED

      @ObjectModel.foreignKey.association: '_Assembly'
      afvc.istru                                                                    as Assembly,
      afvc.anlzu                                                                    as OperationSystemCondition,
      afvc.larnt                                                                    as CostCtrActivityType,
      afvc.anfkokrs                                                                 as ReqgCostCenterControllingArea,
      afvc.indet                                                                    as OperationCalculationControl,
      afvc.prznt                                                                    as OperationWorkPercent,
      afvc.bedid                                                                    as CapacityRequirement,
      afvc.bedzl                                                                    as CapacityRequirementItem,
      afvc.banfn                                                                    as PurchaseRequisition,
      afvc.objnr                                                                    as MaintOrderOperationInternalID,
      afvc.bnfpo                                                                    as PurchaseRequisitionItem,
      afvc.matkl                                                                    as MaterialGroup,
      afvc.sakto                                                                    as CostElement,
      afvc.frdlb                                                                    as ExtProcgOperationHasSubcontrg,
      afvc.ekorg                                                                    as PurchasingOrganization,
      afvc.ekgrp                                                                    as PurchasingGroup,
      -- needed for some associations, e.g. activity type
      afvc.rueck                                                                    as MaintOrderConfirmation,
      afvc.rmzhl                                                                    as MaintOrderConfCntrValue,
      afvc.maintordopprocessphasecode                                               as MaintOrdOpProcessPhaseCode,
      afvc.maintordopprocesssubphasecode                                            as MaintOrdOpProcessSubPhaseCode,

      @ObjectModel.foreignKey.association: '_MaintOperationExecStageCode'
      cast( afvc.maintopexecutionphasecode as eam_premainpost_cds preserving type ) as MaintOperationExecStageCode,

      @ObjectModel.foreignKey.association: '_Language'
      cast(afvc.txtsp as spras)                                                     as Language,
      @ObjectModel.foreignKey.association: '_OperationHasLongText'
      cast (
        case afvc.txtsp
            when '' then ''
            else 'X'
      end as xfeld )                                                                as OperationHasLongText,

      _MaintenanceOrder,
      _MaintenanceOrderOperation,
      _StatusObject,
      _OpExternalProcessingCurrency,
      _OperationPlanningValues,
      _WorkCenter,
      _OperationControlKey,
      _OperationSystemCondition,
      _Plant,
      _OperationCalculationControl,
      _Assembly,
      _Language,
      _OperationHasLongText,
      _Supplier,
      _PersonResponsible,
      _Equipment,
      _FunctionalLocation,
      _MaintenanceOrderConf,
      _PMContactEmployee,
      _WorkAssignment,
      _MaintOperationExecStageCode,
      _EAMProcessPhase,
      _EAMProcessSubPhase
}
where
  afvc.sumnr <> '00000000'