I_MaintNotifCauseTechObj

DDL: I_MAINTNOTIFCAUSETECHOBJ SQL: INTFCAUSETECHOBJ Type: view COMPOSITE Package: IWOC

Maint. Notification Cause /w Tech. Obj.

I_MaintNotifCauseTechObj is a Composite CDS View (Dimension) that provides data about "Maint. Notification Cause /w Tech. Obj." in SAP S/4HANA. It reads from 1 data source (I_MaintenanceNotificationCause) and exposes 22 fields with key fields MaintenanceNotificationCause, MaintenanceNotification, MaintenanceNotificationItem. It has 2 associations to related views. Part of development package IWOC.

Data Sources (1)

SourceAliasJoin Type
I_MaintenanceNotificationCause I_MaintenanceNotificationCause from

Associations (2)

CardinalityTargetAliasCondition
[1..1] I_MaintNotificationTechObj _MaintNotificationTechObj _MaintNotificationTechObj.MaintenanceNotification = $projection.MaintenanceNotification
[1..1] I_MaintNotifItemTechObj _MaintenanceNotificationItem _MaintenanceNotificationItem.MaintenanceNotification = $projection.MaintenanceNotification and _MaintenanceNotificationItem.MaintenanceNotificationItem = $projection.MaintenanceNotificationItem

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName INTFCAUSETECHOBJ view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #NOT_REQUIRED view
Analytics.dataCategory #DIMENSION view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Maint. Notification Cause /w Tech. Obj. view
ObjectModel.representativeKey MaintenanceNotificationCause view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #A view
ObjectModel.usageType.sizeCategory #L view
VDM.viewType #COMPOSITE view

Fields (22)

