P_MaintNotifTechnicalObject

DDL: P_MAINTNOTIFTECHNICALOBJECT Type: view_entity COMPOSITE Package: IWOC

Maintenance Notification TechObj Helper

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.

Data Sources (1)

SourceAliasJoin Type
I_MaintNotificationTechObj I_MaintNotificationTechObj from

Associations (2)

CardinalityTargetAliasCondition
[0..1] I_EquipmentTimeSeg _EquipmentTimeSeg _EquipmentTimeSeg.Equipment = I_MaintNotificationTechObj.Equipment and _EquipmentTimeSeg.EquipUsagePeriodSequenceNumber = '001' and _EquipmentTimeSeg.ValidityEndDate = '99991231'
[0..1] I_LocationAccountAssignment _LocationAccountAssignment _LocationAccountAssignment.MaintObjectLocAcctAssgmtNmbr = $projection.MaintObjectLocAcctAssgmtNmbr

Annotations (8)

NameValueLevelField
AccessControl.authorizationCheck #MANDATORY view
Metadata.ignorePropagatedAnnotations true view
AccessControl.personalData.blocking #NOT_REQUIRED view
VDM.viewType #COMPOSITE view
VDM.private true view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view

Fields (5)

KeyFieldSource TableSource FieldDescription
KEY MaintenanceNotification MaintenanceNotification
ConstructionYearendasConstructionYear
ConstructionMonthendasConstructionMonth
CatalogProfileendasCatalogProfile
_LocationAccountAssignment _LocationAccountAssignment
@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
}
define view entity P_MaintNotifTechnicalObject
  as select from 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(
        case when TechObjIsEquipOrFuncnlLoc = 'EAMS_FL'     then _FunctionalLocationLabel.FunctionalLocationLabelName
             when TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI'   then TechnicalObject end as eams_tech_obj_conv ) as TechnicalObjectLabel,

      case when TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI'     then _Equipment.TechnicalObjectType
           when TechObjIsEquipOrFuncnlLoc = 'EAMS_FL'       then _FunctionalLocation.TechnicalObjectType
      end                                                                                                    as TechnicalObjectType,

      case when TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI'     then _Equipment.AssetManufacturerName
           when TechObjIsEquipOrFuncnlLoc = 'EAMS_FL'       then _FunctionalLocation.AssetManufacturerName
      end                                                                                                    as AssetManufacturerName,

      case when TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI'     then _Equipment.ManufacturerPartTypeName
           when TechObjIsEquipOrFuncnlLoc = 'EAMS_FL'       then _FunctionalLocation.ManufacturerPartTypeName
      end                                                                                                    as ManufacturerPartTypeName,

      case when TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI'     then _Equipment.ManufacturerCountry
           when TechObjIsEquipOrFuncnlLoc = 'EAMS_FL'       then _FunctionalLocation.ManufacturerCountry
      end                                                                                                    as ManufacturerCountry,

      case when TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI'     then _EquipmentTimeSeg.ConstructionMaterial
           when TechObjIsEquipOrFuncnlLoc = 'EAMS_FL'       then _FunctionalLocation.ConstructionMaterial
      end                                                                                                    as ConstructionMaterial,

      case when TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI'     then _Equipment.ConstructionYear
           when TechObjIsEquipOrFuncnlLoc = 'EAMS_FL'       then _FunctionalLocation.ConstructionYear
      end                                                                                                    as ConstructionYear,

      case when TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI'     then _Equipment.ConstructionMonth
           when TechObjIsEquipOrFuncnlLoc = 'EAMS_FL'       then _FunctionalLocation.ConstructionMonth
      end                                                                                                    as ConstructionMonth,

      case when TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI'     then _Equipment.AuthorizationGroup
           when TechObjIsEquipOrFuncnlLoc = 'EAMS_FL'       then _FunctionalLocation.AuthorizationGroup
      end                                                                                                    as AuthorizationGroup,

      cast(
          case when TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI' then _Equipment.EquipmentCategory
               when TechObjIsEquipOrFuncnlLoc = 'EAMS_FL'   then _FunctionalLocation.FunctionalLocationCategory
      end as eams_tec_obj_cat )                                                                              as TechnicalObjectCategory,

      case when TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI'     then _EquipmentTimeSeg.CatalogProfile
           when TechObjIsEquipOrFuncnlLoc = 'EAMS_FL'       then _FunctionalLocation.CatalogProfile
      end                                                                                                    as CatalogProfile,

      cast ( case when TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI'
                  then case when _EquipmentTimeSeg.SuperordinateEquipment <> ''
                            then _EquipmentTimeSeg.SuperordinateEquipment
                            else I_MaintNotificationTechObj._LocationAccountAssignment.FunctionalLocation end
                  when TechObjIsEquipOrFuncnlLoc = 'EAMS_FL'
                  then _FunctionalLocation.SuperiorFunctionalLocation
             end as eams_tec_obj )                                                                           as SuperiorTechnicalObject,

      cast ( case when TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI'
                  then case when _EquipmentTimeSeg.SuperordinateEquipment <> ''
                            then _EquipmentTimeSeg._SuperordinateEquipmentText[1: Language = $session.system_language].EquipmentName
                            else I_MaintNotificationTechObj._LocationAccountAssignment._FunctionalLocation._FunctionalLocationText[1: Language = $session.system_language].FunctionalLocationName
                        end
                  when TechObjIsEquipOrFuncnlLoc = 'EAMS_FL'
                  then _FunctionalLocation._SupFunctionalLocationText[1: Language = $session.system_language ].FunctionalLocationName
      end as eams_tec_obj_des )                                                                              as SuperiorTechnicalObjectName,

      cast( case when TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI'
                 then case when _EquipmentTimeSeg.SuperordinateEquipment <> ''
                           then 'EAMS_EQUI'
                           when I_MaintNotificationTechObj._LocationAccountAssignment.FunctionalLocation <> ''
                           then 'EAMS_FL' end
                 when TechObjIsEquipOrFuncnlLoc = 'EAMS_FL' and
                      _FunctionalLocation.SuperiorFunctionalLocation <> ''
                 then 'EAMS_FL'
      end  as eams_tec_obj_type_value )                                                                      as SuperiorObjIsEquipOrFuncnlLoc,

      case when TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI'     then _EquipmentTimeSeg.MaintenancePlannerGroup
           when TechObjIsEquipOrFuncnlLoc = 'EAMS_FL'       then _FunctionalLocation.MaintenancePlannerGroup
      end                                                                                                    as MaintenancePlannerGroup,

      case when TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI'     then _EquipmentTimeSeg.MaintenancePlanningPlant
           when TechObjIsEquipOrFuncnlLoc = 'EAMS_FL'       then _FunctionalLocation.MaintenancePlanningPlant
      end                                                                                                    as MaintenancePlanningPlant,

      case when TechObjIsEquipOrFuncnlLoc = 'EAMS_EQUI'     then _EquipmentTimeSeg.MaintObjectLocAcctAssgmtNmbr
           when TechObjIsEquipOrFuncnlLoc = 'EAMS_FL'       then _FunctionalLocation.MaintObjectLocAcctAssgmtNmbr
      end                                                                                                    as MaintObjectLocAcctAssgmtNmbr,

      _LocationAccountAssignment
}