I_PMNotificationType

DDL: I_PMNOTIFICATIONTYPE Type: view BASIC Package: IWOC

Maintenance Notification Types

I_PMNotificationType is a Basic CDS View that provides data about "Maintenance Notification Types" in SAP S/4HANA. It reads from 1 data source (tq80) and exposes 20 fields with key field NotificationType. It has 3 associations to related views. Part of development package IWOC.

Data Sources (1)

SourceAliasJoin Type
tq80 tq80 from

Associations (3)

CardinalityTargetAliasCondition
[0..*] I_PMNotificationTypeText _Text _Text.NotificationType = $projection.NotificationType
[0..1] tpaer _PartnerRoles _PartnerRoles.pargr = tq80.pargr and _PartnerRoles.parvw = 'IT'
[0..1] nriv _NumberRangeIntervals _NumberRangeIntervals.nrrangenr = $projection.NumberRange and _NumberRangeIntervals.object = 'QMEL_NR' and _NumberRangeIntervals.subobject = '' and _NumberRangeIntervals.toyear = '0000'

Annotations (14)

NameValueLevelField
AbapCatalog.compiler.compareFilter true view
AbapCatalog.sqlViewName IPMNOTIFTYPE view
AccessControl.authorizationCheck #CHECK view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Maintenance Notification Types view
Analytics.dataExtraction.enabled true view
Analytics.dataExtraction.delta.changeDataCapture.automatic true view
VDM.viewType #BASIC view
ObjectModel.representativeKey NotificationType view
ObjectModel.usageType.dataClass #CUSTOMIZING view
ObjectModel.usageType.serviceQuality #A view
ObjectModel.usageType.sizeCategory #S view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
ObjectModel.sapObjectNodeType.name MaintenanceNotificationType view

Fields (20)

KeyFieldSource TableSource FieldDescription
KEY NotificationType qmart
NumberRange tq80 qmnuk
NotificationOrigin herkz
IsExternalNumberRange _NumberRangeIntervals externind
MaintPriorityType artpr
NotificationCategory qmtyp
LongTextIsNotChangeable qmltxt02
papflXthenXelseendasUserMustBeNotified
IsNotificationCreationType tq80 reqmaintapp_use
CatalogProfile tq80 rbnr
MaintNotifObjPrtCodeCatalog tq80 otkat
MaintNotifDamageCodeCatalog tq80 fekat
MaintNotifCauseCodeCatalog tq80 urkat
MaintNotifTaskCodeCatalog tq80 makat
MaintNotifActivityCodeCatalog tq80 mfkat
MaintNotifRespPartnerFunction tq80 parvw_vera
MaintenanceOrderType tq80 auart
MaintNotifCodgCatalogTypeCode tq80 sakat
MaintNotifTypeHasActvPhseModel tq80 maintnotiftypehasactvphsemodel
_Text _Text
@AbapCatalog: { compiler.compareFilter: true, sqlViewName: 'IPMNOTIFTYPE', preserveKey }
@AccessControl.authorizationCheck: #CHECK
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Maintenance Notification Types'
@Analytics: { dataExtraction : { enabled: true , delta.changeDataCapture.automatic: true } }

@VDM.viewType: #BASIC

@ObjectModel: {
  representativeKey: 'NotificationType',
  usageType: {
    dataClass: #CUSTOMIZING,
    serviceQuality: #A,
    sizeCategory: #S },
    supportedCapabilities: [#EXTRACTION_DATA_SOURCE,#SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE, #CDS_MODELING_ASSOCIATION_TARGET] }

@Metadata: { allowExtensions, ignorePropagatedAnnotations }
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API

@ObjectModel.sapObjectNodeType.name:'MaintenanceNotificationType'
define view I_PMNotificationType
  as select from tq80
  association [0..*] to I_PMNotificationTypeText as _Text                 on  _Text.NotificationType = $projection.NotificationType
  association [0..1] to tpaer                    as _PartnerRoles         on  _PartnerRoles.pargr = tq80.pargr
                                                                          and _PartnerRoles.parvw = 'IT'
  association [0..1] to nriv                     as _NumberRangeIntervals on  _NumberRangeIntervals.nrrangenr = $projection.NumberRange
                                                                          and _NumberRangeIntervals.object    = 'QMEL_NR'
                                                                          and _NumberRangeIntervals.subobject = ''
                                                                          and _NumberRangeIntervals.toyear    = '0000'
{

      @ObjectModel.text.association: '_Text'
  key qmart                               as NotificationType,

      // @ObjectModel.foreignKey.association: '_NumberRangeIntervals'

      tq80.qmnuk                          as NumberRange,

      herkz                               as NotificationOrigin,

      _NumberRangeIntervals.externind     as IsExternalNumberRange,

      artpr                               as MaintPriorityType,

      qmtyp                               as NotificationCategory,

      qmltxt02                            as LongTextIsNotChangeable,

      case when _PartnerRoles.parvw is not null then 'X'
      else '' end                         as UserCanBeNotified,


      case when  _PartnerRoles.papfl = 'X' then 'X'
      else '' end                         as UserMustBeNotified,

      case when  _PartnerRoles.aendb = 'X' then ''
      else 'X' end                        as NotifiedUserCanBeDeleted,

      tq80.reqmaintapp_use                as IsNotificationCreationType,

      tq80.rbnr                           as CatalogProfile,

      // Default catalogs for respective Notification Type

      tq80.otkat                          as MaintNotifObjPrtCodeCatalog,
      tq80.fekat                          as MaintNotifDamageCodeCatalog,
      tq80.urkat                          as MaintNotifCauseCodeCatalog,
      tq80.makat                          as MaintNotifTaskCodeCatalog,
      tq80.mfkat                          as MaintNotifActivityCodeCatalog,

      tq80.parvw_vera                     as MaintNotifRespPartnerFunction,

      tq80.auart                          as MaintenanceOrderType,
      tq80.sakat                          as MaintNotifCodgCatalogTypeCode,
      tq80.maintnotiftypehasactvphsemodel as MaintNotifTypeHasActvPhseModel,
      // Propagate association

      _Text
}