P_MaintNotifTechnicalObject is a Composite CDS View that provides data about "Maintenance Notification TechObj Helper" in SAP S/4HANA. It reads from 1 data source (I_MaintNotificationTechObj) and exposes 5 fields with key field MaintenanceNotification. It has 2 associations to related views. Part of development package IWOC.
@AbapCatalog.viewEnhancementCategory: [#NONE]@AccessControl.authorizationCheck: #MANDATORY@Metadata.ignorePropagatedAnnotations: true@AccessControl.personalData.blocking: #NOT_REQUIRED@VDM.viewType: #COMPOSITE@VDM.private: true@ObjectModel.usageType:{
serviceQuality: #C,
sizeCategory: #XL,
dataClass: #MIXED
}defineviewentity P_MaintNotifTechnicalObject
asselectfrom I_MaintNotificationTechObj
association [0..1] to I_EquipmentTimeSeg as _EquipmentTimeSeg on _EquipmentTimeSeg.Equipment = I_MaintNotificationTechObj.Equipment
and _EquipmentTimeSeg.EquipUsagePeriodSequenceNumber = '001'
and _EquipmentTimeSeg.ValidityEndDate = '99991231'
association [0..1] to I_LocationAccountAssignment as _LocationAccountAssignment on _LocationAccountAssignment.MaintObjectLocAcctAssgmtNmbr = $projection.MaintObjectLocAcctAssgmtNmbr
{
key MaintenanceNotification,
cast(
casewhen TechObjIsEquipOrFuncnlLoc = 'EAMS_FL' then _FunctionalLocationLabel.FunctionalLocationLabelName
when TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI' then TechnicalObject endas eams_tech_obj_conv ) as TechnicalObjectLabel,
casewhen TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI' then _Equipment.TechnicalObjectType
when TechObjIsEquipOrFuncnlLoc = 'EAMS_FL' then _FunctionalLocation.TechnicalObjectType
endas TechnicalObjectType,
casewhen TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI' then _Equipment.AssetManufacturerName
when TechObjIsEquipOrFuncnlLoc = 'EAMS_FL' then _FunctionalLocation.AssetManufacturerName
endas AssetManufacturerName,
casewhen TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI' then _Equipment.ManufacturerPartTypeName
when TechObjIsEquipOrFuncnlLoc = 'EAMS_FL' then _FunctionalLocation.ManufacturerPartTypeName
endas ManufacturerPartTypeName,
casewhen TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI' then _Equipment.ManufacturerCountry
when TechObjIsEquipOrFuncnlLoc = 'EAMS_FL' then _FunctionalLocation.ManufacturerCountry
endas ManufacturerCountry,
casewhen TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI' then _EquipmentTimeSeg.ConstructionMaterial
when TechObjIsEquipOrFuncnlLoc = 'EAMS_FL' then _FunctionalLocation.ConstructionMaterial
endas ConstructionMaterial,
casewhen TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI' then _Equipment.ConstructionYear
when TechObjIsEquipOrFuncnlLoc = 'EAMS_FL' then _FunctionalLocation.ConstructionYear
endas ConstructionYear,
casewhen TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI' then _Equipment.ConstructionMonth
when TechObjIsEquipOrFuncnlLoc = 'EAMS_FL' then _FunctionalLocation.ConstructionMonth
endas ConstructionMonth,
casewhen TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI' then _Equipment.AuthorizationGroup
when TechObjIsEquipOrFuncnlLoc = 'EAMS_FL' then _FunctionalLocation.AuthorizationGroup
endas AuthorizationGroup,
cast(
casewhen TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI' then _Equipment.EquipmentCategory
when TechObjIsEquipOrFuncnlLoc = 'EAMS_FL' then _FunctionalLocation.FunctionalLocationCategory
endas eams_tec_obj_cat ) as TechnicalObjectCategory,
casewhen TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI' then _EquipmentTimeSeg.CatalogProfile
when TechObjIsEquipOrFuncnlLoc = 'EAMS_FL' then _FunctionalLocation.CatalogProfile
endas CatalogProfile,
cast ( casewhen TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI'
thencasewhen _EquipmentTimeSeg.SuperordinateEquipment <> ''
then _EquipmentTimeSeg.SuperordinateEquipment
else I_MaintNotificationTechObj._LocationAccountAssignment.FunctionalLocation endwhen TechObjIsEquipOrFuncnlLoc = 'EAMS_FL'
then _FunctionalLocation.SuperiorFunctionalLocation
endas eams_tec_obj ) as SuperiorTechnicalObject,
cast ( casewhen TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI'
thencasewhen _EquipmentTimeSeg.SuperordinateEquipment <> ''
then _EquipmentTimeSeg._SuperordinateEquipmentText[1: Language = $session.system_language].EquipmentName
else I_MaintNotificationTechObj._LocationAccountAssignment._FunctionalLocation._FunctionalLocationText[1: Language = $session.system_language].FunctionalLocationName
endwhen TechObjIsEquipOrFuncnlLoc = 'EAMS_FL'
then _FunctionalLocation._SupFunctionalLocationText[1: Language = $session.system_language ].FunctionalLocationName
endas eams_tec_obj_des ) as SuperiorTechnicalObjectName,
cast( casewhen TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI'
thencasewhen _EquipmentTimeSeg.SuperordinateEquipment <> ''
then 'EAMS_EQUI'
when I_MaintNotificationTechObj._LocationAccountAssignment.FunctionalLocation <> ''
then 'EAMS_FL' endwhen TechObjIsEquipOrFuncnlLoc = 'EAMS_FL' and
_FunctionalLocation.SuperiorFunctionalLocation <> ''
then 'EAMS_FL'
endas eams_tec_obj_type_value ) as SuperiorObjIsEquipOrFuncnlLoc,
casewhen TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI' then _EquipmentTimeSeg.MaintenancePlannerGroup
when TechObjIsEquipOrFuncnlLoc = 'EAMS_FL' then _FunctionalLocation.MaintenancePlannerGroup
endas MaintenancePlannerGroup,
casewhen TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI' then _EquipmentTimeSeg.MaintenancePlanningPlant
when TechObjIsEquipOrFuncnlLoc = 'EAMS_FL' then _FunctionalLocation.MaintenancePlanningPlant
endas MaintenancePlanningPlant,
casewhen TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI' then _EquipmentTimeSeg.MaintObjectLocAcctAssgmtNmbr
when TechObjIsEquipOrFuncnlLoc = 'EAMS_FL' then _FunctionalLocation.MaintObjectLocAcctAssgmtNmbr
endas MaintObjectLocAcctAssgmtNmbr,
_LocationAccountAssignment
}