R_MaintenanceJobWorkItemTP
Maintenance Order Operation TP
R_MaintenanceJobWorkItemTP is a Composite CDS View that provides data about "Maintenance Order Operation TP" in SAP S/4HANA. It reads from 2 data sources (P_ObjPgMaintOrderAndOperation, I_MaintOrderTechObj) and exposes 145 fields with key fields MaintenanceOrder, MaintenanceOrderOperation, MaintenanceOrderSubOperation. It has 43 associations to related views. Part of development package VDM_EAM_MAINTJOB_MANAGE_OPRTN.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| P_ObjPgMaintOrderAndOperation | _MaintOrderOpSubOp | from |
| I_MaintOrderTechObj | I_MaintOrderTechObj | inner |
Associations (43)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_MaintOrdOpNotification | _OrdOpNotification | _OrdOpNotification.MaintenanceOrder = _MaintOrderOpSubOp.MaintenanceOrder and _OrdOpNotification.MaintenanceOrderOperation = _MaintOrderOpSubOp.MaintenanceOrderOperation and _OrdOpNotification.MaintenanceOrderSubOperation = _MaintOrderOpSubOp.MaintenanceOrderSubOperation |
| [1..1] | I_MaintenanceOrderOperation | _MaintenanceOrderOp | _MaintenanceOrderOp.MaintenanceOrder = $projection.MaintenanceOrder and _MaintenanceOrderOp.MaintenanceOrderOperation = $projection.MaintenanceOrderOperation |
| [0..*] | C_MaintJobWorkItemService | _MaintJobWorkItemService | $projection.MaintenanceOrder = _MaintJobWorkItemService.MaintenanceOrder and $projection.MaintenanceOrderOperation = _MaintJobWorkItemService.MaintenanceOrderOperation and $projection.MaintenanceOrderSubOperation = _MaintJobWorkItemService.MaintenanceOrderSubOperation |
| [0..*] | C_MaintJobWorkItemUnplndCompTP | _MaintJobWorkItemUnplndComp | $projection.MaintenanceOrder = _MaintJobWorkItemUnplndComp.MaintenanceOrder |
| [0..1] | I_PMNotificationPriority | _MaintenancePriority | $projection.MaintPriority = _MaintenancePriority.MaintPriority and $projection.MaintPriorityType = _MaintenancePriority.MaintPriorityType |
| [0..1] | I_MaintenanceJobSelection | _MaintenanceJobSelection | _MaintenanceJobSelection.MaintenanceJobSelection = $projection.MaintenanceJobSelection |
| [0..*] | I_WorkCenterText | _WorkCenterText | _WorkCenterText.WorkCenterInternalID = $projection.OperationWorkCenterInternalID and _WorkCenterText.WorkCenterTypeCode = 'A' |
| [1..*] | C_MaintNotificationItemTP_3 | _MaintNotificationItemTP | $projection.MaintenanceNotification = _MaintNotificationItemTP.MaintenanceNotification |
| [0..1] | I_Indicator | _IsFinallyConfirmed | $projection.IsFinallyConfirmed = _IsFinallyConfirmed.IndicatorValue |
| [0..1] | C_MaintOrderQuickVw | _MaintOrderQuickView | $projection.MaintenanceOrder = _MaintOrderQuickView.MaintenanceOrder |
| [0..1] | C_MaintNotificationQuickVw | _MaintNotificationQuickView | $projection.MaintenanceNotification = _MaintNotificationQuickView.MaintenanceNotification |
| [0..*] | I_MaintNotifDetectionCodeText | _MaintNotifDetectCodeTxt | $projection.MaintNotifDetectionCode = _MaintNotifDetectCodeTxt.MaintNotifDetectionCode |
| [0..1] | I_PMTimeUnitVH | _PlannedWorkUnitOfMeasure | $projection.operationplannedworkunit = _PlannedWorkUnitOfMeasure.UnitOfMeasure |
| [0..1] | I_MaintenanceOrderSubOperation | _MaintOrderSubOperationTP_2 | $projection.MaintenanceOrder = _MaintOrderSubOperationTP_2.MaintenanceOrder and $projection.MaintenanceOrderOperation = _MaintOrderSubOperationTP_2.MaintenanceOrderOperation and $projection.MaintenanceOrderSubOperation = _MaintOrderSubOperationTP_2.MaintenanceOrderSubOperation |
| [0..1] | I_EAMProcessPhase | _EAMProcessPhase | $projection.MaintOrdOpProcessPhaseCode = _EAMProcessPhase.EAMProcessPhaseCode |
| [0..1] | I_EAMProcessSubPhase | _EAMProcessSubPhase | $projection.MaintOrdOpProcessSubPhaseCode = _EAMProcessSubPhase.EAMProcessSubPhaseCode |
| [0..1] | I_StatusObjectStatusBasic | _DispatchedStatus | _DispatchedStatus.StatusObject = $projection.MaintOrderOperationInternalID and _DispatchedStatus.StatusCode = 'I0117' |
| [0..1] | I_StatusObjectStatusBasic | _PartiallyConfirmedStatus | _PartiallyConfirmedStatus.StatusObject = $projection.MaintOrderOperationInternalID and _PartiallyConfirmedStatus.StatusCode = 'I0010' |
| [0..1] | I_StatusObjectStatusBasic | _FullyConfirmedStatus | _FullyConfirmedStatus.StatusObject = $projection.MaintOrderOperationInternalID and _FullyConfirmedStatus.StatusCode = 'I0009' |
| [0..1] | I_StatusObjectStatusBasic | _JobInProcessStatus | _JobInProcessStatus.StatusObject = $projection.MaintOrderOperationInternalID and _JobInProcessStatus.StatusCode = 'I0809' |
| [0..1] | I_StatusObjectStatusBasic | _JobFinishedStatus | _JobFinishedStatus.StatusObject = $projection.MaintOrderOperationInternalID and _JobFinishedStatus.StatusCode = 'I0820' |
| [0..1] | I_StatusObjectStatusBasic | _ServicePartiallyConfdStatus | _ServicePartiallyConfdStatus.StatusObject = $projection.MaintOrderOperationInternalID and _ServicePartiallyConfdStatus.StatusCode = 'IEAME' |
| [0..1] | I_StatusObjectStatusBasic | _MainWorkCompletedStatus | _MainWorkCompletedStatus.StatusObject = $projection.MaintOrderOperationInternalID and _MainWorkCompletedStatus.StatusCode = 'IEAM6' |
| [0..1] | I_Indicator | _IsActivePhaseModel | $projection.maintordtypehasactvphasemodel = _IsActivePhaseModel.IndicatorValue |
| [0..*] | I_EquipmentText | _OperationEquipment | $projection.OperationEquipment = _OperationEquipment.Equipment |
| [0..*] | I_EquipmentText | _EquipmentText | _EquipmentText.Equipment = $projection.Equipment |
| [0..*] | I_FunctionalLocationText | _OpFunctionalLocation | $projection.OperationFunctionalLocation = _OpFunctionalLocation.FunctionalLocation |
| [0..*] | I_FunctionalLocationText | _FunctionalLocationText | _FunctionalLocationText.FunctionalLocation = $projection.FunctionalLocation |
| [0..1] | I_FunclocationLabelInternal | _FunclocationLabel | _FunclocationLabel.FunctionalLocation = $projection.FunctionalLocation |
| [0..1] | I_OrderTypeConfirmationParam | _ConfirmationParam | $projection.MaintenanceOrderType = _ConfirmationParam.OrderType and $projection.Plant = _ConfirmationParam.Plant |
| [1..1] | I_MaintenanceOrder | _MaintenanceOrder | $projection.MaintenanceOrder = _MaintenanceOrder.MaintenanceOrder |
| [0..1] | I_TechnicalObject | _OperationTechnicalObject | _OperationTechnicalObject.TechnicalObject = $projection.MaintOperationTechnicalObject and _OperationTechnicalObject.TechObjIsEquipOrFuncnlLoc = $projection.OperationTechObjIsEquip |
| [0..1] | I_TechnicalObject | _TechnicalObject | _TechnicalObject.TechnicalObject = $projection.TechnicalObject and _TechnicalObject.TechObjIsEquipOrFuncnlLoc = $projection.TechObjIsEquipOrFuncnlLoc and _TechnicalObject.TechnicalObjectLabel = $projection.TechnicalObjectLabel |
| [0..1] | tz1appl | _TimeZoneConfig | _TimeZoneConfig.appl = 'PM_WOC' -- Extensions, do not expose as association: |
| [0..1] | E_PMNotifMaintenanceData | _NotifMaintenanceDataExtension | I_MaintOrderTechObj.MaintenanceNotification = _NotifMaintenanceDataExtension.MaintenanceNotification |
| [0..1] | E_MaintenanceOrder | _MaintenanceOrderExtension | $projection.MaintenanceOrder = _MaintenanceOrderExtension.MaintenanceOrder |
| [0..1] | E_MaintenanceOrderOperation | _MaintOrderOperExtension | _MaintOrderOpSubOp.MaintOrderRoutingNumber = _MaintOrderOperExtension.MaintOrderRoutingNumber and _MaintOrderOpSubOp.MaintOrderOperationCounter = _MaintOrderOperExtension.MaintOrderOperationCounter |
| [0..1] | I_MaintOrderTypeControlParam | _MaintOrderTypeControlParam | $projection.MaintenanceOrderType = _MaintOrderTypeControlParam.OrderType |
| [0..1] | R_MaintenanceOrderLongTextTP | _OrderLongTextTP | $projection.MaintenanceOrder = _OrderLongTextTP.MaintenanceOrder |
| [0..1] | R_MaintOrderOpLongTextTP | _OrderOpLongText | _OrderOpLongText.MaintenanceOrder = $projection.MaintenanceOrder and _OrderOpLongText.MaintenanceOrderOperation = $projection.MaintenanceOrderOperation and _OrderOpLongText.MaintenanceOrderSubOperation = '' and _OrderOpLongText.TextObjectType = 'AVOT' |
| [0..1] | R_MaintOrderOpLongTextTP | _OrderSopLongText | _OrderSopLongText.MaintenanceOrder = $projection.MaintenanceOrder and _OrderSopLongText.MaintenanceOrderOperation = $projection.MaintenanceOrderOperation and _OrderSopLongText.MaintenanceOrderSubOperation = $projection.MaintenanceOrderSubOperation and _OrderSopLongText.MaintenanceOrderSubOperation <> '' and _OrderSopLongText.TextObjectType = 'AVOT' |
| [0..1] | I_MaintPersnRespWorkAgreement | _PersnRespVH | _PersnRespVH.WorkAssignment = $projection.OperationPersonResponsible |
| [0..*] | R_MaintJobWorkItemComponentTP | _MaintJobWorkItemComponent | |
Annotations (9)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #CHECK | view | |
| AccessControl.personalData.blocking | #NOT_REQUIRED | view | |
| EndUserText.label | Maintenance Order Operation TP | view | |
| VDM.viewType | #COMPOSITE | view | |
| VDM.lifecycle.contract.type | #SAP_INTERNAL_API | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.representativeKey | MaintenanceOrder | view |
Fields (145)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | MaintenanceOrder | P_ObjPgMaintOrderAndOperation | MaintenanceOrder | |
| KEY | MaintenanceOrderOperation | |||
| KEY | MaintenanceOrderSubOperation | |||
| MaintenanceOrderDesc | I_MaintOrderTechObj | MaintenanceOrderDesc | ||
| MaintOrderProcessingContext | I_MaintOrderTechObj | MaintOrderProcessingContext | ||
| MaintOrderOperationInternalID | P_ObjPgMaintOrderAndOperation | MaintOrderOperationInternalID | ||
| MaintOrdTypeHasActvPhaseModel | _MaintOrderTypeControlParam | MaintOrdTypeHasActvPhaseModel | ||
| MaintPriority | I_MaintOrderTechObj | MaintPriority | ||
| MaintPriorityType | I_MaintOrderTechObj | MaintPriorityType | ||
| WorkCenter | P_ObjPgMaintOrderAndOperation | OperationWorkCenter | ||
| MaintOrderRoutingNumber | _MaintenanceOrderOp | MaintOrderRoutingNumber | ||
| MaintenanceOrderRoutingNode | _MaintenanceOrderOp | MaintOrderOperationCounter | ||
| OperationHasLongText | P_ObjPgMaintOrderAndOperation | OperationHasLongText | ||
| OrderHasLongText | I_MaintOrderTechObj | OrderHasLongText | ||
| MaintenanceOrderObjectList | I_MaintOrderTechObj | MaintenanceOrderObjectList | ||
| MaintenanceNotification | _OrdOpNotification | MaintenanceNotification | ||
| NotificationText | ||||
| MaintNotificationLongText | ||||
| OperationTechnicalObjectDesc | _OperationTechnicalObject | TechnicalObjectDescription | ||
| TechnicalObject | I_MaintOrderTechObj | TechnicalObject | ||
| TechnicalObjectForEdit | ||||
| TechObjIsEquipOrFuncnlLoc | I_MaintOrderTechObj | TechObjIsEquipOrFuncnlLoc | ||
| MaintOperationTechnicalObject | P_ObjPgMaintOrderAndOperation | TechnicalObject | ||
| OperationTechObjIsEquip | P_ObjPgMaintOrderAndOperation | TechObjIsEquipOrFuncnlLoc | ||
| OperationControlKey | P_ObjPgMaintOrderAndOperation | OperationControlKey | ||
| OperationDescription | _MaintenanceOrderOp | OperationDescription | ||
| OperationText | P_ObjPgMaintOrderAndOperation | OperationDescription | ||
| OperationWorkCenterInternalID | P_ObjPgMaintOrderAndOperation | OperationWorkCenterInternalID | ||
| MaintenanceJobSelection | ||||
| PostingDate | ||||
| MaintOrdOpWrkExecStartDateTime | ||||
| MaintOrdOpWrkExecEndDateTime | ||||
| MaintenancePlant | ||||
| MaintenancePlanningPlant | I_MaintOrderTechObj | MaintenancePlanningPlant | ||
| Plant | P_ObjPgMaintOrderAndOperation | Plant | ||
| OperationSupplier | P_ObjPgMaintOrderAndOperation | OperationSupplier | ||
| OpExternalProcessingCurrency | P_ObjPgMaintOrderAndOperation | OpExternalProcessingCurrency | ||
| OpPurchaseOutlineAgreement | P_ObjPgMaintOrderAndOperation | OpPurchaseOutlineAgreement | ||
| ActivityType | P_ObjPgMaintOrderAndOperation | CostCtrActivityType | ||
| OperationSystemCondition | P_ObjPgMaintOrderAndOperation | OperationSystemCondition | ||
| OperationPersonResponsible | P_ObjPgMaintOrderAndOperation | OperationPersonResponsible | ||
| OperationPersonRespName | ||||
| OperationEquipment | P_ObjPgMaintOrderAndOperation | Equipment | ||
| Equipment | I_MaintOrderTechObj | Equipment | ||
| OperationFunctionalLocation | P_ObjPgMaintOrderAndOperation | FunctionalLocationLabelName | ||
| FunctionalLocation | I_MaintOrderTechObj | FunctionalLocation | ||
| FunctionalLocationName | _FunclocationLabel | FunctionalLocationLabelName | ||
| ConfirmationTotalQuantity | ||||
| OperationPlannedWork | P_ObjPgMaintOrderAndOperation | OperationPlannedWork | ||
| OperationQuantityUnit | ||||
| MaintOrdOpProgressionInPercent | ||||
| OperationPlannedWorkUnit | ||||
| Assembly | P_ObjPgMaintOrderAndOperation | Assembly | ||
| AssemblyOrderLevelValue | I_MaintOrderTechObj | Assembly | ||
| MaintOperationExecStageCode | P_ObjPgMaintOrderAndOperation | MaintOperationExecStageCode | ||
| MaintenanceOrderType | I_MaintOrderTechObj | MaintenanceOrderType | ||
| OpErlstSchedldExecStrtDte | ||||
| OpErlstSchedldExecStrtTme | ||||
| clientNULLasOpErlstSchedldExecStrtDteTme | ||||
| clientNULLasOpErlstSchedldExecEndDteTme | ||||
| clientNULLasOpLtstSchedldExecStrtDteTme | ||||
| OpLtstSchedldExecEndDte | ||||
| clientNULLasOpLtstSchedldExecEndDteTme | ||||
| MalfunctionEffect | ||||
| MalfunctionStartDate | ||||
| MalfunctionStartTime | ||||
| clientNULLasMalfunctionStartDateTime | ||||
| MalfunctionEndDate | ||||
| MalfunctionEndTime | ||||
| clientNULLasMalfunctionEndDateTime | ||||
| NotificationTimeZone | ||||
| NotifTimeZoneIANACode | ||||
| AddressTimeZone | ||||
| TimeZoneIsActive | _TimeZoneConfig | active | ||
| MaintNotificationCode | ||||
| MaintNotificationCatalog | ||||
| MaintNotificationCodeGroup | ||||
| CatalogProfile | ||||
| NotificationType | ||||
| MaintNotifCodgCatalogTypeCode | ||||
| MaintNotifActivityCodeCatalog | ||||
| MaintNotifCauseCodeCatalog | ||||
| MaintNotifDamageCodeCatalog | ||||
| MaintNotifObjPrtCodeCatalog | ||||
| MaintNotifLongTextForEdit | ||||
| MaintObjDowntimeDurationUnit | ||||
| MaintenanceObjectIsDown | ||||
| MaintNotifDetectionCatalog | ||||
| MaintNotifDetectionCodeGroup | ||||
| MaintNotifDetectionCode | ||||
| MaintenanceOrderObjectListItem | _OrdOpNotification | MaintenanceOrderObjectListItem | ||
| MaintOrdOpHasNotifAssigned | _OrdOpNotification | MaintOrdOpHasNotifAssigned | ||
| FinalConfirmationType | _ConfirmationParam | FinalConfirmationType | ||
| OpenReservationIsFinallyIssued | _ConfirmationParam | OpenReservationIsFinallyIssued | ||
| _MaintenanceOrderType | I_MaintOrderTechObj | _MaintenanceOrderType | ||
| _MaintJobWorkItemComponent | _MaintJobWorkItemComponent | |||
| _MaintJobWorkItemService | _MaintJobWorkItemService | |||
| _MaintJobWorkItemUnplndComp | _MaintJobWorkItemUnplndComp | |||
| _MaintenanceOrder | _MaintenanceOrder | |||
| _MaintenanceJob | _MaintenanceJob | |||
| _OpExternalProcessingCurrency | P_ObjPgMaintOrderAndOperation | _OpExternalProcessingCurrency | ||
| _OperationPlanningValues | _MaintenanceOrderOp | _OperationPlanningValues | ||
| _OperationControlKey | P_ObjPgMaintOrderAndOperation | _OperationControlKey | ||
| _OperationSystemCondition | P_ObjPgMaintOrderAndOperation | _OperationSystemCondition | ||
| _Plant | P_ObjPgMaintOrderAndOperation | _Plant | ||
| _MaintenancePlant | ||||
| _MaintenancePlanningPlant | I_MaintOrderTechObj | _MaintenancePlanningPlant | ||
| _Assembly | P_ObjPgMaintOrderAndOperation | _Assembly | ||
| _Supplier | P_ObjPgMaintOrderAndOperation | _Supplier | ||
| _PersonResponsible | P_ObjPgMaintOrderAndOperation | _PersonResponsible | ||
| _MaintOrderProdnRsceTool | _MaintenanceOrderOp | _MaintOrderProdnRsceTool | ||
| OperationExternalProcessing | ||||
| _OperationExternalProcessing | ||||
| ConfirmationIsNotPossible | ||||
| _EAMProcessPhase | _EAMProcessPhase | |||
| _EAMProcessSubPhase | _EAMProcessSubPhase | |||
| _MaintenancePriority | _MaintenancePriority | |||
| _MaintenanceJobSelection | _MaintenanceJobSelection | |||
| _WorkCenterText | _WorkCenterText | |||
| _IsFinallyConfirmed | _IsFinallyConfirmed | |||
| _MaintNotificationItemTP | _MaintNotificationItemTP | |||
| _MaintNotifDetectCodeTxt | _MaintNotifDetectCodeTxt | |||
| _MaintNotificationCode | ||||
| _MalfunctionEffect | ||||
| _FunctionalLocationText | _FunctionalLocationText | |||
| _TechObjIsEquipOrFuncnlLoc | I_MaintOrderTechObj | _TechObjIsEquipOrFuncnlLoc | ||
| MaintenanceNotificationForEdit | _OrdOpNotification | MaintenanceNotification | ||
| _MaintenanceNotification | _OrdOpNotification | _MaintenanceNotification | ||
| _MaintOrderQuickView | _MaintOrderQuickView | |||
| _MaintNotificationQuickView | _MaintNotificationQuickView | |||
| _PlannedWorkUnitOfMeasure | _PlannedWorkUnitOfMeasure | |||
| _IsActivePhaseModel | _IsActivePhaseModel | |||
| _MaintOrderProcessingContext | I_MaintOrderTechObj | _MaintOrderProcessingContext | ||
| _MaintOperationExecStageCode | P_ObjPgMaintOrderAndOperation | _MaintOperationExecStageCode | ||
| _TechnicalObject | _TechnicalObject | |||
| _OpTechObjIsEquipOrFuncnlLoc | P_ObjPgMaintOrderAndOperation | _TechObjIsEquipOrFuncnlLoc | ||
| _OperationEquipment | _OperationEquipment | |||
| _OpFunctionalLocation | _OpFunctionalLocation | |||
| _ConfirmationParam | _ConfirmationParam | |||
| _EquipmentText | _EquipmentText | |||
| _OrderLongTextTP | _OrderLongTextTP | |||
| _OrderOpLongText | _OrderOpLongText | |||
| _OrderSopLongText | _OrderSopLongText | |||
| _PMNotificationType | ||||
| _PersnRespVH | _PersnRespVH |
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #NOT_REQUIRED
@EndUserText.label: 'Maintenance Order Operation TP'
@VDM.viewType: #COMPOSITE
@VDM.usage.type: [#TRANSACTIONAL_PROCESSING_SERVICE]
@VDM.lifecycle.contract.type: #SAP_INTERNAL_API
@ObjectModel.usageType: {serviceQuality: #C, sizeCategory: #XL, dataClass: #TRANSACTIONAL}
@ObjectModel.representativeKey: 'MaintenanceOrder'
define view entity R_MaintenanceJobWorkItemTP
// as select from P_ObjPgMaintOrderAndOperation as _MaintOrderOpSubOp
as select from P_ObjPgMaintOrderAndOperation as _MaintOrderOpSubOp
inner join I_MaintOrderTechObj on I_MaintOrderTechObj.MaintenanceOrder = _MaintOrderOpSubOp.MaintenanceOrder
and I_MaintOrderTechObj.MaintenanceProcessingPhase = '2'
association [0..1] to I_MaintOrdOpNotification as _OrdOpNotification on _OrdOpNotification.MaintenanceOrder = _MaintOrderOpSubOp.MaintenanceOrder
and _OrdOpNotification.MaintenanceOrderOperation = _MaintOrderOpSubOp.MaintenanceOrderOperation
and _OrdOpNotification.MaintenanceOrderSubOperation = _MaintOrderOpSubOp.MaintenanceOrderSubOperation
// association [0..1] to I_MaintNotificationTechObj as _MaintNotifTechObj on I_MaintOrderTechObj.MaintenanceNotification = _MaintNotifTechObj.MaintenanceNotification
association [1..1] to I_MaintenanceOrderOperation as _MaintenanceOrderOp on _MaintenanceOrderOp.MaintenanceOrder = $projection.MaintenanceOrder
and _MaintenanceOrderOp.MaintenanceOrderOperation = $projection.MaintenanceOrderOperation
association to parent R_MaintenanceJobTP as _MaintenanceJob on $projection.MaintenanceOrder = _MaintenanceJob.MaintenanceOrder
composition [0..*] of R_MaintJobWorkItemComponentTP as _MaintJobWorkItemComponent
association [0..*] to C_MaintJobWorkItemService as _MaintJobWorkItemService on $projection.MaintenanceOrder = _MaintJobWorkItemService.MaintenanceOrder
and $projection.MaintenanceOrderOperation = _MaintJobWorkItemService.MaintenanceOrderOperation
and $projection.MaintenanceOrderSubOperation = _MaintJobWorkItemService.MaintenanceOrderSubOperation
//Unplanned section does not show up as a tab if R_MaintJobWorkItemUnplndCompTP is linked instead to C View,
//in future use case, 2 layers of CDS Views not needed for a association linkage
association [0..*] to C_MaintJobWorkItemUnplndCompTP as _MaintJobWorkItemUnplndComp on $projection.MaintenanceOrder = _MaintJobWorkItemUnplndComp.MaintenanceOrder
// association [0..1] to I_PersonWorkAgreement_1 as _PersonWorkAgreement on $projection.OperationPersonResponsible = _PersonWorkAgreement.PersonWorkAgreement
association [0..1] to I_PMNotificationPriority as _MaintenancePriority on $projection.MaintPriority = _MaintenancePriority.MaintPriority
and $projection.MaintPriorityType = _MaintenancePriority.MaintPriorityType
association [0..1] to I_MaintenanceJobSelection as _MaintenanceJobSelection on _MaintenanceJobSelection.MaintenanceJobSelection = $projection.MaintenanceJobSelection
association [0..*] to I_WorkCenterText as _WorkCenterText on _WorkCenterText.WorkCenterInternalID = $projection.OperationWorkCenterInternalID
and _WorkCenterText.WorkCenterTypeCode = 'A'
association [1..*] to C_MaintNotificationItemTP_3 as _MaintNotificationItemTP on $projection.MaintenanceNotification = _MaintNotificationItemTP.MaintenanceNotification
association [0..1] to I_Indicator as _IsFinallyConfirmed on $projection.IsFinallyConfirmed = _IsFinallyConfirmed.IndicatorValue
// association [0..1] to C_MaintNotifLongTextTP as _MaintNotifLongTextTP on _MaintNotifLongTextTP.MaintenanceNotification = $projection.MaintenanceNotification
association [0..1] to C_MaintOrderQuickVw as _MaintOrderQuickView on $projection.MaintenanceOrder = _MaintOrderQuickView.MaintenanceOrder
association [0..1] to C_MaintNotificationQuickVw as _MaintNotificationQuickView on $projection.MaintenanceNotification = _MaintNotificationQuickView.MaintenanceNotification
association [0..*] to I_MaintNotifDetectionCodeText as _MaintNotifDetectCodeTxt on $projection.MaintNotifDetectionCode = _MaintNotifDetectCodeTxt.MaintNotifDetectionCode
association [0..1] to I_PMTimeUnitVH as _PlannedWorkUnitOfMeasure on $projection.operationplannedworkunit = _PlannedWorkUnitOfMeasure.UnitOfMeasure
association [0..1] to I_MaintenanceOrderSubOperation as _MaintOrderSubOperationTP_2 on $projection.MaintenanceOrder = _MaintOrderSubOperationTP_2.MaintenanceOrder
and $projection.MaintenanceOrderOperation = _MaintOrderSubOperationTP_2.MaintenanceOrderOperation
and $projection.MaintenanceOrderSubOperation = _MaintOrderSubOperationTP_2.MaintenanceOrderSubOperation
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
association [0..1] to I_StatusObjectStatusBasic as _DispatchedStatus on _DispatchedStatus.StatusObject = $projection.MaintOrderOperationInternalID
and _DispatchedStatus.StatusCode = 'I0117'
association [0..1] to I_StatusObjectStatusBasic as _PartiallyConfirmedStatus on _PartiallyConfirmedStatus.StatusObject = $projection.MaintOrderOperationInternalID
and _PartiallyConfirmedStatus.StatusCode = 'I0010'
association [0..1] to I_StatusObjectStatusBasic as _FullyConfirmedStatus on _FullyConfirmedStatus.StatusObject = $projection.MaintOrderOperationInternalID
and _FullyConfirmedStatus.StatusCode = 'I0009'
association [0..1] to I_StatusObjectStatusBasic as _JobInProcessStatus on _JobInProcessStatus.StatusObject = $projection.MaintOrderOperationInternalID
and _JobInProcessStatus.StatusCode = 'I0809'
association [0..1] to I_StatusObjectStatusBasic as _JobFinishedStatus on _JobFinishedStatus.StatusObject = $projection.MaintOrderOperationInternalID
and _JobFinishedStatus.StatusCode = 'I0820'
association [0..1] to I_StatusObjectStatusBasic as _ServicePartiallyConfdStatus on _ServicePartiallyConfdStatus.StatusObject = $projection.MaintOrderOperationInternalID
and _ServicePartiallyConfdStatus.StatusCode = 'IEAME'
association [0..1] to I_StatusObjectStatusBasic as _MainWorkCompletedStatus on _MainWorkCompletedStatus.StatusObject = $projection.MaintOrderOperationInternalID
and _MainWorkCompletedStatus.StatusCode = 'IEAM6'
// association [0..1] to I_StatusObjectStatusBasic as _JobReleasedStatus on _JobReleasedStatus.StatusCode = 'I0002'
// and _JobReleasedStatus.StatusObject = $projection.MaintOrderOperationInternalID
// and _JobReleasedStatus.StatusIsInactive = ''
association [0..1] to I_Indicator as _IsActivePhaseModel on $projection.maintordtypehasactvphasemodel = _IsActivePhaseModel.IndicatorValue
// association [0..1] to I_Equipment as _OperationEquipment on $projection.OperationEquipment = _OperationEquipment.Equipment
association [0..*] to I_EquipmentText as _OperationEquipment on $projection.OperationEquipment = _OperationEquipment.Equipment
association [0..*] to I_EquipmentText as _EquipmentText on _EquipmentText.Equipment = $projection.Equipment
// association [0..1] to I_FunctionalLocation as _OpFunctionalLocation on $projection.OperationFunctionalLocation = _OpFunctionalLocation.FunctionalLocation
association [0..*] to I_FunctionalLocationText as _OpFunctionalLocation on $projection.OperationFunctionalLocation = _OpFunctionalLocation.FunctionalLocation
association [0..*] to I_FunctionalLocationText as _FunctionalLocationText on _FunctionalLocationText.FunctionalLocation = $projection.FunctionalLocation
association [0..1] to I_FunclocationLabelInternal as _FunclocationLabel on _FunclocationLabel.FunctionalLocation = $projection.FunctionalLocation
association [0..1] to I_OrderTypeConfirmationParam as _ConfirmationParam on $projection.MaintenanceOrderType = _ConfirmationParam.OrderType
and $projection.Plant = _ConfirmationParam.Plant
association [1..1] to I_MaintenanceOrder as _MaintenanceOrder on $projection.MaintenanceOrder = _MaintenanceOrder.MaintenanceOrder
association [0..1] to I_TechnicalObject as _OperationTechnicalObject on _OperationTechnicalObject.TechnicalObject = $projection.MaintOperationTechnicalObject
and _OperationTechnicalObject.TechObjIsEquipOrFuncnlLoc = $projection.OperationTechObjIsEquip
association [0..1] to I_TechnicalObject as _TechnicalObject on _TechnicalObject.TechnicalObject = $projection.TechnicalObject
and _TechnicalObject.TechObjIsEquipOrFuncnlLoc = $projection.TechObjIsEquipOrFuncnlLoc
and _TechnicalObject.TechnicalObjectLabel = $projection.TechnicalObjectLabel
association [0..1] to tz1appl as _TimeZoneConfig on _TimeZoneConfig.appl = 'PM_WOC'
-- Extensions, do not expose as association:
association [0..1] to E_PMNotifMaintenanceData as _NotifMaintenanceDataExtension on I_MaintOrderTechObj.MaintenanceNotification = _NotifMaintenanceDataExtension.MaintenanceNotification
// association [0..1] to E_PMNotifMaintenanceData as _NotifMaintenanceDataExtension on $projection.MaintenanceNotification = _NotifMaintenanceDataExtension.MaintenanceNotification
association [0..1] to E_MaintenanceOrder as _MaintenanceOrderExtension on $projection.MaintenanceOrder = _MaintenanceOrderExtension.MaintenanceOrder
association [0..1] to E_MaintenanceOrderOperation as _MaintOrderOperExtension on _MaintOrderOpSubOp.MaintOrderRoutingNumber = _MaintOrderOperExtension.MaintOrderRoutingNumber
and _MaintOrderOpSubOp.MaintOrderOperationCounter = _MaintOrderOperExtension.MaintOrderOperationCounter
// association [0..1] to E_MaintenanceOrderConfirmation as _MaintOrdConfExtension on $projection.MaintOrderConfirmation = _MaintOrdConfExtension.MaintOrderConf
// and $projection.MaintOrderConfCntrValue = _MaintOrdConfExtension.MaintOrderConfCntrValue
association [0..1] to I_MaintOrderTypeControlParam as _MaintOrderTypeControlParam on $projection.MaintenanceOrderType = _MaintOrderTypeControlParam.OrderType
association [0..1] to R_MaintenanceOrderLongTextTP as _OrderLongTextTP on $projection.MaintenanceOrder = _OrderLongTextTP.MaintenanceOrder
association [0..1] to R_MaintOrderOpLongTextTP as _OrderOpLongText on _OrderOpLongText.MaintenanceOrder = $projection.MaintenanceOrder
and _OrderOpLongText.MaintenanceOrderOperation = $projection.MaintenanceOrderOperation
and _OrderOpLongText.MaintenanceOrderSubOperation = ''
and _OrderOpLongText.TextObjectType = 'AVOT'
association [0..1] to R_MaintOrderOpLongTextTP as _OrderSopLongText on _OrderSopLongText.MaintenanceOrder = $projection.MaintenanceOrder
and _OrderSopLongText.MaintenanceOrderOperation = $projection.MaintenanceOrderOperation
and _OrderSopLongText.MaintenanceOrderSubOperation = $projection.MaintenanceOrderSubOperation
and _OrderSopLongText.MaintenanceOrderSubOperation <> ''
and _OrderSopLongText.TextObjectType = 'AVOT'
association [0..1] to I_MaintPersnRespWorkAgreement as _PersnRespVH on _PersnRespVH.WorkAssignment = $projection.OperationPersonResponsible
{
@ObjectModel: { foreignKey.association: '_MaintOrderQuickView'}
key _MaintOrderOpSubOp.MaintenanceOrder,
key cast(_MaintOrderOpSubOp.MaintenanceOrderOperation as maintenanceorderoperation preserving type) as MaintenanceOrderOperation,
key cast(_MaintOrderOpSubOp.MaintenanceOrderSubOperation as maintenanceordersuboperation preserving type ) as MaintenanceOrderSubOperation,
I_MaintOrderTechObj.MaintenanceOrderDesc,
I_MaintOrderTechObj.MaintOrderProcessingContext,
_MaintOrderOpSubOp.MaintOrderOperationInternalID,
@ObjectModel.foreignKey.association: '_IsFinallyConfirmed'
cast(
// case when _OpStatusObjectStatus[1: StatusCode = 'I0009'].StatusCode is not null
// and _OpStatusObjectStatus[1: StatusCode = 'I0009'].StatusIsInactive <> 'X'
case when _FullyConfirmedStatus.StatusIsInactive <> 'X'
then 'X'
else ''
end
as eams_finally_confirmed preserving type ) as IsFinallyConfirmed,
cast ( case when ( _DispatchedStatus.StatusIsInactive = '' )
then 'X'
// else ''
end as xfeld preserving type ) as MaintOrdOpIsDispatched,
cast ( case when ( _MainWorkCompletedStatus.StatusIsInactive = '' )
then 'X'
// else ''
end as xfeld preserving type ) as MaintOrdHasOpenMainWork,
cast ( case when ( _ServicePartiallyConfdStatus.StatusIsInactive = '' )
then 'X'
// else ''
end as xfeld preserving type ) as MaintOrdOpIsSrvcPrtlyConfd,
//I0010 - PCNF (Partially confirmed)
//I0117 - DSPT (Scheduled)
//I0809 - JIPR (Job In Process)
// cast( case when (_StatusObjectActiveStatus[1: StatusCode = 'I0010' ].StatusCode != '' and _StatusObjectActiveStatus[1: StatusCode = 'I0010' ].StatusIsActive = 'X')
cast( case when ( _PartiallyConfirmedStatus.StatusIsInactive = '')
// or _StatusObjectActiveStatus[1: StatusCode = 'I0117' ].StatusCode != ''
// or (_StatusObjectActiveStatus[1: StatusCode = 'I0809' ].StatusCode != '' and _StatusObjectActiveStatus[1: StatusCode = 'I0809' ].StatusIsActive = 'X')
or ( _JobInProcessStatus.StatusIsInactive = '')
then 'X'
// else ''
end as xfeld preserving type ) as MaintOrderOperationIsInProcess,
// cast ( case when (_OpStatusObjectStatus[1: StatusCode = 'I0809' ].StatusCode != '' and _OpStatusObjectStatus[1: StatusCode = 'I0809' ].StatusIsActive = '' )
cast ( case when ( _JobInProcessStatus.StatusIsInactive = 'X' )
then 'X'
// else ''
end as xfeld preserving type ) as MaintOrderOperationIsPaused,
// cast ( case when (_OpStatusObjectStatus[1: StatusCode = 'I0820' ].StatusCode != '' and _OpStatusObjectStatus[1: StatusCode = 'I0820' ].StatusIsActive = 'X' )
cast ( case when ( _JobFinishedStatus.StatusIsInactive = '' )
then 'X'
// else ''
end as xfeld preserving type ) as MaintOrderOperationIsFinished,
@ObjectModel.foreignKey.association: '_IsActivePhaseModel'
// I_MaintOrderTechObj._MaintOrderTypeControlParam.MaintOrdTypeHasActvPhaseModel,
_MaintOrderTypeControlParam.MaintOrdTypeHasActvPhaseModel,
I_MaintOrderTechObj.MaintPriority,
I_MaintOrderTechObj.MaintPriorityType,
_MaintOrderOpSubOp.OperationWorkCenter as WorkCenter,
// _MaintOrderOpSubOp.MaintOrderRoutingNumber,
_MaintenanceOrderOp.MaintOrderRoutingNumber,
_MaintenanceOrderOp.MaintOrderOperationCounter as MaintenanceOrderRoutingNode,
// _MaintOrderOpSubOp.MaintOrderOperationCounter as MaintenanceOrderRoutingNode,
@Semantics.text: true
cast ('' as vdm_j_system_status_concat_t) as ConcatenatedActiveSystStsName,
// @Semantics.text: true
// cast (' ' as abap.sstring( 1333 )) as MaintOrderOperationLongText,
// @Semantics.text: true
// cast (' ' as abap.sstring( 1333 )) as MaintOrderSubOperationLongText,
_MaintOrderOpSubOp.OperationHasLongText as OperationHasLongText,
// @Semantics.text: true
// cast (' ' as abap.sstring( 1333 )) as MaintenanceOrderLongText,
I_MaintOrderTechObj.OrderHasLongText as OrderHasLongText,
I_MaintOrderTechObj.MaintenanceOrderObjectList,
// @ObjectModel.text.element: [ 'NotificationText' ]
// @ObjectModel: { foreignKey.association: '_MaintNotificationQuickView'}
// I_MaintOrderTechObj.MaintenanceNotification,
// @Semantics.text: true
// I_MaintOrderTechObj._MaintenanceNotification.NotificationText,
@ObjectModel.text.element: [ 'NotificationText' ]
@ObjectModel: { foreignKey.association: '_MaintNotificationQuickView'}
_OrdOpNotification.MaintenanceNotification as MaintenanceNotification,
@Semantics.text: true
_OrdOpNotification._MaintenanceNotification.NotificationText,
//I_MaintOrderTechObj.MaintenanceOrderObjectList,
@Semantics.text: true
cast('' as eams_ltext ) as MaintNotificationLongText,
// @ObjectModel.text.element: [ 'TechnicalObjectDescription' ]
// @ObjectModel.filter.transformedBy: 'ABAP:CL_EAM_TECHOBJLABEL_EXIT'
// cast (_TechnicalObject.TechnicalObjectLabel as eams_tech_obj_alpha_conv preserving type ) as TechnicalObjectLabel,
// cast ( case when _TechnicalObject.TechObjIsEquipOrFuncnlLoc = 'EAMS_FL'
// then cast( _TechnicalObject._FunctionalLocationLabel.FunctionalLocationLabelName as eams_tec_obj )
// else ltrim( _TechnicalObject.TechnicalObject, '0' ) end as eams_tec_obj preserving type ) as TechnicalObjectLabel,
cast ( case when I_MaintOrderTechObj.TechObjIsEquipOrFuncnlLoc = 'EAMS_FL'
then cast( I_MaintOrderTechObj._FunctionalLocation._FunctionalLocationLabel.FunctionalLocationLabelName as eams_tec_obj )
else ltrim( I_MaintOrderTechObj.TechnicalObject, '0' ) end as eams_tec_obj preserving type ) as TechnicalObjectLabel,
// _TechnicalObject.TechnicalObjectDescription,
// @ObjectModel: { virtualElement: true, virtualElementCalculatedBy: 'ABAP:CL_EAM_TECHOBJLABEL_EXIT' }
// cast ('' as eams_tec_obj_des) as TechnicalObjectDescription,
// I_MaintOrderTechObj._TechnicalObject.TechnicalObjectDescription,
cast ( case when _MaintOrderOpSubOp.TechObjIsEquipOrFuncnlLoc = 'EAMS_FL'
then cast( _OperationTechnicalObject._FunctionalLocation._FunctionalLocationLabel.FunctionalLocationLabelName as eams_tec_obj )
else ltrim( _MaintOrderOpSubOp.TechnicalObject, '0' ) end as eams_tec_obj preserving type ) as OperationTechnicalObjectLabel,
_OperationTechnicalObject.TechnicalObjectDescription as OperationTechnicalObjectDesc,
I_MaintOrderTechObj.TechnicalObject,
//TechnicalObjectForEdit- This is added for Measurement section, which is used seperately due to binding issues.
// @ObjectModel.filter.transformedBy: 'ABAP:CL_EAM_TECHOBJLABEL_EXIT'
cast($projection.TechnicalObjectLabel as eams_tech_obj_alpha_conv preserving type ) as TechnicalObjectForEdit,
I_MaintOrderTechObj.TechObjIsEquipOrFuncnlLoc,
_MaintOrderOpSubOp.TechnicalObject as MaintOperationTechnicalObject,
// _MaintOrderOpSubOp._TechnicalObject.TechnicalObjectLabel as OperationTechnicalObjectLabel,
_MaintOrderOpSubOp.TechObjIsEquipOrFuncnlLoc as OperationTechObjIsEquip,
_MaintOrderOpSubOp.OperationControlKey as OperationControlKey,
_MaintenanceOrderOp.OperationDescription,
case
when _MaintOrderOpSubOp.MaintenanceOrderSubOperation = ' '
then ' '
else _MaintOrderOpSubOp.OperationDescription
end as SubOperationText,
_MaintOrderOpSubOp.OperationDescription as OperationText,
_MaintOrderOpSubOp.OperationWorkCenterInternalID,
@ObjectModel.filter.transformedBy: 'ABAP:CL_EAM_MTJOBWKITEM_FILTER_EXIT'
@ObjectModel.foreignKey.association: '_MaintenanceJobSelection'
cast( '' as eams_ui_myself_myteam preserving type ) as MaintenanceJobSelection,
cast ( abap.dats'00000000' as budat preserving type ) as PostingDate,
@Semantics.dateTime: true
cast( '000000000000' as timestamp ) as MaintOrdOpWrkExecStartDateTime,
@Semantics.dateTime: true
cast( '000000000000' as timestamp ) as MaintOrdOpWrkExecEndDateTime,
I_MaintOrderTechObj._LocationAccountAssignment.MaintenancePlant,
I_MaintOrderTechObj.MaintenancePlanningPlant,
_MaintOrderOpSubOp.Plant,
// _MaintenanceOrderOp.OperationStandardTextCode,
// _MaintenanceOrderOp.Language,
// _MaintenanceOrderOp.NumberOfTimeTickets,
// _MaintOrderOpSubOp.OperationPurgInfoRecdSearchTxt,
_MaintOrderOpSubOp.OperationSupplier,
// _MaintOrderOpSubOp.OpExternalProcessingPrice,
// _MaintOrderOpSubOp.OpExternalProcessingPriceUnit,
// _MaintOrderOpSubOp.CostElement,
_MaintOrderOpSubOp.OpExternalProcessingCurrency,
// _MaintOrderOpSubOp.OperationPurchasingInfoRecord,
// _MaintOrderOpSubOp.PurchasingOrganization,
// _MaintOrderOpSubOp.PurchasingGroup,
// _MaintOrderOpSubOp.MaterialGroup,
_MaintOrderOpSubOp.OpPurchaseOutlineAgreement,
// _MaintOrderOpSubOp.OpPurchaseOutlineAgreementItem,
// _MaintOrderOpSubOp.OperationRequisitionerName,
// _MaintOrderOpSubOp.OperationTrackingNumber,
// _MaintOrderOpSubOp.NumberOfCapacities,
// _MaintOrderOpSubOp.OperationWorkPercent,
// _MaintOrderOpSubOp.OperationCalculationControl,
_MaintOrderOpSubOp.CostCtrActivityType as ActivityType,
_MaintOrderOpSubOp.OperationSystemCondition,
// _MaintOrderOpSubOp.OperationGoodsRecipientName,
// _MaintOrderOpSubOp.OperationUnloadingPointName,
_MaintOrderOpSubOp.OperationPersonResponsible,
//_MaintOrderOpSubOp._PersonResponsible.PersonFullName as OperationPersonRespName,
cast('' as eams_person_responsible_name) as OperationPersonRespName,
// _MaintOrderOpSubOp._PersonResponsible.Person as Person,
_MaintOrderOpSubOp.Equipment as OperationEquipment,
I_MaintOrderTechObj.Equipment as Equipment,
_MaintOrderOpSubOp.FunctionalLocationLabelName as OperationFunctionalLocation,
I_MaintOrderTechObj.FunctionalLocation,
// I_MaintOrderTechObj._FunctionalLocation._FunctionalLocationLabel.FunctionalLocationLabelName as FunctionalLocationName,
_FunclocationLabel.FunctionalLocationLabelName as FunctionalLocationName,
// _MaintOrderOpSubOp._OperationPlanningValues.ForecastedWorkQty as ForecastedWorkQty,
_MaintOrderOpSubOp._OperationPlanningValues.ConfirmationTotalQuantity as ConfirmationTotalQuantity,
_MaintOrderOpSubOp.OperationPlannedWork as OperationPlannedWork,
_MaintOrderOpSubOp._OperationPlanningValues.OperationQuantityUnit as OperationQuantityUnit,
cast(0 as abap.int4 ) as MaintOrdOpProgressionInPercent,
// _MaintOrderOpSubOp.OperationPlannedWorkUnit,
_MaintOrderOpSubOp._OperationPlanningValues.OperationPlannedWorkUnit,
@Semantics.quantity.unitOfMeasure: 'OperationPlannedWorkUnit'
case when
_MaintOrderOpSubOp._OperationPlanningValues.ForecastedWorkQty = 0
then
$projection.OperationPlannedWork - _MaintOrderOpSubOp._OperationPlanningValues.ConfirmationTotalQuantity
else
_MaintOrderOpSubOp._OperationPlanningValues.ForecastedWorkQty - _MaintOrderOpSubOp._OperationPlanningValues.ConfirmationTotalQuantity end as RemainingWorkQuantity,
// _MaintenanceOrderOp.BusinessArea,
// _MaintenanceOrderOp.ProfitCenter,
// _MaintenanceOrderOp.CostingSheet,
// _MaintenanceOrderOp.TaxJurisdiction,
// _MaintenanceOrderOp.FunctionalArea as FunctionalArea,
_MaintOrderOpSubOp.Assembly,
//Do not remove, AssemblyOrderLevelValue is needed for BOMVH.
I_MaintOrderTechObj.Assembly as AssemblyOrderLevelValue,
_MaintOrderOpSubOp.MaintOperationExecStageCode,
case when _MaintOrderOpSubOp.MaintenanceOrderSubOperation != ''
then _MaintOrderOpSubOp.MaintOrdOpProcessPhaseCode
else _MaintenanceOrderOp.MaintOrdOpProcessPhaseCode end as MaintOrdOpProcessPhaseCode,
case when _MaintOrderOpSubOp.MaintenanceOrderSubOperation != ''
then _MaintOrderOpSubOp.MaintOrdOpProcessSubPhaseCode
else _MaintenanceOrderOp.MaintOrdOpProcessSubPhaseCode end as MaintOrdOpProcessSubPhaseCode,
I_MaintOrderTechObj.MaintenanceOrderType as MaintenanceOrderType,
_MaintOrderOpSubOp._OperationPlanningValues.OpErlstSchedldExecStrtDte,
_MaintOrderOpSubOp._OperationPlanningValues.OpErlstSchedldExecStrtTme,
@Semantics.dateTime: true
dats_tims_to_tstmp( _MaintOrderOpSubOp._OperationPlanningValues.OpErlstSchedldExecStrtDte,
_MaintOrderOpSubOp._OperationPlanningValues.OpErlstSchedldExecStrtTme,
abap_system_timezone( $session.client,'NULL' ),//abap_user_timezone( $session.user,$session.client,'NULL' ),
$session.client,
'NULL' ) as OpErlstSchedldExecStrtDteTme,
// _MaintOrderOpSubOp._OperationPlanningValues.OpErlstSchedldExecEndDte,
// _MaintOrderOpSubOp._OperationPlanningValues.OpErlstSchedldExecEndTme,
@Semantics.dateTime: true
dats_tims_to_tstmp( _MaintOrderOpSubOp._OperationPlanningValues.OpErlstSchedldExecEndDte,
_MaintOrderOpSubOp._OperationPlanningValues.OpErlstSchedldExecEndTme,
abap_system_timezone( $session.client,'NULL' ),
$session.client,
'NULL' ) as OpErlstSchedldExecEndDteTme,
// _MaintOrderOpSubOp._OperationPlanningValues.OpLtstSchedldExecStrtDte,
// _MaintOrderOpSubOp._OperationPlanningValues.OpLtstSchedldExecStrtTme,
@Semantics.dateTime: true
dats_tims_to_tstmp( _MaintOrderOpSubOp._OperationPlanningValues.OpLtstSchedldExecStrtDte,
_MaintOrderOpSubOp._OperationPlanningValues.OpLtstSchedldExecStrtTme,
abap_system_timezone( $session.client,'NULL' ),
$session.client,
'NULL' ) as OpLtstSchedldExecStrtDteTme,
@Semantics.businessDate.at: true
_MaintOrderOpSubOp._OperationPlanningValues.OpLtstSchedldExecEndDte,
// _MaintOrderOpSubOp._OperationPlanningValues.OpLtstSchedldExecEndTme,
@Semantics.dateTime: true
dats_tims_to_tstmp( _MaintOrderOpSubOp._OperationPlanningValues.OpLtstSchedldExecEndDte,
_MaintOrderOpSubOp._OperationPlanningValues.OpLtstSchedldExecEndTme,
abap_system_timezone( $session.client,'NULL' ),
$session.client,
'NULL' ) as OpLtstSchedldExecEndDteTme,
@ObjectModel.foreignKey.association: '_MalfunctionEffect'
_OrdOpNotification._MaintNotifTechObj.MalfunctionEffect as MalfunctionEffect,
_OrdOpNotification._MaintNotifTechObj.MalfunctionStartDate as MalfunctionStartDate,
_OrdOpNotification._MaintNotifTechObj.MalfunctionStartTime as MalfunctionStartTime,
@Semantics.dateTime: true
dats_tims_to_tstmp( _OrdOpNotification._MaintNotifTechObj.MalfunctionStartDate,
_OrdOpNotification._MaintNotifTechObj.MalfunctionStartTime,
_OrdOpNotification._MaintNotifTechObj.NotificationTimeZone,
$session.client,
'NULL' ) as MalfunctionStartDateTime,
_OrdOpNotification._MaintNotifTechObj.MalfunctionEndDate as MalfunctionEndDate,
_OrdOpNotification._MaintNotifTechObj.MalfunctionEndTime as MalfunctionEndTime,
@Semantics.dateTime: true
dats_tims_to_tstmp( _OrdOpNotification._MaintNotifTechObj.MalfunctionEndDate,
_OrdOpNotification._MaintNotifTechObj.MalfunctionEndTime,
_OrdOpNotification._MaintNotifTechObj.NotificationTimeZone,
$session.client,
'NULL' ) as MalfunctionEndDateTime,
//@Semantics.timeZone: true
_OrdOpNotification._MaintNotifTechObj.NotificationTimeZone,
cast ( '' as tzniana ) as NotifTimeZoneIANACode,
// @ObjectModel.foreignKey.association: '_MalfunctionEffect'
// _MaintNotifTechObj.MalfunctionEffect as MalfunctionEffect,
// _MaintNotifTechObj.MalfunctionStartDate as MalfunctionStartDate,
// _MaintNotifTechObj.MalfunctionStartTime as MalfunctionStartTime,
// @Semantics.dateTime: true
// dats_tims_to_tstmp( _MaintNotifTechObj.MalfunctionStartDate,
// _MaintNotifTechObj.MalfunctionStartTime,
// _MaintNotifTechObj.NotificationTimeZone,
// $session.client,
// 'NULL' ) as MalfunctionStartDateTime,
// _MaintNotifTechObj.MalfunctionEndDate as MalfunctionEndDate,
// _MaintNotifTechObj.MalfunctionEndTime as MalfunctionEndTime,
// @Semantics.dateTime: true
// dats_tims_to_tstmp( _MaintNotifTechObj.MalfunctionEndDate,
// _MaintNotifTechObj.MalfunctionEndTime,
// _MaintNotifTechObj.NotificationTimeZone,
// $session.client,
// 'NULL' ) as MalfunctionEndDateTime,
// //@Semantics.timeZone: true
// _MaintNotifTechObj.NotificationTimeZone,
@Semantics.timeZone: true
_MaintOrderOpSubOp._Plant._OrganizationAddress[1:AddressRepresentationCode = ''].AddressTimeZone,
// @Semantics.timeZone: true
// cast( abap_user_timezone( $session.user,$session.client,'NULL' ) as tzonso preserving type ) as UserEnteredTimeZone,
// @Semantics.timeZone: true
// cast( abap_system_timezone( $session.client,'NULL' ) as tzonso preserving type ) as DisplayTimeZone,
_TimeZoneConfig.active as TimeZoneIsActive,
@Semantics.timeZone: true
case when ( _TimeZoneConfig.active = 'X' or I_MaintOrderTechObj._LocationAccountAssignment._MaintenancePlant._OrganizationAddress[1:AddressRepresentationCode = ''].AddressTimeZone is null
or I_MaintOrderTechObj._LocationAccountAssignment._MaintenancePlant._OrganizationAddress[1:AddressRepresentationCode = ''].AddressTimeZone = '' )
then cast( abap_system_timezone( $session.client,'NULL' ) as tzonso preserving type )
else cast( I_MaintOrderTechObj._LocationAccountAssignment._MaintenancePlant._OrganizationAddress[1:AddressRepresentationCode = ''].AddressTimeZone as tzonso preserving type ) end as PlantTimeZone,
_OrdOpNotification._MaintNotifTechObj.MaintNotificationCode as MaintNotificationCode, //Notification Code
_OrdOpNotification._MaintNotifTechObj.MaintNotificationCatalog,
_OrdOpNotification._MaintNotifTechObj.MaintNotificationCodeGroup,
// _OrdOpNotification._MaintNotifTechObj.CatalogProfile,
cast( '' as rbnr ) as CatalogProfile,
_OrdOpNotification._MaintenanceNotification.NotificationType,
cast ('' as sakat ) as MaintNotifCodgCatalogTypeCode,
// _OrdOpNotification._MaintNotifTechObj._PMNotificationType.MaintNotifCodgCatalogTypeCode,
_OrdOpNotification._MaintNotifTechObj._PMNotificationType.MaintNotifActivityCodeCatalog,
_OrdOpNotification._MaintNotifTechObj._PMNotificationType.MaintNotifCauseCodeCatalog,
_OrdOpNotification._MaintNotifTechObj._PMNotificationType.MaintNotifDamageCodeCatalog,
_OrdOpNotification._MaintNotifTechObj._PMNotificationType.MaintNotifObjPrtCodeCatalog,
// _MaintNotifTechObj._MaintNotifLongText.TextObjectCategory as TextObjectCategory,
// _MaintNotifTechObj._MaintNotifLongText.TextObjectType as TextObjectType,
_OrdOpNotification._MaintNotifTechObj._MaintNotifLongText.MaintNotifLongTextForEdit as MaintNotifLongTextForEdit,
cast(unit_conversion(
quantity => _OrdOpNotification._MaintNotifTechObj.MaintObjectDowntimeDuration,
source_unit => cast('S' as maueh),
target_unit => _OrdOpNotification._MaintNotifTechObj.MaintObjDowntimeDurationUnit,
error_handling=> 'SET_TO_NULL'
) as auszt ) as MaintObjectDowntimeDuration,
_OrdOpNotification._MaintNotifTechObj.MaintObjDowntimeDurationUnit as MaintObjDowntimeDurationUnit,
_OrdOpNotification._MaintNotifTechObj.MaintenanceObjectIsDown as MaintenanceObjectIsDown, //Breakdown
_OrdOpNotification._MaintNotifTechObj._PMNotifMaintenanceData.MaintNotifDetectionCatalog as MaintNotifDetectionCatalog,
_OrdOpNotification._MaintNotifTechObj._PMNotifMaintenanceData.MaintNotifDetectionCodeGroup as MaintNotifDetectionCodeGroup,
_OrdOpNotification._MaintNotifTechObj._PMNotifMaintenanceData.MaintNotifDetectionCode as MaintNotifDetectionCode,
_OrdOpNotification.MaintenanceOrderObjectListItem,
@Semantics.booleanIndicator: true
_OrdOpNotification.MaintOrdOpHasNotifAssigned,
case when $projection.MaintenanceOrderSubOperation != ''
then _MaintOrderSubOperationTP_2.MaintOrderConfirmation
else _MaintenanceOrderOp.MaintOrderConfirmation end as MaintOrderConfirmation,
case when $projection.MaintenanceOrderSubOperation != ''
then _MaintOrderSubOperationTP_2.MaintOrderConfCntrValue
else _MaintenanceOrderOp.MaintOrderConfCntrValue end as MaintOrderConfCntrValue,
// case when _MaintOrderOpSubOp.MaintenanceOrderSubOperation != '' then 'X'
// else ''
// end as OperationIsSubOperation,
// _MaintNotifTechObj.NotificationHasLongText,
// Reading Completion Confirmation
_ConfirmationParam.FinalConfirmationType,
_ConfirmationParam.OpenReservationIsFinallyIssued,
// _StatusObjectActiveStatus,
I_MaintOrderTechObj._MaintenanceOrderType,
_MaintJobWorkItemComponent,
_MaintJobWorkItemService,
_MaintJobWorkItemUnplndComp,
_MaintenanceOrder,
_MaintenanceJob,
_MaintOrderOpSubOp._OpExternalProcessingCurrency,
_MaintenanceOrderOp._OperationPlanningValues,
_MaintOrderOpSubOp._OperationControlKey,
_MaintOrderOpSubOp._OperationSystemCondition,
_MaintOrderOpSubOp._Plant,
I_MaintOrderTechObj._LocationAccountAssignment._MaintenancePlant,
I_MaintOrderTechObj._MaintenancePlanningPlant,
// _MaintOrderOpSubOp._OperationCalculationControl,
_MaintOrderOpSubOp._Assembly,
// _MaintenanceOrderOp._Language,
_MaintOrderOpSubOp._Supplier,
_MaintOrderOpSubOp._PersonResponsible,
_MaintenanceOrderOp._MaintOrderProdnRsceTool,
_MaintOrderOpSubOp._OperationControlKey.OperationExternalProcessing,
_MaintOrderOpSubOp._OperationControlKey._OperationExternalProcessing,
_MaintOrderOpSubOp._OperationControlKey.ConfirmationIsNotPossible,
_EAMProcessPhase,
_EAMProcessSubPhase,
// _PersonWorkAgreement,
// I_MaintOrderTechObj._MaintenancePriority,
// I_MaintOrderTechObj._MaintenancePriorityType,
_MaintenancePriority,
_MaintenanceJobSelection,
_WorkCenterText,
// _OpStatusObjectStatus,
_IsFinallyConfirmed,
_MaintNotificationItemTP,
// _MaintNotifLongTextTP,
_MaintNotifDetectCodeTxt,
_OrdOpNotification._MaintNotifTechObj._MaintNotificationCode,
_OrdOpNotification._MaintNotifTechObj._MalfunctionEffect,
// I_MaintOrderTechObj._FunctionalLocation,
_FunctionalLocationText,
I_MaintOrderTechObj._TechObjIsEquipOrFuncnlLoc,
// I_MaintOrderTechObj._MaintenanceNotification,
_OrdOpNotification.MaintenanceNotification as MaintenanceNotificationForEdit,
_OrdOpNotification._MaintenanceNotification,
_MaintOrderQuickView,
_MaintNotificationQuickView,
_PlannedWorkUnitOfMeasure,
// _MaintOrderSubOperationTP_2,
// _MaintOrderOpSubOp.OperationWorkCenterTypeCode,
// _MaintOrderOpSubOp._WorkCenter as _WorkCenter,
_IsActivePhaseModel,
I_MaintOrderTechObj._MaintOrderProcessingContext,
_MaintOrderOpSubOp._MaintOperationExecStageCode,
// _OperationTechnicalObject,
_TechnicalObject,
_MaintOrderOpSubOp._TechObjIsEquipOrFuncnlLoc as _OpTechObjIsEquipOrFuncnlLoc,
_OperationEquipment,
_OpFunctionalLocation,
_ConfirmationParam,
// I_MaintOrderTechObj._Equipment as _OrderEquipment,
_EquipmentText,
// I_MaintOrderTechObj._TechnicalObject,
_OrderLongTextTP,
_OrderOpLongText,
_OrderSopLongText,
_OrdOpNotification._MaintenanceNotification._PMNotificationType,
_PersnRespVH
}
where
(
I_MaintOrderTechObj._MaintOrderTypeControlParam.MaintOrdTypeHasActvPhaseModel = ''
// _MaintOrderTypeControlParam.MaintOrdTypeHasActvPhaseModel = ''
or _DispatchedStatus.StatusIsInactive = ''
or _PartiallyConfirmedStatus.StatusIsInactive = ''
or _FullyConfirmedStatus.StatusIsInactive = ''
or _JobInProcessStatus.StatusIsInactive = ''
or _JobFinishedStatus.StatusIsInactive = ''
)
and(
_MaintOrderOpSubOp.MaintOrdOpProcessPhaseCode = '07' //Execution
or _MaintOrderOpSubOp.MaintOrdOpProcessPhaseCode = '08' //Post Execution
or _MaintOrderOpSubOp.MaintOrdOpProcessPhaseCode = ''
)
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