• 视图名称:有技术对象的维修工单 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. Go语言学习 _基础001

    Go语言学习 _基础001 HelloWorld package main // main 函数必须处于 main 包中 不管是在什么路径下 反正就是要有main包 import ( // 引入 包 ...

  2. 网络与并行计算国际会议IFIP NPC 2024(CCF推荐会议)投稿延期至2024年8月25日

    原地址: https://mp.weixin.qq.com/s/zmg0SDbyDmoNBbJYzDjADA 主页: https://www.npc-conference.com/#/npc2024/ ...

  3. CSS3实现放大镜效果

    市面上基本上所有的购物平台.商城上的商品详情页,对于商品的图片都是有放大功能.那么这个功能主要是怎么实现的呢?CSS3实现放大镜效果主要依赖于CSS的一些高级特性,如transform.transit ...

  4. Cygwin:windows下的Linux系统

    Cygwin是啥?Cygwin是一个可原生运行于Windows系统上的POSXI兼容环境. 是的,我又开新专辑了<零基础swoole学习笔记>.不是我太贪心,而是最近半年和小伙伴一直在用s ...

  5. 性能检测工具之Lighthouse

    转载:https://mp.weixin.qq.com/s?src=11&timestamp=1618929340&ver=3020&signature=oXyx*RDLXjN ...

  6. OSG开发笔记(三十五): OsgUtil::Optimizer:优化场景策略,提升显示性能和渲染效率

    前言   在OSG中,osgUtil::Optimizer是一个非常重要的工具类,它提供了一系列优化场景图的方法,以提高渲染性能和效率.   Demo      在笔者的pc上,优化前优化后渲染交互没 ...

  7. ZCMU-1120

    就这样 #include<cmath> #include<cstdio> #include<iostream> using namespace std; int m ...

  8. uni-app 简单上手

    1.前言 uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS.Android.Web(响应式).以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉/ ...

  9. 聊一下怎么十分钟速水CVE

    题目是真的.今天晚上刚接触关于CVE的审计和提交.只能说:牛逼的是真牛逼,水的是真水. 我接下来教你,怎么在10分钟里找到一个CVE的中危漏洞并且提交.然后你就可以去咸鱼接单了,一个一铂快 打开htt ...

  10. 使用 SemanticKernel 对接 Ollma

    前面的 2 篇文章已经介绍了 ollama 的基本情况.我们也已经能在本地跟 LLM 进行聊天了.但是如何使用代码跟 LLM 进行交互呢?如果是 C# 选手那自然是使用 SK (SemanticKer ...