R_MaintenanceOrderTP

DDL: R_MAINTENANCEORDERTP Type: view_entity COMPOSITE

Maintenance Order TP

R_MaintenanceOrderTP 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 179 fields with key field MaintenanceOrder. It has 16 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_MaintenanceOrder I_MaintenanceOrder from

Associations (16)

CardinalityTargetAliasCondition
[0..1] I_FunctionalLocationLabel _FunctionalLocationLabel _FunctionalLocationLabel.FunctionalLocation = $projection.FunctionalLocation
[0..1] E_MaintenanceOrder _MaintenanceOrderExtension _MaintenanceOrderExtension.MaintenanceOrder = $projection.MaintenanceOrder
[0..1] I_WBSElementBasicData _WBSElement $projection.WBSElementInternalID = _WBSElement.WBSElementInternalID
[0..1] I_WBSElementBasicData _LocAcctAssgmtWBSElement $projection.LocAcctAssgmtWBSElmntIntID = _LocAcctAssgmtWBSElement.WBSElementInternalID
[0..1] I_ProjectBasicData _ProjectBasicData $projection.ProjectInternalID = _ProjectBasicData.ProjectInternalID
[0..1] I_PersonWorkAgreement_1 _PersonResponsible $projection.MaintOrdPersonResponsible = _PersonResponsible.PersonWorkAgreement
[0..*] I_EAMProcessPhaseText _EAMProcessPhaseText _EAMProcessPhaseText.EAMProcessPhaseCode = $projection.MaintOrdProcessPhaseCode
[0..*] I_EAMProcessSubPhaseText _EAMProcessSubPhaseText _EAMProcessSubPhaseText.EAMProcessSubPhaseCode = $projection.MaintOrdProcessSubPhaseCode
[0..1] I_MaintOrderTechObj _MaintOrderTechObj _MaintOrderTechObj.MaintenanceOrder = $projection.MaintenanceOrder
[0..*] R_MaintenanceOrderOperationTP _MaintenanceOrderOperation
[0..*] R_MaintOrdObjectListItemTP _MaintOrderObjectListItem
[0..*] R_MaintOrderSettlmtDistrRuleTP _MaintOrderSettlmtDistrRule
[0..*] R_MaintOrderPhaseControlTP _MaintenanceOrderPhaseControl
[0..*] R_MaintenanceOrderPartnerTP _MaintenanceOrderPartner
[0..*] R_MaintenanceOrderLongTextTP _MaintenanceOrderLongText
[0..*] R_MaintOrdSettlmtDistrRuleTP_2 _MaintOrderSettlmtDistrRule_2

Annotations (12)

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
AbapCatalog.extensibility.extensible true view
AbapCatalog.extensibility.elementSuffix ORI view
AbapCatalog.extensibility.quota.maximumFields 250 view
AbapCatalog.extensibility.quota.maximumBytes 5000 view

Fields (179)