KeyFieldSource TableSource FieldDescription
KEY MaintenanceNotificationCause I_MaintenanceNotificationCause MaintenanceNotificationCause
KEY MaintenanceNotification I_MaintenanceNotificationCause MaintenanceNotification
KEY MaintenanceNotificationItem I_MaintenanceNotificationCause MaintenanceNotificationItem
MaintNotifCauseText I_MaintenanceNotificationCause MaintNotifCauseText
MaintNotificationCauseCode I_MaintenanceNotificationCause MaintNotificationCauseCode
MaintNotifCauseCodeGroup I_MaintenanceNotificationCause MaintNotifCauseCodeGroup
MaintNotifCauseCodeCatalog I_MaintenanceNotificationCause MaintNotifCauseCodeCatalog
IsDeleted I_MaintenanceNotificationCause IsDeleted
MaintNotifCauseSortNumber I_MaintenanceNotificationCause MaintNotifCauseSortNumber
MaintNotificationRootCause I_MaintenanceNotificationCause MaintNotificationRootCause
CreationDateendasCreationDate
TimeOfCreationendasTimeOfCreation
LastChangeDateTime I_MaintenanceNotificationCause LastChangeDateTime
IsMaintNotificationRootCause
IsMaintNotifItemRootCause
_MaintNotificationTechObj _MaintNotificationTechObj
_IsDeleted I_MaintenanceNotificationCause _IsDeleted
_MaintenanceNotification I_MaintenanceNotificationCause _MaintenanceNotification
_MaintenanceNotificationItem _MaintenanceNotificationItem
_MaintNotifCauseCodeCatalog I_MaintenanceNotificationCause _MaintNotifCauseCodeCatalog
_MaintNotifCauseCodeGroup I_MaintenanceNotificationCause _MaintNotifCauseCodeGroup
_MaintNotificationCauseCode I_MaintenanceNotificationCause _MaintNotificationCauseCode
@AbapCatalog.sqlViewName: 'INTFCAUSETECHOBJ'
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #NOT_REQUIRED
--@Analytics: { dataCategory: #DIMENSION }
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Maint. Notification Cause /w Tech. Obj.'
@ObjectModel.representativeKey: 'MaintenanceNotificationCause'
@ObjectModel.semanticKey:  [ 'MaintenanceNotificationCause', 'MaintenanceNotificationItem', 'MaintenanceNotification' ]
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@ObjectModel.usageType.serviceQuality: #A
@ObjectModel.usageType.sizeCategory: #L
@VDM.viewType: #COMPOSITE


define view I_MaintNotifCauseTechObj
  as select from I_MaintenanceNotificationCause
  association [1..1] to I_MaintNotificationTechObj as _MaintNotificationTechObj    on  _MaintNotificationTechObj.MaintenanceNotification = $projection.MaintenanceNotification
  association [1..1] to I_MaintNotifItemTechObj    as _MaintenanceNotificationItem on  _MaintenanceNotificationItem.MaintenanceNotification     = $projection.MaintenanceNotification
                                                                                   and _MaintenanceNotificationItem.MaintenanceNotificationItem = $projection.MaintenanceNotificationItem
{

      @ObjectModel.text.element:  [ 'MaintNotifCauseText' ]
  key I_MaintenanceNotificationCause.MaintenanceNotificationCause,

      @ObjectModel.foreignKey.association: '_MaintenanceNotification'
  key I_MaintenanceNotificationCause.MaintenanceNotification,
      @ObjectModel.foreignKey.association: '_MaintenanceNotificationItem'
  key I_MaintenanceNotificationCause.MaintenanceNotificationItem,

      @Semantics.text: true
      I_MaintenanceNotificationCause.MaintNotifCauseText,

      @ObjectModel.foreignKey.association: '_MaintNotificationCauseCode'
      I_MaintenanceNotificationCause.MaintNotificationCauseCode,
      @ObjectModel.foreignKey.association: '_MaintNotifCauseCodeGroup'
      I_MaintenanceNotificationCause.MaintNotifCauseCodeGroup,
      @ObjectModel.foreignKey.association: '_MaintNotifCauseCodeCatalog'
      I_MaintenanceNotificationCause.MaintNotifCauseCodeCatalog,
      @ObjectModel.foreignKey.association: '_IsDeleted'
      I_MaintenanceNotificationCause.IsDeleted,

      I_MaintenanceNotificationCause.MaintNotifCauseSortNumber,
      I_MaintenanceNotificationCause.MaintNotificationRootCause,
       case I_MaintenanceNotificationCause.TimeOfCreation when '240000'
       then dats_add_days(I_MaintenanceNotificationCause.CreationDate,1,'NULL')
       else I_MaintenanceNotificationCause.CreationDate 
       end as CreationDate,
       @Semantics.time: true
       case I_MaintenanceNotificationCause.TimeOfCreation when '240000'
       then '000000' 
       else I_MaintenanceNotificationCause.TimeOfCreation 
       end as TimeOfCreation,

       case LastChangeTime when '240000'
       then dats_add_days(LastChangeDate,1,'NULL')
       else LastChangeDate 
       end as LastChangeDate,
       @Semantics.time: true
       case LastChangeTime when '240000'
       then '000000' 
       else LastChangeTime 
       end as LastChangeTime,

      I_MaintenanceNotificationCause.LastChangeDateTime,     

      cast( case when MaintNotificationRootCause = '2' then 'X' else ' ' end as eam_root_cause_boole ) as IsMaintNotificationRootCause,
      cast( case when MaintNotificationRootCause = '1' then 'X' else ' ' end as eam_root_cause_boole ) as IsMaintNotifItemRootCause,

      /* Associations */
      _MaintNotificationTechObj, // #COMPOSITE Maintenance Notification including Technical Object

      I_MaintenanceNotificationCause._IsDeleted,
      I_MaintenanceNotificationCause._MaintenanceNotification, // #BASIC Maintenance Notification

      _MaintenanceNotificationItem,
      I_MaintenanceNotificationCause._MaintNotifCauseCodeCatalog,
      I_MaintenanceNotificationCause._MaintNotifCauseCodeGroup,
      I_MaintenanceNotificationCause._MaintNotificationCauseCode
}