@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Maintenance Plan Cycle'
@Metadata.ignorePropagatedAnnotations: true
@VDM: {
usage.type: [#TRANSACTIONAL_PROCESSING_SERVICE],
viewType: #TRANSACTIONAL,
lifecycle.contract.type: #SAP_INTERNAL_API
}
@ObjectModel : {
usageType : {
dataClass: #TRANSACTIONAL,
serviceQuality: #X,
sizeCategory: #XL
},
modelingPattern: #TRANSACTIONAL_ENTITY,
supportedCapabilities: [ #TRANSACTIONAL_PROVIDER ]
}
/*+[hideWarning] { "IDS" : [ "CARDINALITY_CHECK" ] } */
define view entity R_MaintenancePlanCycleTP
as select from I_MaintenancePlanCycle
association to parent R_MaintenancePlanTP as _MaintenancePlan on $projection.MaintenancePlan = _MaintenancePlan.MaintenancePlan
association [1] to I_MsrgPtLastMsmtDocument as _LastMeasurementReading on $projection.MeasuringPoint = _LastMeasurementReading.MeasuringPoint
{
key MaintenancePlan,
key MaintenancePlanCycle,
_MaintenancePlan.MaintenanceStrategy as MaintenanceStrategy,
@Semantics.quantity.unitOfMeasure: 'MaintPlanCycRcrrcIntervalUnit'
cast(unit_conversion(
quantity => MaintPlanCycRcrrcIntervalQty,
source_unit => _UnitOfMeasure._Dimension.UnitOFMeasureSiUnit,
target_unit => MaintPlanCycRcrrcIntervalUnit,
error_handling=> 'KEEP_UNCONVERTED' ) as eam_maint_plan_cycle_int ) as MaintPlanCycRcrrcIntervalQty,
@UI.textArrangement: #TEXT_LAST
MaintPlanCycRcrrcIntervalUnit,
MaintPlanCycleDesc,
MeasuringPoint,
cast ( unit_conversion(
quantity => MaintPlanCycleStartOffsetValue,
source_unit => _UnitOfMeasure._Dimension.UnitOFMeasureSiUnit,
target_unit => MaintPlanCycRcrrcIntervalUnit,
error_handling=> 'KEEP_UNCONVERTED'
) as eam_maint_plan_cycle_int ) as MaintPlanCycleStartOffsetValue,
@Semantics.quantity.unitOfMeasure: 'MaintPlanCycRcrrcIntervalUnit'
cast( case MeasuringPoint
when ''
then 0
else cast ( unit_conversion(
quantity => MaintCycleNextPlndCntrRdng,
source_unit => _UnitOfMeasure._Dimension.UnitOFMeasureSiUnit,
target_unit => MaintPlanCycRcrrcIntervalUnit,
error_handling=> 'KEEP_UNCONVERTED' ) as eam_maint_plan_cycle_int )
end as eam_maint_plan_cycle_int preserving type ) as MaintCycleNextPlndCntrRdng,
dats_add_days( '00010101', cast( case MeasuringPoint
when ''
then MaintCycleNextPlndCntrRdng
else 0
end as abap.int4 ),'INITIAL' ) as MaintenanceCallNextPlannedDate,
cast( MaintenancePlanCycleIsInactive as boole_d ) as MaintenancePlanCycleIsInactive,
CycleSetSequence,
CycleSetSequenceRepeatFactor,
_MaintenancePlan.MaintPlnStrtBufDurationInDays,
_MeasuringPoint._Characteristic( P_KeyDate:$session.system_date ).CharcValueUnit,
@Semantics.quantity.unitOfMeasure: 'MaintPlanCycRcrrcIntervalUnit'
cast ( unit_conversion(
quantity => _LastMeasurementReading.MeasurementReading,
source_unit => _UnitOfMeasure._Dimension.UnitOFMeasureSiUnit,
target_unit => _LastMeasurementReading.MeasurementReadingEntryUoM,
error_handling=> 'KEEP_UNCONVERTED'
) as eam_maint_plan_cycle_int ) as MeasurementReading,
_LastMeasurementReading.MsmtRdngDate,
/* Associations */
_MaintenancePlan,
_MeasuringPoint,
_UnitOfMeasure,
_MaintenancePlan._MaintenanceStrategy
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CLFNCHARACTERISTICFORKEYDATE",
"I_MAINTENANCEPLANCYCLE",
"I_MEASURINGPOINT",
"I_MSRGPTLASTMSMTDOCUMENT",
"I_UNITOFMEASURE",
"I_UNITOFMEASUREDIMENSION",
"R_MAINTENANCEPLANTP"
],
"ASSOCIATED":
[
"I_MAINTENANCESTRATEGY",
"I_MEASURINGPOINT",
"I_UNITOFMEASURE",
"R_MAINTENANCEPLANTP"
],
"BASE":
[
"I_MAINTENANCEPLANCYCLE",
"R_MAINTENANCEPLANTP"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/