KeyFieldSource TableSource FieldDescription
KEY MaintenanceOrder MaintenanceOrder
MaintOrderRoutingNumber MaintOrderRoutingNumber
MaintenanceOrderType MaintenanceOrderType
MaintenanceOrderDesc MaintenanceOrderDesc
clientNULLendasMaintOrdBasicStartDate
clientNULLendasMaintOrdBasicStartTime
clientNULLendasMaintOrdBasicEndDate
clientNULLendasMaintOrdBasicEndTime
clientNULLendasScheduledBasicStartDate
clientNULLendasScheduledBasicStartTime
clientNULLendasScheduledBasicEndDate
clientNULLendasScheduledBasicEndTime
clientNULLendasMaintOrderReferenceDate
clientNULLendasMaintOrderReferenceTime
MainWorkCompletedDateTime MainWorkCompletedDateTime
MaintenanceNotification MaintenanceNotification
OrdIsNotSchedldAutomatically OrdIsNotSchedldAutomatically
MainWorkCenterInternalID WorkCenterInternalID
MainWorkCenterTypeCode WorkCenterTypeCode
MainWorkCenter _MainWorkCenter WorkCenter
MainWorkCenterPlant _MainWorkCenter Plant
ControllingArea ControllingArea
ServiceDocumentType ServiceDocumentType
ServiceDocument ServiceDocument
ServiceDocumentItem ServiceDocumentItem
AccountingIndicatorCode AccountingIndicatorCode
MaintenancePlanningPlant MaintenancePlanningPlant
Assembly Assembly
MaintOrdProcessPhaseCode MaintOrdProcessPhaseCode
MaintOrdProcessSubPhaseCode MaintOrdProcessSubPhaseCode
CompanyCode CompanyCode
BusinessArea BusinessArea
ReferenceElement ReferenceElement
FunctionalArea FunctionalArea
AdditionalDeviceData AdditionalDeviceData
Equipment Equipment
MaintenanceOrderPlanningCode MaintenanceOrderPlanningCode
MaintenancePlannerGroup MaintenancePlannerGroup
MaintenanceActivityType MaintenanceActivityType
MaintPriority MaintPriority
MaintPriorityType MaintPriorityType
OrderProcessingGroup OrderProcessingGroup
ProfitCenter ProfitCenter
ResponsibleCostCenter ResponsibleCostCenter
CostingSheet CostingSheet
ConditionUsage ConditionUsage
ConditionApplication ConditionApplication
Currency Currency
MaintenanceRevision MaintenanceRevision
SerialNumber
Product Material
SuperiorProjectNetwork SuperiorProjectNetwork
OperationSystemCondition OperationSystemCondition
WBSElementInternalID
ProjectInternalID
LocAcctAssgmtWBSElmntIntID
CostCenter _LocationAccountAssignment CostCenter
ControllingObjectClass ControllingObjectClass
FunctionalLocation
MaintenancePlant
AssetLocation _LocationAccountAssignment AssetLocation
AssetRoom _LocationAccountAssignment AssetRoom
PlantSection _LocationAccountAssignment PlantSection
ABCIndicator _LocationAccountAssignment ABCIndicator
MaintObjectFreeDefinedAttrib _LocationAccountAssignment MaintObjectFreeDefinedAttrib
WorkCenterInternalID _LocationAccountAssignment WorkCenterInternalID
WorkCenterTypeCode _LocationAccountAssignment WorkCenterTypeCode
WorkCenter
LocAcctAssgmtBusinessArea _LocationAccountAssignment BusinessArea
SettlementOrder _LocationAccountAssignment SettlementOrder
MasterFixedAsset _LocationAccountAssignment MasterFixedAsset
FixedAsset _LocationAccountAssignment FixedAsset
StandingOrderNumber _LocationAccountAssignment StandingOrderNumber
SalesOrganization _LocationAccountAssignment SalesOrganization
DistributionChannel _LocationAccountAssignment DistributionChannel
OrganizationDivision _LocationAccountAssignment OrganizationDivision
LocAcctAssgmtControllingArea _LocationAccountAssignment ControllingArea
LocAcctAssgmtCompanyCode _LocationAccountAssignment CompanyCode
MaintenanceOrderInternalID MaintenanceOrderInternalID
MaintenanceItemObjectList MaintenanceItemObjectList
MaintObjectLocAcctAssgmtNmbr I_MaintenanceOrder MaintObjectLocAcctAssgmtNmbr
ControllingSettlementProfile _CtrlgObjectSettlementRule ControllingSettlementProfile
BasicSchedulingType BasicSchedulingType
LatestAcceptableCompletionDate LatestAcceptableCompletionDate
MaintOrdPersonResponsible MaintOrdPersonResponsible
LastChangeByUser LastChangeByUser
LastChangeDateTime LastChangeDateTime
CreatedByUser CreatedByUser
OrderHasLongText OrderHasLongText
MaintOrderProcessingContext MaintOrderProcessingContext
MaintenanceOrderOverheadCode MaintenanceOrderOverheadCode
PlannedCostsCostingVariant PlannedCostsCostingVariant
ActualCostsCostingVariant ActualCostsCostingVariant
MaintenancePlan MaintenancePlan
MaintenanceCall MaintenanceCall
MaintenanceItem MaintenanceItem
LeadingOrder LeadingOrder
TaskListType TaskListType
TaskListGroup TaskListGroup
TaskListGroupCounter TaskListGroupCounter
OrderIsRefurbishmentOrder OrderIsRefurbishmentOrder
MaintenanceOrderUUID
MaintenanceProcessingPhase MaintenanceProcessingPhase
_MaintenanceOrderOperation _MaintenanceOrderOperation
_MaintOrderObjectListItem _MaintOrderObjectListItem
_MaintOrderSettlmtDistrRule _MaintOrderSettlmtDistrRule
_MaintOrderSettlmtDistrRule_2 _MaintOrderSettlmtDistrRule_2
_MaintenanceOrderPhaseControl _MaintenanceOrderPhaseControl
_MaintenanceOrderPartner _MaintenanceOrderPartner
_FunctionalLocationLabel _FunctionalLocationLabel
_EAMProcessPhase _EAMProcessPhase
_EAMProcessSubPhase _EAMProcessSubPhase
_LocationAccountAssignment _LocationAccountAssignment
_WBSElement _WBSElement
_MainWorkCenter _MainWorkCenter
_MaintenancePlanningPlant _MaintenancePlanningPlant
_MaintenancePlannerGroup _MaintenancePlannerGroup
_LocAcctAssgmtWBSElement _LocAcctAssgmtWBSElement
_ProjectBasicData _ProjectBasicData
_CtrlgObjectSettlementRule _CtrlgObjectSettlementRule
_MaintOrderTypeControlParam _MaintOrderTypeControlParam
_MaintOrderHasOpenMainWork _MaintOrderHasOpenMainWork
_EAMProcessPhaseText _EAMProcessPhaseText
_EAMProcessSubPhaseText _EAMProcessSubPhaseText
_MaintenanceOrderTypeText _MaintenanceOrderTypeText
_MaintenanceActivityTypeText _MaintenanceActivityTypeText
_MaintOrdProcessingContextText _MaintOrdProcessingContextText
_MaintOrdPlanningCodeText _MaintOrdPlanningCodeText
_AssemblyText _AssemblyText
_EquipmentText _EquipmentText
_OperationSystemConditionText _OperationSystemConditionText
_CostingSheetProcedureText _CostingSheetProcedureText
_PlannedCostingVariantText _PlannedCostingVariantText
_ActualCostingVariantText _ActualCostingVariantText
_ABCIndicatorText _ABCIndicatorText
_BusinessAreaText _BusinessAreaText
_ResponsibleCostCenterText _ResponsibleCostCenterText
_ControllingObjectClassText _ControllingObjectClassText
_ProfitCenterText _ProfitCenterText
_CostCenterText _CostCenterText
_LocAcctAssgmtBusinessAreaText _LocAcctAssgmtBusinessAreaText
_CtrlgSettlementProfileText _CtrlgSettlementProfileText
_MaintPriorityTypeText _MaintPriorityTypeText
_MaintPriorityText _MaintPriorityText
_BasicSchedulingTypeText _BasicSchedulingTypeText
_MaintProcessingPhaseText _MaintProcessingPhaseText
_MaintenanceNotification _MaintenanceNotification
_MaintenanceActivityType _MaintenanceActivityType
_MaintenanceOrderType _MaintenanceOrderType
_MaintOrderTechObj _MaintOrderTechObj
_MaintOrdPlngDegreeCode _MaintOrdPlngDegreeCode
_Assembly _Assembly
_OperationSystemCondition _OperationSystemCondition
_Equipment _Equipment
_CostingSheetProcedure _CostingSheetProcedure
_PlannedCostingVariant _PlannedCostingVariant
_ActualCostingVariant _ActualCostingVariant
_BusinessArea _BusinessArea
_ResponsibleCostCenter _ResponsibleCostCenter
_ControllingObjectClass _ControllingObjectClass
_ProfitCenter _ProfitCenter
_MaintenancePriorityType _MaintenancePriorityType
_MaintenancePriority _MaintenancePriority
_BasicSchedulingType _BasicSchedulingType
_MaintenanceOrderPhase _MaintenanceOrderPhase
_StatusObjectActiveStatus _StatusObjectActiveStatus
_MaintenanceOrderLongText _MaintenanceOrderLongText
_ControllingArea _ControllingArea
_CompanyCode _CompanyCode
_PersonResponsible _PersonResponsible
_MaintenanceRevision _MaintenanceRevision
_OrderComponent _OrderComponent
_OrderService _OrderService
_OrderPrtTool _OrderPrtTool
_MaintenancePlan _MaintenancePlan
_MaintenanceItem _MaintenanceItem
_MaintenanceCall _MaintenanceCall
_LeadingOrder _LeadingOrder
_OverheadCode _OverheadCode
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Maintenance Order TP'
@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'

