I_MaintenanceOrderPhaseControl
Maintenance Order Phase Controls
I_MaintenanceOrderPhaseControl is a Composite CDS View that provides data about "Maintenance Order Phase Controls" in SAP S/4HANA. It reads from 2 data sources (I_MaintenanceOrder, I_MaintPhaseControlCode) and exposes 28 fields with key fields MaintenanceOrder, MaintenancePhaseControl. It has 4 associations to related views.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| I_MaintenanceOrder | MaintenanceOrder | from |
| I_MaintPhaseControlCode | MaintObjectPhaseControl | inner |
Associations (4)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_MaintOrderPhseCtrlChgHist | _MaintObjPhseCtrlCodeChgSet | $projection.MaintenanceOrder = _MaintObjPhseCtrlCodeChgSet.MaintenanceOrder and $projection.MaintenanceUserStatusCode = _MaintObjPhseCtrlCodeChgSet.StatusCode and _MaintObjPhseCtrlCodeChgSet.StatusIsInactive = '' |
| [0..1] | I_MaintOrderPhseCtrlChgHist | _MaintObjPhseCtrlCodeChgReset | $projection.MaintenanceOrder = _MaintObjPhseCtrlCodeChgReset.MaintenanceOrder and $projection.MaintenanceUserStatusCode = _MaintObjPhseCtrlCodeChgReset.StatusCode and _MaintObjPhseCtrlCodeChgReset.StatusIsInactive = 'X' |
| [1..1] | I_MaintenanceOrder | _MaintenanceOrder | $projection.MaintenanceOrder = _MaintenanceOrder.MaintenanceOrder |
| [0..1] | I_MaintPhseCtrlActivationCode | _MaintPhseCtrlActivationCode | _MaintPhseCtrlActivationCode.MaintProcgPhseCtrlActvtnCode = $projection.MaintProcgPhseCtrlActvtnCode |
Annotations (11)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | IMAINTORDPHSECTR | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| EndUserText.label | Maintenance Order Phase Controls | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| VDM.viewType | #COMPOSITE | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #XL | view |
Fields (28)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | MaintenanceOrder | I_MaintenanceOrder | MaintenanceOrder | |
| KEY | MaintenancePhaseControl | I_MaintPhaseControlCode | MaintenancePhaseControlName | |
| MaintenancePhaseControlName | I_MaintPhaseControlCode | MaintenancePhaseControlName | ||
| StatusObject | StatusObjectStatus | StatusObject | ||
| MaintUserStatusProfileCode | I_MaintPhaseControlCode | MaintUserStatusProfileCode | ||
| MaintenanceUserStatusCode | I_MaintPhaseControlCode | MaintenanceUserStatusCode | ||
| MaintenancePhaseControlText | I_MaintPhaseControlCode | MaintenancePhaseControlText | ||
| MaintPhseCtrlIsSetAutomly | I_MaintPhaseControlCode | MaintPhseCtrlIsSetAutomly | ||
| EAMOverallStatusProfile | I_MaintPhaseControlCode | EAMOverallStatusProfile | ||
| MaintPhaseControlAuthorityCode | I_MaintPhaseControlCode | MaintPhaseControlAuthorityCode | ||
| MaintProcgPhseCtrlActvtnCode | MaintPhseCtrlActvtnProcValue | MaintProcgPhseCtrlActvtnCode | ||
| EAMProcessPhaseCode | MaintPhseCtrlActvtnProcValue | EAMProcessPhaseCode | ||
| EAMProcessSubPhaseCode | MaintPhseCtrlActvtnProcValue | EAMProcessSubPhaseCode | ||
| MaintObjPhseCtrlStatusIsActive | ||||
| MaintenanceOrderType | I_MaintenanceOrder | MaintenanceOrderType | ||
| MaintenancePlanningPlant | I_MaintenanceOrder | MaintenancePlanningPlant | ||
| EAMBlockerCodeEntityType | I_MaintPhaseControlCode | EAMBlockerCodeEntityType | ||
| MaintOrdProcessPhaseCode | _MaintenanceOrder | MaintOrdProcessPhaseCode | ||
| MaintOrdProcessSubPhaseCode | _MaintenanceOrder | MaintOrdProcessSubPhaseCode | ||
| _MaintenanceOrder | _MaintenanceOrder | |||
| _MaintObjPhseCtrlCodeChgSet | _MaintObjPhseCtrlCodeChgSet | |||
| _MaintObjPhseCtrlCodeChgReset | _MaintObjPhseCtrlCodeChgReset | |||
| _ProcessingPhase | MaintPhseCtrlActvtnProcValue | _ProcessingPhase | ||
| _ProcessingSubPhase | MaintPhseCtrlActvtnProcValue | _ProcessingSubPhase | ||
| _StatusObject | StatusObjectStatus | _StatusObject | ||
| _StatusCode | I_MaintPhaseControlCode | _StatusCode | ||
| _StatusProfile | I_MaintPhaseControlCode | _StatusProfile | ||
| _MaintPhseCtrlActivationCode | _MaintPhseCtrlActivationCode |
@AbapCatalog.sqlViewName: 'IMAINTORDPHSECTR'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Maintenance Order Phase Controls'
@Metadata.ignorePropagatedAnnotations: true
@VDM.viewType: #COMPOSITE
@ObjectModel.semanticKey: [ 'MaintenanceOrder', 'MaintenancePhaseControl' ]
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory: #XL
define view I_MaintenanceOrderPhaseControl
as select from I_MaintenanceOrder as MaintenanceOrder
//inner join I_StatusObjectStatus as StatusObjectStatus on MaintenanceOrder.MaintenanceOrderInternalID = StatusObjectStatus.StatusObject
inner join I_MaintPhaseControlCode as MaintObjectPhaseControl on MaintenanceOrder.MaintenanceOrderType = MaintObjectPhaseControl.MaintenanceOrderType
and MaintObjectPhaseControl.EAMBlockerCodeEntityType = 'ORI'
// and StatusObjectStatus.StatusCode = MaintObjectPhaseControl.MaintenanceUserStatusCode
left outer to one join I_StatusObjectStatus as StatusObjectStatus on MaintenanceOrder.MaintenanceOrderInternalID = StatusObjectStatus.StatusObject
and MaintObjectPhaseControl.MaintenanceUserStatusCode = StatusObjectStatus.StatusCode
left outer to one join I_MaintPhseCtrlActvtnProcValue as MaintPhseCtrlActvtnProcValue on MaintPhseCtrlActvtnProcValue.MaintenanceOrderType = MaintObjectPhaseControl.MaintenanceOrderType
and MaintPhseCtrlActvtnProcValue.EAMBlockerCodeEntityType = MaintObjectPhaseControl.EAMBlockerCodeEntityType
and MaintPhseCtrlActvtnProcValue.EAMBlockerCode = MaintObjectPhaseControl.MaintenancePhaseControlName
and MaintPhseCtrlActvtnProcValue.MaintProcgPhseCtrlActvtnCode = '02' //Filter Blocks (Endphase) only
association [0..1] to I_MaintOrderPhseCtrlChgHist as _MaintObjPhseCtrlCodeChgSet on $projection.MaintenanceOrder = _MaintObjPhseCtrlCodeChgSet.MaintenanceOrder
and $projection.MaintenanceUserStatusCode = _MaintObjPhseCtrlCodeChgSet.StatusCode
and _MaintObjPhseCtrlCodeChgSet.StatusIsInactive = ''
association [0..1] to I_MaintOrderPhseCtrlChgHist as _MaintObjPhseCtrlCodeChgReset on $projection.MaintenanceOrder = _MaintObjPhseCtrlCodeChgReset.MaintenanceOrder
and $projection.MaintenanceUserStatusCode = _MaintObjPhseCtrlCodeChgReset.StatusCode
and _MaintObjPhseCtrlCodeChgReset.StatusIsInactive = 'X'
association [1..1] to I_MaintenanceOrder as _MaintenanceOrder on $projection.MaintenanceOrder = _MaintenanceOrder.MaintenanceOrder
association [0..1] to I_MaintPhseCtrlActivationCode as _MaintPhseCtrlActivationCode on _MaintPhseCtrlActivationCode.MaintProcgPhseCtrlActvtnCode = $projection.MaintProcgPhseCtrlActvtnCode
{
key MaintenanceOrder.MaintenanceOrder as MaintenanceOrder,
key MaintObjectPhaseControl.MaintenancePhaseControlName as MaintenancePhaseControl,
MaintObjectPhaseControl.MaintenancePhaseControlName, //for the future, it will be language-dependent
StatusObjectStatus.StatusObject,
MaintObjectPhaseControl.MaintUserStatusProfileCode,
MaintObjectPhaseControl.MaintenanceUserStatusCode,
MaintObjectPhaseControl.MaintenancePhaseControlText, //for the future, it will be language-dependent
MaintObjectPhaseControl.MaintPhseCtrlIsSetAutomly,
MaintObjectPhaseControl.EAMOverallStatusProfile,
MaintObjectPhaseControl.MaintPhaseControlAuthorityCode,
MaintPhseCtrlActvtnProcValue.MaintProcgPhseCtrlActvtnCode,
MaintPhseCtrlActvtnProcValue.EAMProcessPhaseCode,
MaintPhseCtrlActvtnProcValue.EAMProcessSubPhaseCode,
@Semantics.booleanIndicator:true
cast ( StatusObjectStatus.StatusIsActive as vdm_j_statusisactive preserving type ) as MaintObjPhseCtrlStatusIsActive,
cast( case
when StatusObjectStatus.StatusIsActive = 'X' then 'X'
when StatusObjectStatus.StatusIsInactive = 'X' then 'Y'
else ''
end as eam_bo_blkcd_status preserving type) as MaintObjPhaseControlStateCode,
MaintenanceOrder.MaintenanceOrderType,
MaintenanceOrder.MaintenancePlanningPlant,
MaintObjectPhaseControl.EAMBlockerCodeEntityType,
_MaintenanceOrder.MaintOrdProcessPhaseCode,
_MaintenanceOrder.MaintOrdProcessSubPhaseCode,
/* Propagated associations */
_MaintenanceOrder,
_MaintObjPhseCtrlCodeChgSet,
_MaintObjPhseCtrlCodeChgReset,
MaintPhseCtrlActvtnProcValue._ProcessingPhase,
MaintPhseCtrlActvtnProcValue._ProcessingSubPhase,
StatusObjectStatus._StatusObject,
MaintObjectPhaseControl._StatusCode,
MaintObjectPhaseControl._StatusProfile,
_MaintPhseCtrlActivationCode
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_MAINTENANCEORDER",
"I_MAINTPHASECONTROLCODE",
"I_MAINTPHSECTRLACTVTNPROCVALUE",
"I_STATUSOBJECTSTATUS"
],
"ASSOCIATED":
[
"I_EAMPROCESSPHASE",
"I_EAMPROCESSSUBPHASE",
"I_MAINTENANCEORDER",
"I_MAINTORDERPHSECTRLCHGHIST",
"I_MAINTPHSECTRLACTIVATIONCODE",
"I_STATUSCODE",
"I_STATUSOBJECT",
"I_STATUSPROFILE"
],
"BASE":
[
"I_MAINTPHASECONTROLCODE",
"I_MAINTPHSECTRLACTVTNPROCVALUE",
"I_STATUSOBJECTSTATUS"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
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