CDS标准视图:有技术对象的维修工单 I_MAINTORDERTECHOBJCUBE
- 视图名称:有技术对象的维修工单 I_MAINTORDERTECHOBJCUBE
- 视图类型:基础
- 视图代码:
点击查看代码
@EndUserText.label: 'Maintenance Order With Tech Object - Cube'
@VDM.viewType: #COMPOSITE
@AbapCatalog.sqlViewName: 'IMNTORDTOCUBE'
@AccessControl.authorizationCheck: #CHECK
@AbapCatalog.compiler.compareFilter: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@Analytics: {
dataCategory: #CUBE,
dataExtraction: {
enabled: true,
delta.byElement: {
name: 'LastChangeDateTime'
}
}
}
@Metadata.allowExtensions:true
@ObjectModel: {
usageType: {
dataClass: #TRANSACTIONAL,
serviceQuality: #D,
sizeCategory: #XL
}
}
@ObjectModel.supportedCapabilities:[ #ANALYTICAL_PROVIDER ]
@ObjectModel.modelingPattern: #ANALYTICAL_CUBE
@Metadata.ignorePropagatedAnnotations: true
define view I_MaintOrderTechObjCube
as select from I_MaintenanceOrder as I_MaintenanceOrder
left outer to one join P_MaintOrderDurationInWorkdays(im_clnt : $session.client) as durn on durn.MaintenanceOrder = I_MaintenanceOrder.MaintenanceOrder
association [0..1] to I_TechObjIsEquipOrFuncnlLoc as _TechObjIsEquipOrFuncnlLoc on $projection.TechObjIsEquipOrFuncnlLoc = _TechObjIsEquipOrFuncnlLoc.TechObjIsEquipOrFuncnlLoc
association [0..1] to I_TechnicalObjectType as _TechnicalObjectType on $projection.TechnicalObjectType = _TechnicalObjectType.TechnicalObjectType
association [0..1] to I_WorkCenterBySemanticKey as _MainWorkCenterBySemanticKey on $projection.MainWorkCenter = _MainWorkCenterBySemanticKey.WorkCenter
and $projection.MainWorkCenterPlant = _MainWorkCenterBySemanticKey.Plant
association [0..1] to I_WorkCenterBySemanticKey as _WorkCenterBySemanticKey on $projection.workcenter = _WorkCenterBySemanticKey.WorkCenter
and $projection.WorkCenterPlant = _WorkCenterBySemanticKey.Plant
association [0..*] to I_EquipmentData as _EquipmentData on _EquipmentData.Equipment = $projection.Equipment
association [0..1] to I_FunctionalLocationData as _FunctionalLocationData on _FunctionalLocationData.FunctionalLocation = $projection.functionallocation
association [0..1] to I_UnitOfMeasure as _OrderDurationUnit on _OrderDurationUnit.UnitOfMeasure = $projection.OrderDurationUnit
association [0..1] to I_WorkCenter as _WorkCenter on $projection.WorkCenterInternalID = _WorkCenter.WorkCenterInternalID
and _WorkCenter.WorkCenterTypeCode = 'A'
association [0..1] to I_MaintenancePlanPlant as _MaintenancePlanPlant on $projection.MaintenancePlanningPlant = _MaintenancePlanPlant.MaintenancePlanningPlant
-- Extensions, do not expose as association:
association [0..1] to E_MaintenanceOrder as _MaintenanceOrderExtension on $projection.MaintenanceOrder = _MaintenanceOrderExtension.MaintenanceOrder
{
@ObjectModel.text.element: [ 'MaintenanceOrderDesc' ]
key I_MaintenanceOrder.MaintenanceOrder,
cast( ' ' as eam_is_historical_order preserving type ) as MaintenanceOrderIsHistorical,
@ObjectModel.foreignKey.association: '_MaintenanceOrderType'
I_MaintenanceOrder.MaintenanceOrderType,
@Semantics.text: true
I_MaintenanceOrder.MaintenanceOrderDesc,
I_MaintenanceOrder.MaintPriority,
I_MaintenanceOrder.MaintPriorityType,
@ObjectModel.foreignKey.association: '_FunctionalLocationData'
I_MaintenanceOrder._LocationAccountAssignment.FunctionalLocation,
@Consumption.filter.businessDate.at
@ObjectModel.foreignKey.association: '_EquipmentData'
I_MaintenanceOrder.Equipment,
@ObjectModel.foreignKey.association: '_Assembly'
I_MaintenanceOrder.Assembly,
I_MaintenanceOrder._Equipment.Material,
I_MaintenanceOrder.SerialNumber,
@ObjectModel.foreignKey.association: '_MaintenanceNotification'
I_MaintenanceOrder.MaintenanceNotification,
I_MaintenanceOrder._Order.LeadingOrder,
@ObjectModel.foreignKey.association: '_MaintenancePlannerGroup'
I_MaintenanceOrder.MaintenancePlannerGroup,
@ObjectModel.foreignKey.association: '_MaintenancePlanPlant'
I_MaintenanceOrder.MaintenancePlanningPlant,
cast( '' as i_parnr_vera ) as MaintOrdPersonResponsible,
I_MaintenanceOrder.MaintenanceRevision,
@ObjectModel.foreignKey.association: '_MaintenancePlan'
I_MaintenanceOrder.MaintenancePlan,
@ObjectModel.foreignKey.association: '_MaintenanceItem'
I_MaintenanceOrder.MaintenanceItem,
@ObjectModel.foreignKey.association: '_BillOfOperationsType'
I_MaintenanceOrder._Order.BillOfOperationsType as TaskListType,
@ObjectModel.foreignKey.association: '_BillOfOperationsGroup'
I_MaintenanceOrder._Order.BillOfOperations as TaskListGroup,
I_MaintenanceOrder._Order.BillOfOperationsVariant as TaskListGroupCounter,
I_MaintenanceOrder.MaintenanceOrderPlanningCode,
@ObjectModel.foreignKey.association: '_MaintenanceActivityType'
I_MaintenanceOrder.MaintenanceActivityType,
@ObjectModel.foreignKey.association: '_ABCIndicator'
I_MaintenanceOrder._LocationAccountAssignment.ABCIndicator,
@ObjectModel.foreignKey.association: '_MaintenancePlant'
I_MaintenanceOrder._LocationAccountAssignment.MaintenancePlant,
@ObjectModel.foreignKey.association: '_Location'
I_MaintenanceOrder._LocationAccountAssignment.AssetLocation,
I_MaintenanceOrder._LocationAccountAssignment.AssetRoom,
I_MaintenanceOrder.MaintenanceProcessingPhase,
I_MaintenanceOrder.OperationSystemCondition,
@ObjectModel.foreignKey.association: '_PlantSection'
I_MaintenanceOrder._LocationAccountAssignment.PlantSection,
@ObjectModel.foreignKey.association: '_MainWorkCenterBySemanticKey'
cast( I_MaintenanceOrder._MainWorkCenter.WorkCenter as gewrk preserving type ) as MainWorkCenter,
@ObjectModel.foreignKey.association: '_MainWorkCenterPlant'
cast( I_MaintenanceOrder._MainWorkCenter.Plant as wergw preserving type ) as MainWorkCenterPlant,
@ObjectModel.foreignKey.association: '_WorkCenterBySemanticKey'
I_MaintenanceOrder._LocationAccountAssignment._WorkCenter.WorkCenter,
@ObjectModel.foreignKey.association: '_WorkCenterPlant'
I_MaintenanceOrder._LocationAccountAssignment._WorkCenter.Plant as WorkCenterPlant,
I_MaintenanceOrder.ReferenceElement,
@ObjectModel.foreignKey.association: '_CostCenter'
I_MaintenanceOrder._LocationAccountAssignment.CostCenter,
@ObjectModel.foreignKey.association: '_ControllingArea'
I_MaintenanceOrder._LocationAccountAssignment.ControllingArea,
I_MaintenanceOrder._Order.SuperiorProjectNetwork,
@ObjectModel.foreignKey.association: '_CompanyCode'
I_MaintenanceOrder._LocationAccountAssignment.CompanyCode,
@ObjectModel.foreignKey.association: '_BusinessArea'
I_MaintenanceOrder._LocationAccountAssignment.BusinessArea,
@ObjectModel.foreignKey.association: '_WBSElementBasicData'
I_MaintenanceOrder._LocationAccountAssignment.WBSElementInternalID,
I_MaintenanceOrder._LocationAccountAssignment.MasterFixedAsset,
I_MaintenanceOrder._LocationAccountAssignment.FixedAsset,
I_MaintenanceOrder._LocationAccountAssignment.SettlementOrder,
I_MaintenanceOrder.MaintenanceOrderInternalID,
I_MaintenanceOrder._Order.IsMarkedForDeletion,
// Dates and Times
@Semantics.systemDate.createdAt: true
I_MaintenanceOrder._Order.CreationDate,
I_MaintenanceOrder._Order.CreationTime,
@Semantics.systemDate.lastChangedAt: true
I_MaintenanceOrder._Order.LastChangeDate,
I_MaintenanceOrder._Order.LastChangeTime,
--@Semantics.calendarItem.dtStart: true
I_MaintenanceOrder._Order.PlannedStartDate,
I_MaintenanceOrder._Order.PlannedStartTime,
--@Semantics.calendarItem.dtEnd: true
I_MaintenanceOrder._Order.PlannedEndDate,
I_MaintenanceOrder._Order.PlannedEndTime,
--@Semantics.calendarItem.dtStart: true
I_MaintenanceOrder._Order.ScheduledBasicStartDate as ScheduledBasicStartDate,
I_MaintenanceOrder._Order.ScheduledBasicStartTime,
--@Semantics.calendarItem.dtEnd: true
I_MaintenanceOrder._Order.ScheduledBasicEndDate,
I_MaintenanceOrder._Order.ScheduledBasicEndTime,
--@Semantics.calendarItem.dtStart: true
I_MaintenanceOrder._Order.ActualStartDate,
I_MaintenanceOrder._Order.ActualStartTime,
--@Semantics.calendarItem.dtEnd: true
I_MaintenanceOrder._Order.ConfirmedEndDate as ConfirmedEndDate,
I_MaintenanceOrder._Order.ConfirmedEndTime,
@Semantics.businessDate.at: true
I_MaintenanceOrder.MaintOrderReferenceDate,
// Dates and Times as timestamps
@Semantics.systemDateTime.createdAt: true
cast( dats_tims_to_tstmp( I_MaintenanceOrder._Order.CreationDate, I_MaintenanceOrder._Order.CreationTime, abap_system_timezone( $session.client,'NULL' ),
$session.client, 'NULL' ) as creation_timestamp ) as CreationDateTime,
@Semantics.systemDateTime.lastChangedAt: true
cast( I_MaintenanceOrder.LastChangeDateTime as rslastchangedat preserving type ) as LastChangeDateTime,
cast( dats_tims_to_tstmp( I_MaintenanceOrder._Order.ScheduledBasicEndDate, I_MaintenanceOrder._Order.ScheduledBasicEndTime, abap_system_timezone( $session.client,'NULL' ),
$session.client, 'NULL' ) as sched_basic_end_timestamp ) as ScheduledBasicEndDateTime,
cast( dats_tims_to_tstmp( I_MaintenanceOrder._Order.ConfirmedEndDate, I_MaintenanceOrder._Order.ConfirmedEndTime, abap_system_timezone( $session.client,'NULL' ),
$session.client, 'NULL' ) as conf_end_timestamp ) as ConfirmedEndDateTime,
// Users
@Semantics.user.createdBy: true
I_MaintenanceOrder._Order.CreatedByUser,
@Semantics.user.lastChangedBy: true
I_MaintenanceOrder._Order.LastChangedByUser,
/****************************************************************************************************
* Technical Object
****************************************************************************************************/
case when Equipment = '' then
cast( _LocationAccountAssignment.FunctionalLocation as eams_tec_obj )
else cast( Equipment as eams_tec_obj ) end as TechnicalObject,
@ObjectModel.foreignKey.association: '_TechnicalObjectType'
coalesce( _Equipment.TechnicalObjectType, _LocationAccountAssignment._FunctionalLocation.TechnicalObjectType ) as TechnicalObjectType,
@ObjectModel.foreignKey.association: '_TechObjIsEquipOrFuncnlLoc'
cast( case when Equipment = '' and _LocationAccountAssignment.FunctionalLocation = '' then ''
else case when Equipment = '' then 'EAMS_FL'
else 'EAMS_EQUI' end end as eams_tec_obj_type_value ) as TechObjIsEquipOrFuncnlLoc,
/****************************************************************************************************
* Measures
****************************************************************************************************/
// Durations
//@Semantics.calendarItem.duration: true
@DefaultAggregation: #SUM
//@Semantics.quantity.unitOfMeasure: 'OrderDurationUnit' -- not supported by BW for INT4 fields
durn.DLZNetto as OrderLeadTimeDuration,
//@Semantics.calendarItem.duration: true
@DefaultAggregation: #SUM
//@Semantics.quantity.unitOfMeasure: 'OrderDurationUnit' -- not supported by BW for INT4 fields
durn.DLZBrutto as OrderRuntimeDuration,
@Semantics.unitOfMeasure: true
@ObjectModel.foreignKey.association: '_OrderDurationUnit'
cast( 'TAG' as qeinhtag ) as OrderDurationUnit,
@DefaultAggregation: #SUM
cast( 1 as eam_num_orders_created ) as NumberOfCreatedMaintOrders,
@DefaultAggregation: #SUM
cast( case when I_MaintenanceOrder._Order.IsMarkedForDeletion != 'X' then 1
else 0 end as eam_num_orders ) as NumberOfOrders,
@DefaultAggregation: #SUM
cast( case when I_MaintenanceOrder.MaintenanceProcessingPhase = '3'
or ( I_MaintenanceOrder.MaintenanceProcessingPhase = '4'
and not (I_MaintenanceOrder._StatusObjectStatus[1: IsUserStatus='' and StatusIsInactive = '' and StatusCode = 'I0015' ].StatusCode != '' ) )
or I_MaintenanceOrder.MaintenanceProcessingPhase = '5'
or ( I_MaintenanceOrder.MaintenanceProcessingPhase = '6' and I_MaintenanceOrder._Order.TechnicalCompletionDate != '00000000' )
then 1
else 0 end as eam_num_orders_compl ) as NumberOfCompletedMaintOrders,
@DefaultAggregation: #SUM
cast( case when I_MaintenanceOrder.MaintenanceOrderPlanningCode = '1' then 1
else 0 end as eam_num_orders_planned ) as NumberOfPlannedMaintOrders,
@DefaultAggregation: #SUM
cast( case when I_MaintenanceOrder.MaintenanceOrderPlanningCode = ' ' then 1
else 0 end as eam_num_orders_unplanned ) as NumberOfUnplannedMaintOrders,
@DefaultAggregation: #SUM
cast( case when I_MaintenanceOrder.MaintenanceOrderPlanningCode = '2' then 1
else 0 end as eam_num_orders_immediate ) as NumberOfImmediateMaintOrders,
@DefaultAggregation: #SUM
cast( case when ( I_MaintenanceOrder.MaintenanceProcessingPhase = '4'
and I_MaintenanceOrder._StatusObjectStatus[1: IsUserStatus='' and StatusIsInactive='' and StatusCode = 'I0015' ].StatusCode != '' )
or ( I_MaintenanceOrder.MaintenanceProcessingPhase = '6' and I_MaintenanceOrder._Order.TechnicalCompletionDate = '00000000' )
then 1
else 0 end as eam_num_orders_not_to_be_exec ) as NmbrOfMaintOrdsNotToBeExecuted,
@DefaultAggregation: #SUM
cast( case when I_MaintenanceOrder.MaintenanceProcessingPhase = '0'
or I_MaintenanceOrder.MaintenanceProcessingPhase = '2'
then 1
else 0 end as eam_num_orders_outstanding ) as NmbrOfOutstandingMaintOrders,
@DefaultAggregation: #SUM
cast( case when ( I_MaintenanceOrder._Order.ConfirmedEndDate != '00000000'
and I_MaintenanceOrder._Order.ScheduledBasicEndDate != '00000000'
and ( I_MaintenanceOrder._Order.ConfirmedEndDate < I_MaintenanceOrder._Order.ScheduledBasicEndDate
or ( I_MaintenanceOrder._Order.ConfirmedEndDate = I_MaintenanceOrder._Order.ScheduledBasicEndDate
and I_MaintenanceOrder._Order.ConfirmedEndTime <= I_MaintenanceOrder._Order.ScheduledBasicEndTime ) ) )
then 1
else 0 end as eam_num_orders_compl_on_time ) as NmbrOfMaintOrdsCompletedOnTime,
@DefaultAggregation: #SUM
cast( 0 as eam_num_orders_historical) as NmbrOfHistoricalOrders,
//Technical Fields
I_MaintenanceOrder.WorkCenterInternalID as MainWorkCenterInternalID,
I_MaintenanceOrder._LocationAccountAssignment.WorkCenterInternalID,
I_MaintenanceOrder.WorkCenterTypeCode,
//Associations
I_MaintenanceOrder._MaintenanceOrderType,
I_MaintenanceOrder._Equipment,
I_MaintenanceOrder._Assembly,
I_MaintenanceOrder._MaintenanceItem,
I_MaintenanceOrder._MaintenanceNotification,
I_MaintenanceOrder._MaintenancePlannerGroup,
I_MaintenanceOrder._MaintenancePlanningPlant,
_MaintenancePlanPlant,
I_MaintenanceOrder._MaintenancePlan,
I_MaintenanceOrder._Order._BillOfOperationsType,
I_MaintenanceOrder._Order._BillOfOperationsGroup,
I_MaintenanceOrder._MaintenanceActivityType,
I_MaintenanceOrder._LocationAccountAssignment._ABCIndicator,
I_MaintenanceOrder._LocationAccountAssignment._CompanyCode,
I_MaintenanceOrder._LocationAccountAssignment._MaintenancePlant,
I_MaintenanceOrder._LocationAccountAssignment._Location,
I_MaintenanceOrder._LocationAccountAssignment._PlantSection,
I_MaintenanceOrder._LocationAccountAssignment._FunctionalLocation,
I_MaintenanceOrder._LocationAccountAssignment._WorkCenter._Plant as _WorkCenterPlant,
I_MaintenanceOrder._LocationAccountAssignment._CostCenter,
I_MaintenanceOrder._LocationAccountAssignment._ControllingArea,
I_MaintenanceOrder._LocationAccountAssignment._BusinessArea,
I_MaintenanceOrder._MainWorkCenter,
I_MaintenanceOrder._MainWorkCenter._Plant as _MainWorkCenterPlant,
I_MaintenanceOrder._LocationAccountAssignment._WBSElementBasicData,
_TechnicalObjectType,
_TechObjIsEquipOrFuncnlLoc,
_MainWorkCenterBySemanticKey,
_WorkCenterBySemanticKey,
_EquipmentData,
_FunctionalLocationData,
_OrderDurationUnit,
_WorkCenter
}
union all
select from I_MaintOrderHistTechObj
association [0..1] to I_TechObjIsEquipOrFuncnlLoc as _TechObjIsEquipOrFuncnlLoc on $projection.TechObjIsEquipOrFuncnlLoc = _TechObjIsEquipOrFuncnlLoc.TechObjIsEquipOrFuncnlLoc
association [0..1] to I_TechnicalObjectType as _TechnicalObjectType on $projection.technicalobjecttype = _TechnicalObjectType.TechnicalObjectType
association [0..1] to I_WorkCenterBySemanticKey as _MainWorkCenterBySemanticKey on $projection.MainWorkCenter = _MainWorkCenterBySemanticKey.WorkCenter
and $projection.MainWorkCenterPlant = _MainWorkCenterBySemanticKey.Plant
association [0..1] to I_WorkCenterBySemanticKey as _WorkCenterBySemanticKey on $projection.workcenter = _WorkCenterBySemanticKey.WorkCenter
and $projection.WorkCenterPlant = _WorkCenterBySemanticKey.Plant
association [0..*] to I_EquipmentData as _EquipmentData on _EquipmentData.Equipment = $projection.Equipment
association [0..1] to I_FunctionalLocationData as _FunctionalLocationData on _FunctionalLocationData.FunctionalLocation = $projection.functionallocation
association [0..1] to I_UnitOfMeasure as _OrderDurationUnit on _OrderDurationUnit.UnitOfMeasure = $projection.OrderDurationUnit
association [0..1] to I_WorkCenter as _WorkCenter on $projection.WorkCenterInternalID = _WorkCenter.WorkCenterInternalID
and _WorkCenter.WorkCenterTypeCode = 'A'
association [0..1] to I_MaintenancePlanPlant as _MaintenancePlanPlant on $projection.MaintenancePlanningPlant = _MaintenancePlanPlant.MaintenancePlanningPlant
{
key I_MaintOrderHistTechObj.MaintenanceOrder,
cast( 'X' as eam_is_historical_order preserving type ) as MaintenanceOrderIsHistorical,
I_MaintOrderHistTechObj.MaintenanceOrderType,
I_MaintOrderHistTechObj.MaintenanceOrderDesc,
I_MaintOrderHistTechObj.MaintPriority,
I_MaintOrderHistTechObj.MaintPriorityType,
I_MaintOrderHistTechObj._LocationAccountAssignment.FunctionalLocation,
I_MaintOrderHistTechObj.Equipment,
I_MaintOrderHistTechObj.Assembly,
I_MaintOrderHistTechObj._Equipment.Material,
I_MaintOrderHistTechObj.SerialNumber,
I_MaintOrderHistTechObj.MaintenanceNotification,
I_MaintOrderHistTechObj.LeadingOrder,
I_MaintOrderHistTechObj.MaintenancePlannerGroup,
@ObjectModel.foreignKey.association: '_MaintenancePlanPlant'
I_MaintOrderHistTechObj.MaintenancePlanningPlant,
I_MaintOrderHistTechObj.MaintOrdPersonResponsible,
I_MaintOrderHistTechObj.MaintenanceRevision,
I_MaintOrderHistTechObj.MaintenancePlan,
I_MaintOrderHistTechObj.MaintenanceItem,
I_MaintOrderHistTechObj.BillOfOperationsType as TaskListType,
I_MaintOrderHistTechObj.BillOfOperations as TaskListGroup,
I_MaintOrderHistTechObj.BillOfOperationsVariant as TaskListGroupCounter,
I_MaintOrderHistTechObj.MaintenanceOrderPlanningCode,
I_MaintOrderHistTechObj.MaintenanceActivityType,
I_MaintOrderHistTechObj._LocationAccountAssignment.ABCIndicator,
I_MaintOrderHistTechObj._LocationAccountAssignment.MaintenancePlant,
I_MaintOrderHistTechObj._LocationAccountAssignment.AssetLocation,
I_MaintOrderHistTechObj._LocationAccountAssignment.AssetRoom,
I_MaintOrderHistTechObj.MaintenanceProcessingPhase,
I_MaintOrderHistTechObj.OperationSystemCondition,
I_MaintOrderHistTechObj._LocationAccountAssignment.PlantSection,
I_MaintOrderHistTechObj._MainWorkCenter.WorkCenter as MainWorkCenter,
I_MaintOrderHistTechObj._MainWorkCenter.Plant as MainWorkCenterPlant,
I_MaintOrderHistTechObj._LocationAccountAssignment._WorkCenter.WorkCenter,
I_MaintOrderHistTechObj._LocationAccountAssignment._WorkCenter.Plant as WorkCenterPlant,
// ADPSP is not available HIKO
'' as ReferenceElement,
I_MaintOrderHistTechObj._LocationAccountAssignment.CostCenter,
I_MaintOrderHistTechObj._LocationAccountAssignment.ControllingArea,
// SuperiorProjectNetwork not available because AUFNT missing in HIKO
//@ObjectModel.foreignKey.association: '_SuperiorProjectNetwork'
'' as SuperiorProjectNetwork,
@ObjectModel.foreignKey.association: '_CompanyCode'
I_MaintOrderHistTechObj._LocationAccountAssignment.CompanyCode,
I_MaintOrderHistTechObj._LocationAccountAssignment.BusinessArea,
@ObjectModel.foreignKey.association: '_WBSElementBasicData'
I_MaintOrderHistTechObj._LocationAccountAssignment.WBSElementInternalID,
I_MaintOrderHistTechObj._LocationAccountAssignment.MasterFixedAsset,
I_MaintOrderHistTechObj._LocationAccountAssignment.FixedAsset,
I_MaintOrderHistTechObj._LocationAccountAssignment.SettlementOrder,
I_MaintOrderHistTechObj.MaintenanceOrderInternalID,
I_MaintOrderHistTechObj.IsMarkedForDeletion,
// Dates and Times
I_MaintOrderHistTechObj.CreationDate,
'000000' as CreationTime,
I_MaintOrderHistTechObj.LastChangeDate,
'000000' as LastChangeTime,
I_MaintOrderHistTechObj.MaintOrdBasicStartDate as PlannedStartDate,
'000000' as PlannedStartTime,
I_MaintOrderHistTechObj.MaintOrdBasicEndDate as PlannedEndDate,
'000000' as PlannedEndTime,
'00000000' as ScheduledBasicStartDate,
'000000' as ScheduledBasicStartTime,
'00000000' as ScheduledBasicEndDate,
'000000' as ScheduledBasicEndTime,
I_MaintOrderHistTechObj.ActualStartDate,
'000000' as ActualStartTime,
I_MaintOrderHistTechObj.ConfirmedEndDate,
'000000' as ConfirmedEndTime,
I_MaintOrderHistTechObj.MaintOrderReferenceDate,
// Dates and Times as timestamps
cast( dats_tims_to_tstmp( CreationDate, cast('000000' as abap.tims), abap_system_timezone( $session.client,'NULL' ),
$session.client, 'NULL' ) as creation_timestamp ) as CreationDateTime,
cast( dats_tims_to_tstmp( CreationDate, cast('000000' as abap.tims), abap_system_timezone( $session.client,'NULL' ),
$session.client, 'NULL' ) as rslastchangedat preserving type ) as LastChangeDateTime,
cast( dats_tims_to_tstmp( cast('00000000' as abap.dats), cast('000000' as abap.tims), abap_system_timezone( $session.client,'NULL' ),
$session.client, 'NULL' ) as sched_basic_end_timestamp ) as ScheduledBasicEndDateTime,
cast( dats_tims_to_tstmp( ConfirmedEndDate, cast('000000' as abap.tims), abap_system_timezone( $session.client,'NULL' ),
$session.client, 'NULL' ) as conf_end_timestamp ) as ConfirmedEndDateTime,
// Users
I_MaintOrderHistTechObj.CreatedByUser,
I_MaintOrderHistTechObj.LastChangedByUser,
/****************************************************************************************************
* Technical Object
****************************************************************************************************/
I_MaintOrderHistTechObj.TechnicalObject,
I_MaintOrderHistTechObj._TechnicalObject.TechnicalObjectType,
I_MaintOrderHistTechObj.TechObjIsEquipOrFuncnlLoc,
/****************************************************************************************************
* Measures
****************************************************************************************************/
// Durations
// no durations, because ScheduledBasicStartDate is missing
cast (0 as eam_order_leadtime_in_workdays) as OrderLeadTimeDuration,
cast (0 as eam_order_runtime_in_cal_days) as OrderRuntimeDuration,
cast( 'TAG' as qeinhtag ) as OrderDurationUnit,
cast( 1 as eam_num_orders_created ) as NumberOfCreatedMaintOrders,
cast( case when I_MaintOrderHistTechObj.IsMarkedForDeletion != 'X' then 1
else 0 end as eam_num_orders ) as NumberOfOrders,
cast( case when I_MaintOrderHistTechObj.MaintenanceProcessingPhase = '3'
or ( I_MaintOrderHistTechObj.MaintenanceProcessingPhase = '4'
and not (I_MaintOrderHistTechObj._StatusObjectStatus[1: IsUserStatus='' and StatusIsActive='X' and StatusCode = 'I0015' ].StatusCode != '' ) )
or I_MaintOrderHistTechObj.MaintenanceProcessingPhase = '5'
then 1
else 0 end as eam_num_orders_compl ) as NumberOfCompletedMaintOrders,
cast( case when I_MaintOrderHistTechObj.MaintenanceOrderPlanningCode = '1' then 1
else 0 end as eam_num_orders_planned ) as NumberOfPlannedMaintOrders,
cast( case when I_MaintOrderHistTechObj.MaintenanceOrderPlanningCode = ' ' then 1
else 0 end as eam_num_orders_unplanned ) as NumberOfUnplannedMaintOrders,
cast( case when I_MaintOrderHistTechObj.MaintenanceOrderPlanningCode = '2' then 1
else 0 end as eam_num_orders_immediate ) as NumberOfImmediateMaintOrders,
cast( case when ( I_MaintOrderHistTechObj.MaintenanceProcessingPhase = '4'
and I_MaintOrderHistTechObj._StatusObjectStatus[1: IsUserStatus='' and StatusIsActive='X' and StatusCode = 'I0015' ].StatusCode != '' )
then 1
else 0 end as eam_num_orders_not_to_be_exec ) as NmbrOfMaintOrdsNotToBeExecuted,
cast( case when I_MaintOrderHistTechObj.MaintenanceProcessingPhase = '0'
or I_MaintOrderHistTechObj.MaintenanceProcessingPhase = '2'
then 1
else 0 end as eam_num_orders_outstanding ) as NmbrOfOutstandingMaintOrders,
cast( 0 as eam_num_orders_compl_on_time) as NmbrOfMaintOrdsCompletedOnTime,
cast( 1 as eam_num_orders_historical) as NmbrOfHistoricalOrders,
//Technical Fields
I_MaintOrderHistTechObj.WorkCenterInternalID as MainWorkCenterInternalID,
I_MaintOrderHistTechObj._LocationAccountAssignment.WorkCenterInternalID,
I_MaintOrderHistTechObj.WorkCenterTypeCode,
//Associations
I_MaintOrderHistTechObj._MaintenanceOrderType,
I_MaintOrderHistTechObj._Equipment,
I_MaintOrderHistTechObj._Assembly,
I_MaintOrderHistTechObj._MaintenanceItem,
I_MaintOrderHistTechObj._MaintenanceNotification,
I_MaintOrderHistTechObj._MaintenancePlannerGroup,
I_MaintOrderHistTechObj._MaintenancePlanningPlant,
_MaintenancePlanPlant,
I_MaintOrderHistTechObj._MaintenancePlan,
I_MaintOrderHistTechObj._BillOfOperationsType,
I_MaintOrderHistTechObj._BillOfOperationsGroup,
I_MaintOrderHistTechObj._MaintenanceActivityType,
I_MaintOrderHistTechObj._LocationAccountAssignment._ABCIndicator,
I_MaintOrderHistTechObj._LocationAccountAssignment._CompanyCode,
I_MaintOrderHistTechObj._LocationAccountAssignment._MaintenancePlant,
I_MaintOrderHistTechObj._LocationAccountAssignment._Location,
I_MaintOrderHistTechObj._LocationAccountAssignment._PlantSection,
I_MaintOrderHistTechObj._LocationAccountAssignment._FunctionalLocation,
I_MaintOrderHistTechObj._LocationAccountAssignment._WorkCenter._Plant as _WorkCenterPlant,
I_MaintOrderHistTechObj._LocationAccountAssignment._CostCenter,
I_MaintOrderHistTechObj._LocationAccountAssignment._ControllingArea,
I_MaintOrderHistTechObj._LocationAccountAssignment._BusinessArea,
I_MaintOrderHistTechObj._MainWorkCenter,
I_MaintOrderHistTechObj._MainWorkCenter._Plant as _MainWorkCenterPlant,
I_MaintOrderHistTechObj._LocationAccountAssignment._WBSElementBasicData,
_TechnicalObjectType,
_TechObjIsEquipOrFuncnlLoc,
_MainWorkCenterBySemanticKey,
_WorkCenterBySemanticKey,
_EquipmentData,
_FunctionalLocationData,
_OrderDurationUnit,
_WorkCenter
}
事务代码:IW33/IW39
包含维修工单短描述、通知、计划参数、分配、科目分配、计划数据视图结构:
| 字段名称 | 技术名称 |
|---|---|
| 订单 | MAINTENANCEORDER |
| 为历史 | MAINTENANCEORDERISHISTORICAL |
| 订单类型 | MAINTENANCEORDERTYPE |
| 描述 | MAINTENANCEORDERDESC |
| 优先级 | MAINTPRIORITY |
| 优先级类型 | MAINTPRIORITYTYPE |
| 功能位置 | FUNCTIONALLOCATION |
| 设备 | EQUIPMENT |
| 装配 | ASSEMBLY |
| 物料 | MATERIAL |
| 序列号 | SERIALNUMBER |
| 通知 | MAINTENANCENOTIFICATION |
| 主要订单 | LEADINGORDER |
| 计划人员组 | MAINTENANCEPLANNERGROUP |
| 计划工厂 | MAINTENANCEPLANNINGPLANT |
| 负责合伙人 | MAINTORDPERSONRESPONSIBLE |
| 修订 | MAINTENANCEREVISION |
| 维护计划 | MAINTENANCEPLAN |
| 维护项目 | MAINTENANCEITEM |
| 工序单类型 | TASKLISTTYPE |
| 工序清单 | TASKLISTGROUP |
| 工序清单变式 | TASKLISTGROUPCOUNTER |
| 订单计划标识 | MAINTENANCEORDERPLANNINGCODE |
| 活动类型 | MAINTENANCEACTIVITYTYPE |
| ABC 标识 | ABCINDICATOR |
| 维护工厂 | MAINTENANCEPLANT |
| 位置 | ASSETLOCATION |
| 房间 | ASSETROOM |
| 阶段 | MAINTENANCEPROCESSINGPHASE |
| 系统条件 | OPERATIONSYSTEMCONDITION |
| 厂区 | PLANTSECTION |
| 主工作中心 | MAINWORKCENTER |
| 工厂工作中心 | MAINWORKCENTERPLANT |
| 工作中心 | WORKCENTER |
| 工厂 | WORKCENTERPLANT |
| 参考元素 PM/PS | REFERENCEELEMENT |
| 成本中心 | COSTCENTER |
| 成本控制范围 | CONTROLLINGAREA |
| 子网络 | SUPERIORPROJECTNETWORK |
| 公司代码 | COMPANYCODE |
| 业务范围 | BUSINESSAREA |
| WBS 要素 | WBSELEMENTINTERNALID |
| 资产 | MASTERFIXEDASSET |
| 子编号 | FIXEDASSET |
| 结算订单 | SETTLEMENTORDER |
| 对象编号 | MAINTENANCEORDERINTERNALID |
| 删除标记 | ISMARKEDFORDELETION |
| 创建日期 | CREATIONDATE |
| 创建的时间 | CREATIONTIME |
| 更改日期 | LASTCHANGEDATE |
| 更改时间 | LASTCHANGETIME |
| 基本开始日期 | PLANNEDSTARTDATE |
| 开始时间 | PLANNEDSTARTTIME |
| 基本完成日期 | PLANNEDENDDATE |
| 基本完成时间 | PLANNEDENDTIME |
| 按计划开始 | SCHEDULEDBASICSTARTDATE |
| 计划开始时间 | SCHEDULEDBASICSTARTTIME |
| 计划完工 | SCHEDULEDBASICENDDATE |
| 完成时间 | SCHEDULEDBASICENDTIME |
| 实际开始 | ACTUALSTARTDATE |
| 实际开始 | ACTUALSTARTTIME |
| 实际完成 | CONFIRMEDENDDATE |
| 实际完成 | CONFIRMEDENDTIME |
| 参考日期 | MAINTORDERREFERENCEDATE |
| 创建日期/时间 | CREATIONDATETIME |
| 已更改 | LASTCHANGEDATETIME |
| 计划结束日期/时间 | SCHEDULEDBASICENDDATETIME |
| 确认结束日期/时间 | CONFIRMEDENDDATETIME |
| 输入者 | CREATEDBYUSER |
| 更改人 | LASTCHANGEDBYUSER |
| 技术对象 | TECHNICALOBJECT |
| TECHNICALOBJECTTYPE | |
| 技术对象类型 | TECHOBJISEQUIPORFUNCNLLOC |
| 净提前期 | ORDERLEADTIMEDURATION |
| 总运行时间 | ORDERRUNTIMEDURATION |
| 天 | ORDERDURATIONUNIT |
| 已创建订单 | NUMBEROFCREATEDMAINTORDERS |
| 未删除总数 | NUMBEROFORDERS |
| 已完成订单 | NUMBEROFCOMPLETEDMAINTORDERS |
| 计划订单 | NUMBEROFPLANNEDMAINTORDERS |
| 未计划订单 | NUMBEROFUNPLANNEDMAINTORDERS |
| 即时订单 | NUMBEROFIMMEDIATEMAINTORDERS |
| 不执行 | NMBROFMAINTORDSNOTTOBEEXECUTED |
| 未处理订单 | NMBROFOUTSTANDINGMAINTORDERS |
| 准时完成 | NMBROFMAINTORDSCOMPLETEDONTIME |
| 历史订单 | NMBROFHISTORICALORDERS |
| 工作中心 | MAINWORKCENTERINTERNALID |
| PP工作中心 | WORKCENTERINTERNALID |
| 对象类型 | WORKCENTERTYPECODE |

CDS标准视图:有技术对象的维修工单 I_MAINTORDERTECHOBJCUBE的更多相关文章
- Spring Boot 整合视图层技术
这一节我们主要学习如何整合视图层技术: Jsp Freemarker Thymeleaf 在之前的案例中,我们都是通过 @RestController 来处理请求,所以返回的内容为json对象.那么如 ...
- Django框架(九):视图(二) HttpRequest对象、HttpResponse对象
1. HttpRequest对象 服务器接收到http协议的请求后,会根据报文创建HttpRequest对象,这个对象不需要我们创建,直接使用服务器构造好的对象就可以.视图的第一个参数必须是HttpR ...
- SpringBoot_整合视图层技术
SpringBoot整合视图层技术 在目前的企业级应用开发中,前后端分离是趋势,但是视图层技术还占有一席之地.Spring Boot对视图层技术提供了很好的支持,官方推荐使用的模板引擎是Thymele ...
- Django---CBV和FBV的使用,CBV的流程,给视图加装饰器,Request对象方法,属性和Response对象,form表单的上传
Django---CBV和FBV的使用,CBV的流程,给视图加装饰器,Request请求对象方法,属性和Response响应对象,form表单的上传 一丶CBV和FBV 在Django中存 ...
- SpringBoot视图层技术
一.SpringBoot整合jsp 在maven的dependencies的依赖中除了springBoot启动器还要添加对jstl和jsp的依赖. <dependencies> <d ...
- Oracle--索引视图序列等对象
---恢复内容开始--- 索引 与表类似,不仅需要在DD中保存索引的定义,还需要在表空间为它分配实际的存储空间. 将索引和对应的表分别存放在不同硬盘的不同表空间中能够提高查询的速度,因为Oracle能 ...
- Spring Boot 整合视图层技术,application全局配置文件
目录 Spring Boot 整合视图层技术 Spring Boot 整合jsp Spring Boot 整合freemarker Spring Boot 整合视图层技术 Spring Boot 整合 ...
- 将任意一个jQuery对象进行表单序列化,免除了提交请求时大量拼写表单数据的烦恼,支持键值对<name&value>格式和JSON格式。
http://zhengxinlong.iteye.com/blog/848712 将任意一个jQuery对象进行表单序列化,免除了提交请求时大量拼写表单数据的烦恼,支持键值对<name& ...
- .Net高级技术——对象序列化
对象序列化 “序列化是将一个对象保存到存储介质上或者将对象进行转换使之能够在网络上传送的行为”.通俗一点的解释,序列化就是把一个对象保存到一个文件或数据库字段中去,反序列化就是从文件或者数据库中取出数 ...
- SQL Server DBA日常查询视图_数据库对象视图
1.数据库 use master; exec sp_helpdb 1.1查询数据库大小 1.2查询数据库状态 use msdb select name, user_access_desc, --用户访 ...
随机推荐
- NES 模拟器中音画同步问题
背景 模拟器是与游戏和播放器都有相似之处的系统.模拟器与游戏的相似之处,在于都需要一个采集输入--执行逻辑--然后按一定帧率(通常是 60 FPS)把画面显示出来的循环.但是模拟器又需要模拟音频设备, ...
- Tortoise SVN 安装汉化教程(乌龟SVN)
1.首先下载 去官网下载 如果下载比较慢的,链接自取 https://pan.quark.cn/s/cb6f2eee3f90 2. 安装Tortoise SVN 无脑next到完成 最后到桌面右键 你 ...
- 一文彻底弄懂JUC工具包的CountDownLatch的设计理念与底层原理
CountDownLatch 是 Java 并发包(java.util.concurrent)中的一个同步辅助类,它允许一个或多个线程等待一组操作完成. 一.设计理念 CountDownLatch 是 ...
- Codeforces 4 A-D
题面 A B C D 难度:红 橙 橙 黄 题解 A 题目大意: 判断一个正整数 \(w\) 能否表示成两个正偶数之和. 解题思路: 考虑分类讨论 \(w\). 对于 \(1\) 和 \(2\),显然 ...
- 题解:CF1776L Controllers
CF1776L Controllers 题解 分析 先把题目形式化.设 \(n\) 次加减中有 \(x\) 个加,\(y\) 个减,其中 \(a\) 加了 \(u\) 次,减了 \(v\) 次,显然 ...
- 分析什么情况下回有大量的垃圾回收(GC)
在前端性能监控中,大量的垃圾回收(GC)通常是由以下原因导致的: 内存泄漏:当页面中的对象没有被正确地释放或引用计数错误时,会导致内存泄漏.当内存中的对象达到一定数量时,JavaScript 引擎会执 ...
- docker-compose之配置docker-compose.yml
当前有三种版本的Compose配置文件格式: Version 1 旧版格式,通过省略YAML的根配置项version来指定. 未声明版本的Compose配置文件都被视为V1版,所有的服务都作为根选项在 ...
- 进程管理工具之supervisor(完整版)*
Supervisor 介绍 Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启.它是通过fork/ex ...
- LonEle 操作的 SQL Server 数据库(msde2000)由 20180418 版更新至 20190328 版(非官方)
Shanghai Mitsubishi Elevator Co., Ltd(上海三菱电梯有限公司) 的 Comprehensive Elevator Monitoring System (电梯综合监控 ...
- Vue 模版解析
1.大括号表达式 (1)在MVVM()中接收并保存配置对象 (2)调用Compile编译函数,将el和vm传入 function MVVM (option) { this.$option = opti ...