R_MaintenanceJobTP

DDL: R_MAINTENANCEJOBTP SQL: RMAINTJOBTP Type: view_entity COMPOSITE

Maintenance Order TP

R_MaintenanceJobTP is a Composite CDS View that provides data about "Maintenance Order TP" in SAP S/4HANA. It reads from 1 data source (I_MaintenanceOrder) and exposes 58 fields with key field MaintenanceOrder. It has 4 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_MaintenanceOrder I_MaintenanceOrder from

Associations (4)

CardinalityTargetAliasCondition
[0..*] I_StatusObjectStatus _OrderStatusObjectStatus $projection.MaintenanceOrderInternalID = _OrderStatusObjectStatus.StatusObject
[0..1] I_Indicator _IsFinallyConfirmed $projection.IsFinallyConfirmed = _IsFinallyConfirmed.IndicatorValue
[0..1] I_Indicator _IsInProcess $projection.IsInProcess = _IsInProcess.IndicatorValue
[0..*] R_MaintenanceJobWorkItemTP _MaintenanceJobWorkItem

Annotations (8)

NameValueLevelField
AccessControl.authorizationCheck #CHECK view
EndUserText.label Maintenance Order TP view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.sapObjectNodeType.name MaintenanceOrder view

Fields (58)

KeyFieldSource TableSource FieldDescription
KEY MaintenanceOrder MaintenanceOrder
MaintOrderRoutingNumber MaintOrderRoutingNumber
MaintenanceOrderType MaintenanceOrderType
MaintenanceOrderDesc MaintenanceOrderDesc
MaintPriority MaintPriority
MaintPriorityType MaintPriorityType
MaintOrdBasicStartDateTime
MaintOrdBasicEndDateTime
MaintOrdBasicStartDate
MaintOrdBasicStartTime
MaintOrdBasicEndDate
MaintOrdBasicEndTime
MaintOrdSchedldBscStrtDateTime
MaintOrdSchedldBscEndDateTime
ScheduledBasicStartDate
ScheduledBasicStartTime
ScheduledBasicEndDate
ScheduledBasicEndTime
MaintOrderReferenceDateTime
MaintOrderReferenceDate
MaintOrderReferenceTime
MaintenanceNotification MaintenanceNotification
OrdIsNotSchedldAutomatically OrdIsNotSchedldAutomatically
MainWorkCenter MainWorkCenter
MainWorkCenterPlant MainWorkCenterPlant
MaintenancePlanningPlant MaintenancePlanningPlant
MaintenancePlant MaintenancePlant
Assembly Assembly
BusinessArea BusinessArea
ReferenceElement ReferenceElement
FunctionalArea FunctionalArea
AdditionalDeviceData AdditionalDeviceData
Equipment Equipment
MaintenanceOrderPlanningCode MaintenanceOrderPlanningCode
MaintenancePlannerGroup MaintenancePlannerGroup
MaintenanceActivityType MaintenanceActivityType
OrderProcessingGroup OrderProcessingGroup
ProfitCenter ProfitCenter
ResponsibleCostCenter ResponsibleCostCenter
MaintenanceRevision MaintenanceRevision
SerialNumber
SuperiorProjectNetwork SuperiorProjectNetwork
OperationSystemCondition OperationSystemCondition
WBSElementInternalID
ControllingObjectClass ControllingObjectClass
FunctionalLocation
BasicSchedulingType BasicSchedulingType
LatestAcceptableCompletionDate LatestAcceptableCompletionDate
MaintOrdPersonResponsible MaintOrdPersonResponsible
LastChangeDateTime LastChangeDateTime
CreatedByUser CreatedByUser
MaintObjectLocAcctAssgmtNmbr MaintObjectLocAcctAssgmtNmbr
MaintenanceOrderInternalID MaintenanceOrderInternalID
_Equipment _Equipment
_LocationAccountAssignment _LocationAccountAssignment
_MaintenanceJobWorkItem _MaintenanceJobWorkItem
_IsFinallyConfirmed _IsFinallyConfirmed
_IsInProcess _IsInProcess
//@AbapCatalog.sqlViewName: 'RMAINTJOBTP'

