C_MaintNotificationChgHistory

DDL: C_MAINTNOTIFICATIONCHGHISTORY SQL: CMNOTIFCHNHIST Type: view CONSUMPTION

Maint. Notification Change History

C_MaintNotificationChgHistory is a Consumption CDS View that provides data about "Maint. Notification Change History" in SAP S/4HANA. It has 4 associations to related views.

Associations (4)

CardinalityTargetAliasCondition
[0..*] I_ChangeDocFieldNamesT _ChangeDocFieldNamesT $projection.DatabaseTable = _ChangeDocFieldNamesT.DatabaseTable and $projection.ChangeDocDatabaseTableField = _ChangeDocFieldNamesT.Value
[0..*] I_ChangeDocChangeIndT _ChangeDocChangeIndT $projection.ChangeDocItemChangeType = _ChangeDocChangeIndT.Value
[0..*] I_MaintObjectChgTypeCodeText _MaintObjectChgTypeCodeText $projection.MaintObjectChangeTypeCode = _MaintObjectChgTypeCodeText.MaintObjectChangeTypeCode
[0..1] I_User _CreatedByUser $projection.CreatedByUser = _CreatedByUser.UserID

Annotations (10)

NameValueLevelField
AbapCatalog.sqlViewName CMNOTIFCHNHIST view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Maint. Notification Change History view
VDM.viewType #CONSUMPTION view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view

Fields (24)

KeyFieldSource TableSource FieldDescription
KEY ChangeDocObject ChangeDocObject
KEY ChangeDocument ChangeDocument
KEY DatabaseTable DatabaseTable
KEY ChangeDocDatabaseTableField ChangeDocDatabaseTableField
KEY ChangeDocItemChangeType ChangeDocItemChangeType Activity
KEY CreationDateTime
KEY ChangeDocTableKey ChangeDocTableKey
MaintObjectChangeTypeCode MaintObjectChangeTypeCode Edit Type
MaintObjectChangeTypeCodeText
NotificationText Short Description
CreatedByUser CreatedByUser
UserDescription _CreatedByUser UserDescription
CreationDate CreationDate
CreationTime CreationTime
ChangeDocNewFieldValue ChangeDocNewFieldValue
ChangeDocPreviousFieldValue ChangeDocPreviousFieldValue
ChangeDocObjectClass ChangeDocObjectClass
Class Class
StatusName StatusName
StatusProfile StatusProfile
StatusIsInactive StatusIsInactive
_ChangeDocFieldNamesT _ChangeDocFieldNamesT
_ChangeDocChangeIndT _ChangeDocChangeIndT
_MaintObjectChgTypeCodeText _MaintObjectChgTypeCodeText
@AbapCatalog.sqlViewName: 'CMNOTIFCHNHIST'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Maint. Notification Change History'

@AccessControl.personalData.blocking: #('TRANSACTIONAL_DATA')
@VDM.viewType: #CONSUMPTION
@ClientHandling.algorithm: #SESSION_VARIABLE

@ObjectModel: {
   usageType.serviceQuality: #D,
   usageType.sizeCategory: #XL,
   usageType.dataClass:  #MIXED
   }

@UI: {

   presentationVariant: {
       requestAtLeast:  [ 'DatabaseTable',
                          'ChangeDocDatabaseTableField', 
                          'CreationDateTime',                         
                          'ChangeDocPreviousFieldValue',
                          'ChangeDocNewFieldValue',
                          'StatusName',
                          'StatusIsInactive'                       
                        ]
                   }
}

define view C_MaintNotificationChgHistory
  as select distinct from I_MaintNotificationChgHistory

  association [0..*] to I_ChangeDocFieldNamesT       as _ChangeDocFieldNamesT       on  $projection.DatabaseTable               = _ChangeDocFieldNamesT.DatabaseTable
                                                                                    and $projection.ChangeDocDatabaseTableField = _ChangeDocFieldNamesT.Value
  association [0..*] to I_ChangeDocChangeIndT        as _ChangeDocChangeIndT        on  $projection.ChangeDocItemChangeType = _ChangeDocChangeIndT.Value
  association [0..*] to I_MaintObjectChgTypeCodeText as _MaintObjectChgTypeCodeText on  $projection.MaintObjectChangeTypeCode = _MaintObjectChgTypeCodeText.MaintObjectChangeTypeCode
  association [0..1] to I_User                       as _CreatedByUser              on  $projection.CreatedByUser = _CreatedByUser.UserID

