• 视图名称:有技术对象的维修工单 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的更多相关文章

  1. Spring Boot 整合视图层技术

    这一节我们主要学习如何整合视图层技术: Jsp Freemarker Thymeleaf 在之前的案例中,我们都是通过 @RestController 来处理请求,所以返回的内容为json对象.那么如 ...

  2. Django框架(九):视图(二) HttpRequest对象、HttpResponse对象

    1. HttpRequest对象 服务器接收到http协议的请求后,会根据报文创建HttpRequest对象,这个对象不需要我们创建,直接使用服务器构造好的对象就可以.视图的第一个参数必须是HttpR ...

  3. SpringBoot_整合视图层技术

    SpringBoot整合视图层技术 在目前的企业级应用开发中,前后端分离是趋势,但是视图层技术还占有一席之地.Spring Boot对视图层技术提供了很好的支持,官方推荐使用的模板引擎是Thymele ...

  4. Django---CBV和FBV的使用,CBV的流程,给视图加装饰器,Request对象方法,属性和Response对象,form表单的上传

    Django---CBV和FBV的使用,CBV的流程,给视图加装饰器,Request请求对象方法,属性和Response响应对象,form表单的上传 一丶CBV和FBV       在Django中存 ...

  5. SpringBoot视图层技术

    一.SpringBoot整合jsp 在maven的dependencies的依赖中除了springBoot启动器还要添加对jstl和jsp的依赖. <dependencies> <d ...

  6. Oracle--索引视图序列等对象

    ---恢复内容开始--- 索引 与表类似,不仅需要在DD中保存索引的定义,还需要在表空间为它分配实际的存储空间. 将索引和对应的表分别存放在不同硬盘的不同表空间中能够提高查询的速度,因为Oracle能 ...

  7. Spring Boot 整合视图层技术,application全局配置文件

    目录 Spring Boot 整合视图层技术 Spring Boot 整合jsp Spring Boot 整合freemarker Spring Boot 整合视图层技术 Spring Boot 整合 ...

  8. 将任意一个jQuery对象进行表单序列化,免除了提交请求时大量拼写表单数据的烦恼,支持键值对<name&value>格式和JSON格式。

    http://zhengxinlong.iteye.com/blog/848712 将任意一个jQuery对象进行表单序列化,免除了提交请求时大量拼写表单数据的烦恼,支持键值对<name& ...

  9. .Net高级技术——对象序列化

    对象序列化 “序列化是将一个对象保存到存储介质上或者将对象进行转换使之能够在网络上传送的行为”.通俗一点的解释,序列化就是把一个对象保存到一个文件或数据库字段中去,反序列化就是从文件或者数据库中取出数 ...

  10. SQL Server DBA日常查询视图_数据库对象视图

    1.数据库 use master; exec sp_helpdb 1.1查询数据库大小 1.2查询数据库状态 use msdb select name, user_access_desc, --用户访 ...

随机推荐

  1. 洛谷 P1540 [NOIP2010 提高组] 机器翻译

    题目概括 给定 N 个整数,和一个容量为 M 的"字典",从头到尾依次翻译,每次翻译先看自家字典,没有的话再看别人的字典并存到自家字典,如果自家字典满了,当前单词的翻译会代替最早进 ...

  2. 通义灵码:体验AI编程新技能-@workspace 和 @terminal为你的编程插上一双翅膀

    1.前言 我是一位运维工程师,用通义灵码个人版的@workspace 和 @terminal 的能力做快速了解一个工程.查找工程内的实现逻辑,以及执行指令不知道如何写,或者不清楚某个指令的意思,对比之 ...

  3. chcapter 11 熵和信息

    Entropy and information 熵:度量一个物理系统中的态的不确定度. 注意: 文中出现的' 凸性' convexity  和 ' 凹性' concavity 的在不同的教材中可能含义 ...

  4. 基于sqli-labs Less-5 sql报错注入详解

    按照之前的思路发现,是正常的'闭合的字符型,但是在联合注入0' union select 1,2,3--+没有回显注入点,只是回显You are in,因此无法使用联合注入,考虑使用报错注入或者盲注. ...

  5. 9-5 额外的string操作

    9.5.1 构造string的其他方法:略 9.5.2 改变string的其他方法:略 9.5.3 string搜索操作:略 9.5.4 compare函数:略 9.5.5 数值转换 int main ...

  6. 利用AI运动识别插件,可以实现那些应用场景?

    「Ai运动识别」小程序插件已经推出一年有余,迭代了近十几个版本,收获了各类应用场景的众多用户,今天我们就带您深度解析一下插件的各类可应用场景,帮助已集成开发者进行一步拓宽应用场景,帮助有需求的开发者快 ...

  7. VulnStack之ATT&CK实战系列———红队实战(一)

    目录 前言 环境搭建 外围打点 信息收集 phpmyadmin全局日志getshell 内网信息收集 msf上线 mimikatz抓取明文密码&hash 域信息收集 横向移动 msf+prox ...

  8. 轻松使用线程: 不共享有时是最好的——利用 ThreadLocal 提高可伸缩性

    Brian Goetz (brian@quiotix.com), 软件顾问 简介: ThreadLocal 类是悄悄地出现在 Java 平台版本 1.2 中的.虽然支持线程局部变量早就是许多线程工具( ...

  9. OneForAll - 功能强大的子域收集工具

    OneForAll,是 shmilylty 在 Github 上开源的子域收集工具,目前版本为 v0.4.3. 收集能力强大,利用证书透明度收集子域.常规检查收集子域.利用网上爬虫档案收集子域.利用D ...

  10. python之发送邮件(smtplib)

    我们在测试完成后,都会发一份邮件也就是我们的测试报告,那么既然要自动化,是不是也可以通过python帮助我们发送邮件?当然这么强大的python可以帮助你完成这个需求 SMTP SMTP(Simple ...