//@AbapCatalog.compiler.compareFilter: true

//@AbapCatalog.preserveKey: true

@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Maintenance Order TP'

//@ClientHandling.algorithm: #SESSION_VARIABLE

@VDM.viewType: #COMPOSITE
@VDM.usage.type: [#TRANSACTIONAL_PROCESSING_SERVICE]
@VDM.lifecycle.contract.type: #SAP_INTERNAL_API
@ObjectModel.usageType: {serviceQuality: #C, sizeCategory: #L, dataClass: #TRANSACTIONAL}
@ObjectModel.sapObjectNodeType.name: 'MaintenanceOrder'

define root view entity R_MaintenanceJobTP
  as select from I_MaintenanceOrder
  association [0..*] to I_StatusObjectStatus       as _OrderStatusObjectStatus on $projection.MaintenanceOrderInternalID = _OrderStatusObjectStatus.StatusObject
  association [0..1] to I_Indicator                as _IsFinallyConfirmed      on $projection.IsFinallyConfirmed = _IsFinallyConfirmed.IndicatorValue
  association [0..1] to I_Indicator                as _IsInProcess             on $projection.IsInProcess = _IsInProcess.IndicatorValue

  composition [0..*] of R_MaintenanceJobWorkItemTP as _MaintenanceJobWorkItem

{
  key MaintenanceOrder,
      MaintOrderRoutingNumber,

      MaintenanceOrderType,
      MaintenanceOrderDesc,
      MaintPriority,
      MaintPriorityType,
      cast(dats_tims_to_tstmp(MaintOrdBasicStartDate, MaintOrdBasicStartTime, abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL') as timestamp preserving type)                 as MaintOrdBasicStartDateTime,
      cast(dats_tims_to_tstmp(MaintOrdBasicEndDate,   MaintOrdBasicEndTime,   abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL') as timestamp preserving type)                 as MaintOrdBasicEndDateTime,

      tstmp_to_dats( dats_tims_to_tstmp(MaintOrdBasicStartDate, MaintOrdBasicStartTime, abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL'), 'UTC', $session.client, 'NULL' )   as MaintOrdBasicStartDate,
      tstmp_to_tims( dats_tims_to_tstmp(MaintOrdBasicStartDate, MaintOrdBasicStartTime, abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL'), 'UTC', $session.client, 'NULL' )   as MaintOrdBasicStartTime,
      tstmp_to_dats( dats_tims_to_tstmp(MaintOrdBasicEndDate, MaintOrdBasicEndTime, abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL'), 'UTC', $session.client, 'NULL' )       as MaintOrdBasicEndDate,
      tstmp_to_tims( dats_tims_to_tstmp(MaintOrdBasicEndDate, MaintOrdBasicEndTime, abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL'), 'UTC', $session.client, 'NULL' )       as MaintOrdBasicEndTime,

      cast(dats_tims_to_tstmp(ScheduledBasicStartDate, ScheduledBasicStartTime, abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL') as timestamp preserving type)               as MaintOrdSchedldBscStrtDateTime,
      cast(dats_tims_to_tstmp(ScheduledBasicEndDate,   ScheduledBasicEndTime,   abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL') as timestamp preserving type)               as MaintOrdSchedldBscEndDateTime,

      tstmp_to_dats( dats_tims_to_tstmp(ScheduledBasicStartDate, ScheduledBasicStartTime, abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL'), 'UTC', $session.client, 'NULL' ) as ScheduledBasicStartDate,
      tstmp_to_tims( dats_tims_to_tstmp(ScheduledBasicStartDate, ScheduledBasicStartTime, abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL'), 'UTC', $session.client, 'NULL' ) as ScheduledBasicStartTime,
      tstmp_to_dats( dats_tims_to_tstmp(ScheduledBasicEndDate, ScheduledBasicEndTime, abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL'), 'UTC', $session.client, 'NULL' )     as ScheduledBasicEndDate,
      tstmp_to_tims( dats_tims_to_tstmp(ScheduledBasicEndDate, ScheduledBasicEndTime, abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL'), 'UTC', $session.client, 'NULL' )     as ScheduledBasicEndTime,

      cast(dats_tims_to_tstmp(MaintOrderReferenceDate, MaintOrderReferenceTime, abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL') as timestamp preserving type)               as MaintOrderReferenceDateTime,
      tstmp_to_dats( dats_tims_to_tstmp(MaintOrderReferenceDate, MaintOrderReferenceTime, abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL'), 'UTC', $session.client, 'NULL' ) as MaintOrderReferenceDate,
      tstmp_to_tims( dats_tims_to_tstmp(MaintOrderReferenceDate, MaintOrderReferenceTime, abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL'), 'UTC', $session.client, 'NULL' ) as MaintOrderReferenceTime,

      MaintenanceNotification,
      OrdIsNotSchedldAutomatically,

      MainWorkCenter,
      MainWorkCenterPlant,

      MaintenancePlanningPlant,
      MaintenancePlant,

      Assembly,

      BusinessArea,
      ReferenceElement,
      FunctionalArea,
      AdditionalDeviceData,
      Equipment,
      MaintenanceOrderPlanningCode,
      MaintenancePlannerGroup,
      MaintenanceActivityType,
      OrderProcessingGroup,
      ProfitCenter,
      ResponsibleCostCenter,
      MaintenanceRevision,
      cast ( SerialNumber as vdm_eam_gernr )                                                                                                                                                         as SerialNumber,
      SuperiorProjectNetwork,
      OperationSystemCondition,
      cast ( WBSElementInternalID as ps_s4_pspnr )                                                                                                                                                   as WBSElementInternalID,
      ControllingObjectClass,
      cast ( _LocationAccountAssignment.FunctionalLocation as vdm_eam_tplnr )                                                                                                                        as FunctionalLocation,
      BasicSchedulingType,
      LatestAcceptableCompletionDate,
      MaintOrdPersonResponsible,
      @ObjectModel.readOnly: null
      LastChangeDateTime,
      CreatedByUser,
      MaintObjectLocAcctAssgmtNmbr,
      // used for asscosiating I_StatusObjectStatus

      MaintenanceOrderInternalID,
      // this field is used for View Job Card action on the UI. this is a calculated field. impl. class is asociated in C view.

      @Semantics.text: true
      cast ('' as vdm_j_system_status_concat_t)                                                                                                                                                      as ConcatenatedActiveSystStsName,
      // this field is used for View Job Card action on the UI.

      @ObjectModel.foreignKey.association: '_IsFinallyConfirmed'
      cast( case when _OrderStatusObjectStatus[1: StatusCode = 'I0009'].StatusCode is not null and
                      _OrderStatusObjectStatus[1: StatusCode = 'I0009'].StatusIsInactive <> 'X'
                 then 'X'
                 else '' end as eams_finally_confirmed )                                                                                                                                             as IsFinallyConfirmed,
      // this field is used for View Job Card action on the UI.

      @ObjectModel.foreignKey.association: '_IsInProcess'
      cast( case when (_StatusObjectActiveStatus[1: StatusCode = 'I0010' ].StatusCode != '' and _StatusObjectActiveStatus[1: StatusCode = 'I0010' ].StatusIsActive = 'X') or
                      (_StatusObjectActiveStatus[1: StatusCode = 'I0809' ].StatusCode != '' and _StatusObjectActiveStatus[1: StatusCode = 'I0809' ].StatusIsActive = 'X')
                 then 'X'
                 else '' end as xfeld )                                                                                                                                                              as IsInProcess,
      /* Associations */
      _Equipment,
      _LocationAccountAssignment,
      _MaintenanceJobWorkItem,
      _IsFinallyConfirmed, // needed for foreign key association

      _IsInProcess // // needed for foreign key association

}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_LOCATIONACCOUNTASSIGNMENT",
"I_MAINTENANCEORDER",
"I_STATUSOBJECTACTIVESTATUS",
"I_STATUSOBJECTSTATUS"
],
"ASSOCIATED":
[
"I_EQUIPMENT",
"I_INDICATOR",
"I_LOCATIONACCOUNTASSIGNMENT",
"R_MAINTENANCEJOBWORKITEMTP"
],
"BASE":
[
"I_MAINTENANCEORDER"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/