{
        @UI.hidden: true
  key   ChangeDocObject,

        @UI.hidden: true
  key   ChangeDocument,

        @UI.hidden: true
  key   DatabaseTable,

        @ObjectModel.text.association: '_ChangeDocFieldNamesT'
        @UI.textArrangement: #TEXT_ONLY
  key   ChangeDocDatabaseTableField,

        @EndUserText.quickInfo: 'Activity'
        @EndUserText.label: 'Activity'
        @ObjectModel.text.association: '_ChangeDocChangeIndT'
        @UI.textArrangement: #TEXT_ONLY
  key   ChangeDocItemChangeType,


        @EndUserText: {
                    label: 'Edited On',
                    quickInfo: 'Edited On'
               }
  key   cast (dats_tims_to_tstmp( CreationDate, CreationTime, abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL') as  tzntstmps preserving type ) as CreationDateTime,

        @UI.hidden: true
  key   ChangeDocTableKey,

        @ObjectModel.text.element: ['MaintObjectChangeTypeCodeText']
        @UI: {
               lineItem: { position :10 , importance: #HIGH },
               identification:{  position: 10, importance: #HIGH},
               textArrangement: #TEXT_ONLY
        }
        @EndUserText.label: 'Edit Type'
        MaintObjectChangeTypeCode,


        @EndUserText: { label: 'Edit Type Text',
                     quickInfo: 'Edit Type Text'
                   }
        _MaintObjectChgTypeCodeText[1:Language = $session.system_language ].MaintObjectChangeTypeCodeText                                                              as MaintObjectChangeTypeCodeText,


        @UI: {
             lineItem: { position :20 , importance: #HIGH },
             identification:{  position: 20, importance: #HIGH}
        }
        @ObjectModel.filter.enabled: true
        @ObjectModel.sort.enabled: true
        @ObjectModel.virtualElement
        @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EAM_NOTIF_HISTORY_DESCR'
        @Semantics.text: true
        @EndUserText.label: 'Short Description'
        cast ( ''  as abap.char(200))                                                                                                                                  as NotificationText,


        @EndUserText: {
                          label: 'Edited By',
                          quickInfo: 'Edited By'
                     }
        @UI.textArrangement: #TEXT_ONLY
        @ObjectModel.text.element: ['UserDescription']
        @UI.lineItem: [{ position: 40, importance: #MEDIUM }] ///type: #AS_CONTACT, value: '_CreatedByUserCard', label: 'Contact Information (Edited By)'  }]

        CreatedByUser,

        @EndUserText: {
                        label: 'Edited By Name',
                        quickInfo: 'Edited By Name'
                   }
        _CreatedByUser.UserDescription                                                                                                                                 as UserDescription,

        @UI.hidden: true
        CreationDate,

        @UI.hidden: true
        CreationTime,

        @EndUserText: {
                        label: 'New Value',
                        quickInfo: 'New Value'
                   }
        ChangeDocNewFieldValue,

        @EndUserText: {
                       label: 'Old Value',
                       quickInfo: 'Old Value'
                  }
        ChangeDocPreviousFieldValue,

        @UI.hidden: true
        ChangeDocObjectClass,
        @UI.hidden: true
        Class,
        @UI.hidden: true
        StatusName,
        @UI.hidden: true
        StatusProfile,
        @UI.hidden: true
        StatusIsInactive,

//        @Consumption.filter.hidden: true

//        _CreatedByUserCard,

        @Consumption.filter.hidden: true
        _ChangeDocFieldNamesT,
        @Consumption.filter.hidden: true
        _ChangeDocChangeIndT,
        @Consumption.filter.hidden: true
        _MaintObjectChgTypeCodeText


}
where
      ChangeDocObject             <> ''
  and ChangeDocument              <> ''
  and DatabaseTable               <> ''
  and ChangeDocDatabaseTableField <> ''
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_MAINTNOTIFICATIONCHGHISTORY",
"I_MAINTOBJECTCHGTYPECODETEXT",
"I_USER"
],
"ASSOCIATED":
[
"I_CHANGEDOCCHANGEINDT",
"I_CHANGEDOCFIELDNAMEST",
"I_MAINTOBJECTCHGTYPECODETEXT",
"I_USER"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/