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, --用户访 ...
随机推荐
- Go语言学习 _基础001
Go语言学习 _基础001 HelloWorld package main // main 函数必须处于 main 包中 不管是在什么路径下 反正就是要有main包 import ( // 引入 包 ...
- 网络与并行计算国际会议IFIP NPC 2024(CCF推荐会议)投稿延期至2024年8月25日
原地址: https://mp.weixin.qq.com/s/zmg0SDbyDmoNBbJYzDjADA 主页: https://www.npc-conference.com/#/npc2024/ ...
- CSS3实现放大镜效果
市面上基本上所有的购物平台.商城上的商品详情页,对于商品的图片都是有放大功能.那么这个功能主要是怎么实现的呢?CSS3实现放大镜效果主要依赖于CSS的一些高级特性,如transform.transit ...
- Cygwin:windows下的Linux系统
Cygwin是啥?Cygwin是一个可原生运行于Windows系统上的POSXI兼容环境. 是的,我又开新专辑了<零基础swoole学习笔记>.不是我太贪心,而是最近半年和小伙伴一直在用s ...
- 性能检测工具之Lighthouse
转载:https://mp.weixin.qq.com/s?src=11×tamp=1618929340&ver=3020&signature=oXyx*RDLXjN ...
- OSG开发笔记(三十五): OsgUtil::Optimizer:优化场景策略,提升显示性能和渲染效率
前言 在OSG中,osgUtil::Optimizer是一个非常重要的工具类,它提供了一系列优化场景图的方法,以提高渲染性能和效率. Demo 在笔者的pc上,优化前优化后渲染交互没 ...
- ZCMU-1120
就这样 #include<cmath> #include<cstdio> #include<iostream> using namespace std; int m ...
- uni-app 简单上手
1.前言 uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS.Android.Web(响应式).以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉/ ...
- 聊一下怎么十分钟速水CVE
题目是真的.今天晚上刚接触关于CVE的审计和提交.只能说:牛逼的是真牛逼,水的是真水. 我接下来教你,怎么在10分钟里找到一个CVE的中危漏洞并且提交.然后你就可以去咸鱼接单了,一个一铂快 打开htt ...
- 使用 SemanticKernel 对接 Ollma
前面的 2 篇文章已经介绍了 ollama 的基本情况.我们也已经能在本地跟 LLM 进行聊天了.但是如何使用代码跟 LLM 进行交互呢?如果是 C# 选手那自然是使用 SK (SemanticKer ...