@AbapCatalog.extensibility: {
  extensible: true,
  dataSources: ['_MaintenanceOrderExtension'],
  elementSuffix: 'ORI',
  quota: {
    maximumFields: 250,
    maximumBytes: 5000
  }
}
define root view entity R_MaintenanceOrderTP
  as select from I_MaintenanceOrder
  composition [0..*] of R_MaintenanceOrderOperationTP       as _MaintenanceOrderOperation
  composition [0..*] of R_MaintOrdObjectListItemTP          as _MaintOrderObjectListItem
  composition [0..*] of R_MaintOrderSettlmtDistrRuleTP      as _MaintOrderSettlmtDistrRule
  composition [0..*] of R_MaintOrderPhaseControlTP          as _MaintenanceOrderPhaseControl
  composition [0..*] of R_MaintenanceOrderPartnerTP         as _MaintenanceOrderPartner
  composition [0..*] of R_MaintenanceOrderLongTextTP        as _MaintenanceOrderLongText
  composition [0..*] of R_MaintOrdSettlmtDistrRuleTP_2      as _MaintOrderSettlmtDistrRule_2

  association [0..1] to I_FunctionalLocationLabel           as _FunctionalLocationLabel       on  _FunctionalLocationLabel.FunctionalLocation = $projection.FunctionalLocation
  association [0..1] to E_MaintenanceOrder                  as _MaintenanceOrderExtension     on  _MaintenanceOrderExtension.MaintenanceOrder = $projection.MaintenanceOrder
  association [0..1] to I_WBSElementBasicData               as _WBSElement                    on  $projection.WBSElementInternalID = _WBSElement.WBSElementInternalID
  association [0..1] to I_WBSElementBasicData               as _LocAcctAssgmtWBSElement       on  $projection.LocAcctAssgmtWBSElmntIntID = _LocAcctAssgmtWBSElement.WBSElementInternalID
  association [0..1] to I_ProjectBasicData                  as _ProjectBasicData              on  $projection.ProjectInternalID = _ProjectBasicData.ProjectInternalID
  association [0..1] to I_PersonWorkAgreement_1             as _PersonResponsible             on  $projection.MaintOrdPersonResponsible = _PersonResponsible.PersonWorkAgreement
  association of one to many R_MaintOrderOpComponentTP_2    as _OrderComponent                on  $projection.MaintenanceOrder   =  _OrderComponent.MaintenanceOrder
                                                                                              and ( _OrderComponent.ProductTypeCode <> '2' )
  association of one to many R_MaintOrderOpComponentTP_2    as _OrderService                  on  $projection.MaintenanceOrder  = _OrderService.MaintenanceOrder
                                                                                              and _OrderService.ProductTypeCode = '2'
  association of one to many R_MaintOrderOpProdnRsceToolTP  as _OrderPrtTool                  on  $projection.MaintenanceOrder = _OrderPrtTool.MaintenanceOrder
  //TEXTs

  association [0..*] to I_EAMProcessPhaseText               as _EAMProcessPhaseText           on  _EAMProcessPhaseText.EAMProcessPhaseCode = $projection.MaintOrdProcessPhaseCode
  association [0..*] to I_EAMProcessSubPhaseText            as _EAMProcessSubPhaseText        on  _EAMProcessSubPhaseText.EAMProcessSubPhaseCode = $projection.MaintOrdProcessSubPhaseCode
  association [0..1] to I_MaintOrderTechObj                 as _MaintOrderTechObj             on  _MaintOrderTechObj.MaintenanceOrder = $projection.MaintenanceOrder
  association of one to many I_OrderTypeText                as _MaintenanceOrderTypeText      on  _MaintenanceOrderTypeText.OrderType = $projection.MaintenanceOrderType
  association of one to many I_MaintenanceActivityTypeText  as _MaintenanceActivityTypeText   on  _MaintenanceActivityTypeText.MaintenanceActivityType = $projection.MaintenanceActivityType
  association of one to many I_MaintOrdProcessingContextT   as _MaintOrdProcessingContextText on  _MaintOrdProcessingContextText.MaintOrderProcessingContext = $projection.MaintOrderProcessingContext
  association of one to many I_MaintOrdPlngDegreeCodeText   as _MaintOrdPlanningCodeText      on  _MaintOrdPlanningCodeText.MaintenanceOrderPlanningCode = $projection.MaintenanceOrderPlanningCode
  association of one to many I_MaterialText                 as _AssemblyText                  on  _AssemblyText.Material = $projection.Assembly
  association of one to many I_EquipmentText                as _EquipmentText                 on  _EquipmentText.Equipment = $projection.Equipment
  association of one to many I_MaintOperationSystConditionT as _OperationSystemConditionText  on  _OperationSystemConditionText.OperationSystemCondition = $projection.OperationSystemCondition
  association of one to many I_CostingSheetProcedureText    as _CostingSheetProcedureText     on  _CostingSheetProcedureText.ConditionUsage        = $projection.ConditionUsage
                                                                                              and _CostingSheetProcedureText.ConditionApplication  = $projection.ConditionApplication
                                                                                              and _CostingSheetProcedureText.CostingSheetProcedure = $projection.CostingSheet
  association of one to many I_CostingVariantText           as _PlannedCostingVariantText     on  _PlannedCostingVariantText.CostingVariant = $projection.PlannedCostsCostingVariant
  association of one to many I_CostingVariantText           as _ActualCostingVariantText      on  _ActualCostingVariantText.CostingVariant = $projection.ActualCostsCostingVariant
  association of one to many I_ABCIndicatorText             as _ABCIndicatorText              on  _ABCIndicatorText.ABCIndicator = $projection.abcindicator
  association of one to many I_ControllingObjectClassT      as _ControllingObjectClassText    on  _ControllingObjectClassText.ControllingObjectClass = $projection.ControllingObjectClass
  association of one to many I_BusinessAreaText             as _BusinessAreaText              on  _BusinessAreaText.BusinessArea = $projection.BusinessArea
  association of one to many I_BusinessAreaText             as _LocAcctAssgmtBusinessAreaText on  _LocAcctAssgmtBusinessAreaText.BusinessArea = $projection.LocAcctAssgmtBusinessArea
  association of one to many I_CtrlgSettlementProfileText   as _CtrlgSettlementProfileText    on  _CtrlgSettlementProfileText.ControllingSettlementProfile = $projection.controllingsettlementprofile
  association of one to many I_PMNotifPriorityTypeText      as _MaintPriorityTypeText         on  _MaintPriorityTypeText.MaintPriorityType = $projection.MaintPriorityType
  association of one to many I_PMNotificationPriorityText   as _MaintPriorityText             on  _MaintPriorityText.MaintPriorityType = $projection.MaintPriorityType
                                                                                              and _MaintPriorityText.MaintPriority     = $projection.MaintPriority
  association of one to many I_SchedulingTypeText           as _BasicSchedulingTypeText       on  _BasicSchedulingTypeText.SchedulingType = $projection.BasicSchedulingType
  association of one to many I_MaintenanceOrderPhaseText    as _MaintProcessingPhaseText      on  _MaintProcessingPhaseText.MaintenanceProcessingPhase = $projection.MaintenanceProcessingPhase
  association of one to one I_CostCenterText                as _ResponsibleCostCenterText     on  _ResponsibleCostCenterText.ControllingArea   = $projection.ControllingArea
                                                                                              and _ResponsibleCostCenterText.CostCenter        = $projection.ResponsibleCostCenter
                                                                                              and _ResponsibleCostCenterText.ValidityEndDate   >= $session.system_date
                                                                                              and _ResponsibleCostCenterText.ValidityStartDate <= $session.system_date
                                                                                              and _ResponsibleCostCenterText.Language          = $session.system_language
  association of one to one I_CostCenterText                as _CostCenterText                on  _CostCenterText.ControllingArea   = $projection.ControllingArea
                                                                                              and _CostCenterText.CostCenter        = $projection.costcenter
                                                                                              and _CostCenterText.ValidityEndDate   >= $session.system_date
                                                                                              and _CostCenterText.ValidityStartDate <= $session.system_date
                                                                                              and _CostCenterText.Language          = $session.system_language
  association of one to one I_ProfitCenterText              as _ProfitCenterText              on  _ProfitCenterText.ControllingArea   = $projection.ControllingArea
                                                                                              and _ProfitCenterText.ProfitCenter      = $projection.ProfitCenter
                                                                                              and _ProfitCenterText.ValidityEndDate   >= $session.system_date
                                                                                              and _ProfitCenterText.ValidityStartDate <= $session.system_date
                                                                                              and _ProfitCenterText.Language          = $session.system_language

  //  association [0..1] to P_MaintOrdNoOfCheckList        as _MaintOrdOpNoOfCheckList   on  $projection.MaintenanceOrder = _MaintOrdOpNoOfCheckList.MaintenanceOrder

