I_MaintenanceOrderSubOperation
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.
Associations (24)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [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)
| Name | Value | Level | Field |
|---|---|---|---|
| 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)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| 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'
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