{
  key MaintenanceOrder,
      MaintOrderRoutingNumber,

      MaintenanceOrderType,
      MaintenanceOrderDesc,
      case when MaintOrdBasicStartTime = '240000' and MaintOrdBasicStartDate is not initial then
      cast(dats_tims_to_tstmp( dats_add_days( MaintOrdBasicStartDate, 1, 'NULL') , cast( '000000' as abap.tims ),
                                    abap_system_timezone( $session.client,'NULL' ),
                                    $session.client, 'NULL') as timestamp preserving type)
      else cast(dats_tims_to_tstmp( MaintOrdBasicStartDate, MaintOrdBasicStartTime,
                                    abap_system_timezone( $session.client,'NULL' ),
                                    $session.client,'NULL') as timestamp preserving type)
      end                                                                                     as MaintOrdBasicStartDateTime,

      case when MaintOrdBasicEndTime = '240000' and MaintOrdBasicEndDate is not initial then
      cast(dats_tims_to_tstmp( dats_add_days( MaintOrdBasicEndDate, 1, 'NULL'), cast( '000000' as abap.tims ),
                                    abap_system_timezone( $session.client,'NULL' ),
                                    $session.client, 'NULL') as timestamp preserving type)
      else cast(dats_tims_to_tstmp( MaintOrdBasicEndDate,   MaintOrdBasicEndTime,
                                    abap_system_timezone( $session.client,'NULL' ),
                                    $session.client, 'NULL') as timestamp preserving type)
      end                                                                                     as MaintOrdBasicEndDateTime,

      case when MaintOrdBasicStartTime = '240000' and MaintOrdBasicStartDate is not initial then
      tstmp_to_dats( dats_tims_to_tstmp(dats_add_days( MaintOrdBasicStartDate, 1, 'NULL'), cast( '000000' as abap.tims ),
                          abap_system_timezone( $session.client,'NULL' ),
                          $session.client, 'NULL'), 'UTC', $session.client, 'NULL' )
      else tstmp_to_dats( dats_tims_to_tstmp(MaintOrdBasicStartDate, MaintOrdBasicStartTime,
                          abap_system_timezone( $session.client,'NULL' ),
                          $session.client, 'NULL'), 'UTC', $session.client, 'NULL' )
      end                                                                                     as MaintOrdBasicStartDate,

      case when MaintOrdBasicStartTime = '240000' and MaintOrdBasicStartDate is not initial then
      tstmp_to_tims( dats_tims_to_tstmp(dats_add_days( MaintOrdBasicStartDate, 1, 'NULL'), cast( '000000' as abap.tims ),
                          abap_system_timezone( $session.client,'NULL' ),
                          $session.client, 'NULL'), 'UTC', $session.client, 'NULL' )
      else tstmp_to_tims( dats_tims_to_tstmp(MaintOrdBasicStartDate, MaintOrdBasicStartTime,
                          abap_system_timezone( $session.client,'NULL' ),
                          $session.client, 'NULL'), 'UTC', $session.client, 'NULL' )
      end                                                                                     as MaintOrdBasicStartTime,

      case when MaintOrdBasicEndTime = '240000' and MaintOrdBasicEndDate is not initial then
      tstmp_to_dats( dats_tims_to_tstmp(dats_add_days( MaintOrdBasicEndDate, 1, 'NULL'),
                          cast( '000000' as abap.tims ), abap_system_timezone( $session.client,'NULL' ),
                          $session.client, 'NULL'), 'UTC', $session.client, 'NULL' )
      else tstmp_to_dats( dats_tims_to_tstmp(MaintOrdBasicEndDate, MaintOrdBasicEndTime,
                          abap_system_timezone( $session.client,'NULL' ),
                          $session.client, 'NULL'), 'UTC', $session.client, 'NULL' )
      end                                                                                     as MaintOrdBasicEndDate,

      case when MaintOrdBasicEndTime = '240000' and MaintOrdBasicEndDate is not initial then
      tstmp_to_tims( dats_tims_to_tstmp(dats_add_days( MaintOrdBasicEndDate, 1, 'NULL'),
                          cast( '000000' as abap.tims ), abap_system_timezone( $session.client,'NULL' ),
                          $session.client, 'NULL'), 'UTC', $session.client, 'NULL' )
      else tstmp_to_tims( dats_tims_to_tstmp(MaintOrdBasicEndDate, MaintOrdBasicEndTime,
                          abap_system_timezone( $session.client,'NULL' ),
                          $session.client, 'NULL'), 'UTC', $session.client, 'NULL' )
      end                                                                                     as MaintOrdBasicEndTime,

      case when ScheduledBasicStartTime = '240000' and ScheduledBasicStartDate is not initial
      then cast(dats_tims_to_tstmp( dats_add_days( ScheduledBasicStartDate, 1, 'NULL'), cast( '000000' as abap.tims ),
                                    abap_system_timezone( $session.client,'NULL' ),
                                    $session.client, 'NULL') as timestamp preserving type)

      else cast(dats_tims_to_tstmp( ScheduledBasicStartDate, ScheduledBasicStartTime,
                                    abap_system_timezone( $session.client,'NULL' ),
                                    $session.client,'NULL') as timestamp preserving type)
      end                                                                                     as MaintOrdSchedldBscStrtDateTime,

      case when ScheduledBasicEndTime = '240000' and ScheduledBasicEndDate is not initial
      then cast(dats_tims_to_tstmp( dats_add_days( ScheduledBasicEndDate, 1, 'NULL'), cast( '000000' as abap.tims ),
                                    abap_system_timezone( $session.client,'NULL' ),
                                    $session.client, 'NULL') as timestamp preserving type)
      else cast(dats_tims_to_tstmp( ScheduledBasicEndDate, ScheduledBasicEndTime,
                                    abap_system_timezone( $session.client,'NULL' ),
                                    $session.client,'NULL') as timestamp preserving type)
      end                                                                                     as MaintOrdSchedldBscEndDateTime,

      case  when ScheduledBasicStartTime = '240000' and ScheduledBasicStartDate is not initial
      then tstmp_to_dats( dats_tims_to_tstmp(dats_add_days( ScheduledBasicStartDate, 1, 'NULL'), cast( '000000' as abap.tims ),
                          abap_system_timezone( $session.client,'NULL' ),
                          $session.client, 'NULL'), 'UTC', $session.client, 'NULL' )
      else tstmp_to_dats( dats_tims_to_tstmp(ScheduledBasicStartDate, ScheduledBasicStartTime,
                          abap_system_timezone( $session.client,'NULL' ),
                          $session.client, 'NULL'), 'UTC', $session.client, 'NULL' )
      end                                                                                     as ScheduledBasicStartDate,

      case when ScheduledBasicStartTime  = '240000' and ScheduledBasicStartDate is not initial
      then tstmp_to_tims( dats_tims_to_tstmp(dats_add_days( ScheduledBasicStartDate, 1, 'NULL'), cast( '000000' as abap.tims ),
                          abap_system_timezone( $session.client,'NULL' ),
                          $session.client, 'NULL'), 'UTC', $session.client, 'NULL' )
      else tstmp_to_tims( dats_tims_to_tstmp(ScheduledBasicStartDate, ScheduledBasicStartTime,
                          abap_system_timezone( $session.client,'NULL' ),
                          $session.client, 'NULL'), 'UTC', $session.client, 'NULL' )
      end                                                                                     as ScheduledBasicStartTime,

      case when ScheduledBasicEndTime  = '240000' and ScheduledBasicEndDate is not initial
      then tstmp_to_dats( dats_tims_to_tstmp(dats_add_days( ScheduledBasicEndDate, 1, 'NULL'), cast( '000000' as abap.tims ),
                          abap_system_timezone( $session.client,'NULL' ),
                          $session.client, 'NULL'), 'UTC', $session.client, 'NULL' )
      else tstmp_to_dats( dats_tims_to_tstmp(ScheduledBasicEndDate, ScheduledBasicEndTime,
                          abap_system_timezone( $session.client,'NULL' ),
                          $session.client, 'NULL'), 'UTC', $session.client, 'NULL' )
      end                                                                                     as ScheduledBasicEndDate,

      case when ScheduledBasicEndTime  = '240000' and ScheduledBasicEndDate is not initial
      then tstmp_to_tims( dats_tims_to_tstmp(dats_add_days( ScheduledBasicEndDate, 1, 'NULL'), cast( '000000' as abap.tims ),
                          abap_system_timezone( $session.client,'NULL' ),
                          $session.client, 'NULL'), 'UTC', $session.client, 'NULL' )
      else tstmp_to_tims( dats_tims_to_tstmp(ScheduledBasicEndDate, ScheduledBasicEndTime,
                          abap_system_timezone( $session.client,'NULL' ),
                          $session.client, 'NULL'), 'UTC', $session.client, 'NULL' )
      end                                                                                     as ScheduledBasicEndTime,

      case when MaintOrderReferenceTime  = '240000' and MaintOrderReferenceDate is not initial
      then cast(dats_tims_to_tstmp( dats_add_days( MaintOrderReferenceDate, 1, 'NULL'), cast( '000000' as abap.tims ),
                                    abap_system_timezone( $session.client,'NULL' ),
                                    $session.client, 'NULL') as timestamp preserving type)
      else cast(dats_tims_to_tstmp( MaintOrderReferenceDate, MaintOrderReferenceTime,
                                    abap_system_timezone( $session.client,'NULL' ),
                                    $session.client,'NULL') as timestamp preserving type)
      end                                                                                     as MaintOrderReferenceDateTime,

      case  when MaintOrderReferenceTime = '240000' and MaintOrderReferenceDate is not initial
      then tstmp_to_dats( dats_tims_to_tstmp(dats_add_days( MaintOrderReferenceDate, 1, 'NULL'), cast( '000000' as abap.tims ),
                          abap_system_timezone( $session.client,'NULL' ),
                          $session.client, 'NULL'), 'UTC', $session.client, 'NULL' )
      else tstmp_to_dats( dats_tims_to_tstmp(MaintOrderReferenceDate, MaintOrderReferenceTime,
                          abap_system_timezone( $session.client,'NULL' ),
                          $session.client, 'NULL'), 'UTC', $session.client, 'NULL' )
      end                                                                                     as MaintOrderReferenceDate,

      case  when MaintOrderReferenceTime = '240000' and MaintOrderReferenceDate is not initial
      then tstmp_to_tims( dats_tims_to_tstmp(dats_add_days( MaintOrderReferenceDate, 1, 'NULL'), cast( '000000' as abap.tims ),
                          abap_system_timezone( $session.client,'NULL' ),
                          $session.client, 'NULL'), 'UTC', $session.client, 'NULL' )
      else tstmp_to_tims( dats_tims_to_tstmp(MaintOrderReferenceDate, MaintOrderReferenceTime,
                          abap_system_timezone( $session.client,'NULL' ),
                          $session.client, 'NULL'), 'UTC', $session.client, 'NULL' )
      end                                                                                     as MaintOrderReferenceTime,

      MainWorkCompletedDateTime,

      MaintenanceNotification,
      OrdIsNotSchedldAutomatically,

      WorkCenterInternalID                                                                    as MainWorkCenterInternalID,
      WorkCenterTypeCode                                                                      as MainWorkCenterTypeCode,
      _MainWorkCenter.WorkCenter                                                              as MainWorkCenter,
      _MainWorkCenter.Plant                                                                   as MainWorkCenterPlant,
      ControllingArea,

      //ServiceDetails for MOVE team

      ServiceDocumentType,
      ServiceDocument,
      ServiceDocumentItem,
      AccountingIndicatorCode,
      //ServiceDetails for MOVE team


      MaintenancePlanningPlant,
      Assembly,
      MaintOrdProcessPhaseCode,
      MaintOrdProcessSubPhaseCode,
      CompanyCode,
      BusinessArea,
      ReferenceElement,
      FunctionalArea,
      AdditionalDeviceData,
      Equipment,
      MaintenanceOrderPlanningCode,
      MaintenancePlannerGroup,
      MaintenanceActivityType,
      MaintPriority,
      MaintPriorityType,
      OrderProcessingGroup,
      ProfitCenter,
      ResponsibleCostCenter,
      CostingSheet,
      ConditionUsage,
      ConditionApplication,
      Currency,

      MaintenanceRevision,
      cast ( SerialNumber as vdm_eam_gernr )                                                  as SerialNumber,
      Material                                                                                as Product,
      SuperiorProjectNetwork,
      OperationSystemCondition,
      @ObjectModel.foreignKey.association: '_WBSElement'
      cast ( I_MaintenanceOrder.WBSElementInternalID as ps_s4_pspnr  )                        as WBSElementInternalID,
      cast( ProjectInternalID as ps_s4_proj_pspnr )                                           as ProjectInternalID,
      //      Location Assignment


      cast ( _LocationAccountAssignment.WBSElementInternalID as ps_s4_pspnr preserving type ) as LocAcctAssgmtWBSElmntIntID,

      _LocationAccountAssignment.CostCenter,
      ControllingObjectClass,
      cast ( _LocationAccountAssignment.FunctionalLocation as vdm_eam_tplnr )                 as FunctionalLocation,

      -- Location Data
      _LocationAccountAssignment.MaintenancePlant,
      _LocationAccountAssignment.AssetLocation,
      _LocationAccountAssignment.AssetRoom,
      _LocationAccountAssignment.PlantSection,
      _LocationAccountAssignment.ABCIndicator,
      _LocationAccountAssignment.MaintObjectFreeDefinedAttrib,
      _LocationAccountAssignment.WorkCenterInternalID,
      _LocationAccountAssignment.WorkCenterTypeCode,
      _LocationAccountAssignment._WorkCenter.WorkCenter,

      _LocationAccountAssignment.BusinessArea                                                 as LocAcctAssgmtBusinessArea,
      _LocationAccountAssignment.SettlementOrder,
      _LocationAccountAssignment.MasterFixedAsset,
      _LocationAccountAssignment.FixedAsset,
      _LocationAccountAssignment.StandingOrderNumber,
      _LocationAccountAssignment.SalesOrganization,
      _LocationAccountAssignment.DistributionChannel,
      _LocationAccountAssignment.OrganizationDivision,
      _LocationAccountAssignment.ControllingArea                                              as LocAcctAssgmtControllingArea,
      _LocationAccountAssignment.CompanyCode                                                  as LocAcctAssgmtCompanyCode,

      //_MaintOrderHasOpenMainWork.MaintOrdHasOpenMainWork,



      MaintenanceOrderInternalID,
      MaintenanceItemObjectList,
      I_MaintenanceOrder.MaintObjectLocAcctAssgmtNmbr,
      @Feature: 'EAM_ORD_CHANGE_SETTLMT_PROFILE' //should be featured?

      _CtrlgObjectSettlementRule.ControllingSettlementProfile,

      BasicSchedulingType,
      LatestAcceptableCompletionDate,
      MaintOrdPersonResponsible,

      @Feature: 'EAM_F5241_HEADER_CONTROL_DATA'
      LastChangeByUser,
      @ObjectModel.readOnly: null
      LastChangeDateTime,
      CreatedByUser,

      case when CreationTime = '240000' and CreationDate is not initial
      then cast(dats_tims_to_tstmp( dats_add_days( CreationDate, 1, 'NULL'), cast( '000000' as abap.tims ),
                                    abap_system_timezone( $session.client,'NULL' ),
                                    $session.client, 'NULL') as timestamp preserving type)
      else cast(dats_tims_to_tstmp( CreationDate, CreationTime,
                                    abap_system_timezone( $session.client,'NULL' ),
                                    $session.client,'NULL') as timestamp preserving type)
      end                                                                                     as MaintOrderCreationDateTime,

      OrderHasLongText,
      MaintOrderProcessingContext,
      @Feature: 'EAM_F5241_HEADER_CONTROL_DATA'
      MaintenanceOrderOverheadCode,
      @Feature: 'EAM_F5241_HEADER_CONTROL_DATA'
      PlannedCostsCostingVariant,
      @Feature: 'EAM_F5241_HEADER_CONTROL_DATA'
      ActualCostsCostingVariant,
      /*Mainteannce Plan*/
      MaintenancePlan,
      MaintenanceCall,
      MaintenanceItem,
      LeadingOrder,
      TaskListType,
      TaskListGroup,
      TaskListGroupCounter,
      OrderIsRefurbishmentOrder,
      hextobin( '00000000000000000000000000000000' )                                          as MaintenanceOrderUUID,
      MaintenanceProcessingPhase,
      //      _MaintOrdOpNoOfCheckList.NumberOfMaintenanceChecklists,

      //      _MaintOrdOpNoOfCheckList.MaintOrdOperationHasCheckList,


      /*Mainteannce Plan*/
      // associations

      _MaintenanceOrderOperation,
      _MaintOrderObjectListItem,
      _MaintOrderSettlmtDistrRule,
      _MaintOrderSettlmtDistrRule_2,
      _MaintenanceOrderPhaseControl,
      _MaintenanceOrderPartner,
      _FunctionalLocationLabel,
      _EAMProcessPhase,
      _EAMProcessSubPhase,
      _LocationAccountAssignment,
      _WBSElement,
      _MainWorkCenter,
      _MaintenancePlanningPlant,
      _MaintenancePlannerGroup,
      _LocAcctAssgmtWBSElement,
      _ProjectBasicData,
      _CtrlgObjectSettlementRule,
      _MaintOrderTypeControlParam,
      _MaintOrderHasOpenMainWork,
      //      _MaintOrdOpNoOfCheckList,


      // associations of texts

      _EAMProcessPhaseText,
      _EAMProcessSubPhaseText,
      _MaintenanceOrderTypeText,
      _MaintenanceActivityTypeText,
      _MaintOrdProcessingContextText,
      _MaintOrdPlanningCodeText,
      _AssemblyText,
      _EquipmentText,
      _OperationSystemConditionText,
      @Feature: 'EAM_F5241_HEADER_CONTROL_DATA'
      _CostingSheetProcedureText,
      @Feature: 'EAM_F5241_HEADER_CONTROL_DATA'
      _PlannedCostingVariantText,
      @Feature: 'EAM_F5241_HEADER_CONTROL_DATA'
      _ActualCostingVariantText,
      _ABCIndicatorText,
      _BusinessAreaText,
      _ResponsibleCostCenterText,
      _ControllingObjectClassText,
      _ProfitCenterText,
      _CostCenterText,
      _LocAcctAssgmtBusinessAreaText,
      _CtrlgSettlementProfileText,
      _MaintPriorityTypeText,
      _MaintPriorityText,
      @Feature: 'EAM_F5241_HEADER_SCHED_DETAILS'
      _BasicSchedulingTypeText,
      _MaintProcessingPhaseText,
      _MaintenanceNotification,

      //old associations of texts

      _MaintenanceActivityType,
      _MaintenanceOrderType,
      _MaintOrderTechObj,
      _MaintOrdPlngDegreeCode,
      _Assembly,
      _OperationSystemCondition,
      _Equipment,
      @Feature: 'EAM_F5241_HEADER_CONTROL_DATA'
      _CostingSheetProcedure,
      @Feature: 'EAM_F5241_HEADER_CONTROL_DATA'
      _PlannedCostingVariant,
      @Feature: 'EAM_F5241_HEADER_CONTROL_DATA'
      _ActualCostingVariant,
      _BusinessArea,
      _ResponsibleCostCenter,
      _ControllingObjectClass,
      _ProfitCenter,
      _MaintenancePriorityType,
      _MaintenancePriority,
      @Feature: 'EAM_F5241_HEADER_SCHED_DETAILS'
      _BasicSchedulingType,
      _MaintenanceOrderPhase,

      _StatusObjectActiveStatus,
      _MaintenanceOrderLongText,
      _ControllingArea,
      _CompanyCode,
      _PersonResponsible,
      _MaintenanceRevision,
      _OrderComponent,
      _OrderService,
      _OrderPrtTool,
      _MaintenancePlan,
      _MaintenanceItem,
      _MaintenanceCall,
      _LeadingOrder,
      @Feature: 'EAM_F5241_HEADER_CONTROL_DATA'
      _OverheadCode
}