I_ChangeMaster

DDL: I_CHANGEMASTER SQL: ICHANGEMASTER Type: view BASIC Package: VDM_PLMB_ECN

Change Number

I_ChangeMaster is a Basic CDS View that provides data about "Change Number" in SAP S/4HANA. It reads from 1 data source (aenr) and exposes 37 fields with key field ChangeNumber. It has 21 associations to related views. It is exposed through 1 OData service (BOMMASSMAINT). Part of development package VDM_PLMB_ECN.

Data Sources (1)

SourceAliasJoin Type
aenr aenr from

Associations (21)

CardinalityTargetAliasCondition
[0..1] I_ChangeMasterStatus _ChangeNumberStatus $projection.ChangeNumberStatus = _ChangeNumberStatus.ChangeNumberStatus
[0..1] I_ChangeMasterFunction _ChangeNumberFunction $projection.ChangeNumberFunction = _ChangeNumberFunction.ChangeNumberFunction
[0..1] I_ChangeMasterReleaseKey _ChangeNumberReleaseKey $projection.ChangeNumberReleaseKey = _ChangeNumberReleaseKey.ChangeNumberReleaseKey
[0..*] I_ChangeMasterObjTypeAssgmt _ObjTypeAssignment $projection.ChangeNumber = _ObjTypeAssignment.ChangeNumber
[0..*] I_ChangeMasterAltDate _AlternativeDate $projection.ChangeNumber = _AlternativeDate.ChangeNumber
[0..1] I_ChangeMasterHierarchy _LeadingChangeNumber $projection.ChangeNumber = _LeadingChangeNumber.PackageChangeNumber
[0..*] I_ChangeMstrObjectMgmtRecord _ChangeMstrObjectMgmtRecord $projection.ChangeNumber = _ChangeMstrObjectMgmtRecord.ChangeNumber
[0..*] I_ChangeMstrObMgReDocInfoRecd _ChangeMstrObMgReDocInfoRecd $projection.ChangeNumber = _ChangeMstrObMgReDocInfoRecd.ChangeNumber
[0..*] I_ChangeMstrObMgReMaterial _ChangeMstrObMgReMaterial $projection.ChangeNumber = _ChangeMstrObMgReMaterial.ChangeNumber
[0..*] I_ChangeMstrObMgReMatlBOM _ChangeMstrObMgReMatlBOM $projection.ChangeNumber = _ChangeMstrObMgReMatlBOM.ChangeNumber
[0..1] I_User _CreatedByUser $projection.ChangeNumberCreatedByUser = _CreatedByUser.UserID
[0..1] I_User _LastChangedByUser $projection.ChangeNumberLastChangedByUser = _LastChangedByUser.UserID
[0..*] I_ClfnObjectClassForKeyDate _ClfnObjectClassForKeyDate $projection.ChangeNumber = _ClfnObjectClassForKeyDate.ClfnObjectID and _ClfnObjectClassForKeyDate.ClfnObjectTable = 'AENR'
[0..*] I_ClfnObjectCharcValForKeyDate _ClfnObjectCharcValForKeyDate $projection.ChangeNumber = _ClfnObjectCharcValForKeyDate.ClfnObjectID and _ClfnObjectCharcValForKeyDate.ClfnObjectTable = 'AENR'
[0..*] I_DocumentInfoRecordObjectLink _DocumentInfoRecordObjectLink $projection.ChangeNumber = _DocumentInfoRecordObjectLink.LinkedSAPObjectKey and _DocumentInfoRecordObjectLink.LinkedSAPObject = 'AENR'
[0..1] I_LogAccMObjectTypeActive _LogAccMObjectTypeActive _LogAccMObjectTypeActive.LogAccMObjectType = 'PLM_ECN'
[0..*] I_LogAccMObjSecureIDAssgmt _LogAccMObjSecureIDAssgmt $projection.ChangeNumber = _LogAccMObjSecureIDAssgmt.LogAccMObjectID and _LogAccMObjSecureIDAssgmt.LogAccMObjectType = 'PLM_ECN'
[0..*] I_LogAccMObjectUserAuthzn _LogAccMObjectUserAuthzn $projection.ChangeNumber = _LogAccMObjectUserAuthzn.LogAccMObjectID and _LogAccMObjectUserAuthzn.LogAccMObjectType = 'PLM_ECN' and _LogAccMObjectUserAuthzn.LogAccMUserAuthznObject = 'PLM_ECN' and _LogAccMObjectUserAuthzn.LogAccMReadActivityIsEnabled = 'X' and _LogAccMObjectUserAuthzn.LogAccMUserAuthznField = 'ACTVT' and _LogAccMObjectUserAuthzn.LogAccMUserEntityID = $session.user and _LogAccMObjectUserAuthzn.UserID = $session.user
[0..1] I_ChangeMasterLogAccMActive _ChangeMasterLogAccMActive _ChangeMasterLogAccMActive.LogAccMObjectType = 'PLM_ECN'
[0..*] I_ChgMstrLogAccMSecureIDAssgmt _ChgMstrLogAccMSecureIDAssgmt _ChgMstrLogAccMSecureIDAssgmt.LogAccMObjectID = $projection.ChangeNumber
[0..*] I_ChangeMstrLogAccMUserAuthzn _ChangeMstrLogAccMUserAuthzn _ChangeMstrLogAccMUserAuthzn.LogAccMObjectID = $projection.ChangeNumber and _ChangeMstrLogAccMUserAuthzn.LogAccMUserAuthznField = 'ACTVT' and _ChangeMstrLogAccMUserAuthzn.LogAccMReadActivityIsEnabled = 'X' and _ChangeMstrLogAccMUserAuthzn.UserID = $session.user and _ChangeMstrLogAccMUserAuthzn.LogAccMUserEntityID = $session.user

Annotations (14)

NameValueLevelField
AbapCatalog.sqlViewName ICHANGEMASTER view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
ClientHandling.algorithm #SESSION_VARIABLE view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.compositionRoot true view
ObjectModel.representativeKey ChangeNumber view
VDM.viewType #BASIC view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
EndUserText.label Change Number view

OData Services (1)

ServiceBindingVersionContractRelease
BOMMASSMAINT BOM_MASS_MAINT V4 C1 NOT_RELEASED

Fields (37)

KeyFieldSource TableSource FieldDescription
KEY ChangeNumber aennr
ChangeNumberStatus
AuthorizationGroup
ChangeNumberFunction aefun
IsTechnicallyReleased terel
ChangeNumberReleaseKey
ReasonForChangeText aegru
ChangeNumberDescription aetxt
ChangeNumberValidFromDate datuv
ChangeNumberCreationDate
ChangeNumberCreatedByUser
ChangeNumberLastChangedDate
ChangeNumberLastChangedByUser
IsUsedForDataDefinition
ChangeNumberIsMrkdForDeletion
ChangeNumberLastChgdDateTime lastchangeddatetime
_ChangeNumberStatus _ChangeNumberStatus
_ChangeNumberFunction _ChangeNumberFunction
_ChangeNumberReleaseKey _ChangeNumberReleaseKey
_ObjTypeAssignment _ObjTypeAssignment
_AlternativeDate _AlternativeDate
_LeadingChangeNumber _LeadingChangeNumber
_ChangeMstrObjectMgmtRecord _ChangeMstrObjectMgmtRecord
_ChangeMstrObMgReDocInfoRecd _ChangeMstrObMgReDocInfoRecd
_DocumentInfoRecordObjectLink _DocumentInfoRecordObjectLink
_ChangeMstrObMgReMaterial _ChangeMstrObMgReMaterial
_ChangeMstrObMgReMatlBOM _ChangeMstrObMgReMatlBOM
_CreatedByUser _CreatedByUser
_LastChangedByUser _LastChangedByUser
_ClfnObjectClassForKeyDate _ClfnObjectClassForKeyDate
_ClfnObjectCharcValForKeyDate _ClfnObjectCharcValForKeyDate
_LogAccMObjectTypeActive _LogAccMObjectTypeActive
_LogAccMObjectUserAuthzn _LogAccMObjectUserAuthzn
_LogAccMObjSecureIDAssgmt _LogAccMObjSecureIDAssgmt
_ChangeMasterLogAccMActive _ChangeMasterLogAccMActive
_ChgMstrLogAccMSecureIDAssgmt _ChgMstrLogAccMSecureIDAssgmt
_ChangeMstrLogAccMUserAuthzn _ChangeMstrLogAccMUserAuthzn
@AbapCatalog.sqlViewName: 'ICHANGEMASTER'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey:true
@AccessControl.authorizationCheck: #CHECK
@AccessControl.privilegedAssociations: [
  '_LastChangedByUser'       ,
  '_CreatedByUser'           ,
  '_LogAccMObjectTypeActive' ,
  '_LogAccMObjSecureIDAssgmt',
  '_LogAccMObjectUserAuthzn' ,
  '_ChangeMasterLogAccMActive',
  '_ChgMstrLogAccMSecureIDAssgmt',
  '_ChangeMstrLogAccMUserAuthzn' ]

@ClientHandling.algorithm: #SESSION_VARIABLE

@Metadata.ignorePropagatedAnnotations: true

@ObjectModel.supportedCapabilities: [ #CDS_MODELING_DATA_SOURCE,
                                      #CDS_MODELING_ASSOCIATION_TARGET,
                                      #SQL_DATA_SOURCE ]

@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.dataClass: #MASTER

@ObjectModel: {
   compositionRoot: true,
   semanticKey: ['ChangeNumber'],
   representativeKey: 'ChangeNumber'
  // modelCategory: #BUSINESS_OBJECT

}

@VDM.viewType: #BASIC
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API

@EndUserText.label: 'Change Number'
define view I_ChangeMaster
  as select from aenr
  association [0..1] to I_ChangeMasterStatus           as _ChangeNumberStatus           on  $projection.ChangeNumberStatus = _ChangeNumberStatus.ChangeNumberStatus
  association [0..1] to I_ChangeMasterFunction         as _ChangeNumberFunction         on  $projection.ChangeNumberFunction = _ChangeNumberFunction.ChangeNumberFunction
  association [0..1] to I_ChangeMasterReleaseKey       as _ChangeNumberReleaseKey       on  $projection.ChangeNumberReleaseKey = _ChangeNumberReleaseKey.ChangeNumberReleaseKey
  association [0..*] to I_ChangeMasterObjTypeAssgmt    as _ObjTypeAssignment            on  $projection.ChangeNumber = _ObjTypeAssignment.ChangeNumber
  association [0..*] to I_ChangeMasterAltDate          as _AlternativeDate              on  $projection.ChangeNumber = _AlternativeDate.ChangeNumber
  association [0..1] to I_ChangeMasterHierarchy        as _LeadingChangeNumber          on  $projection.ChangeNumber = _LeadingChangeNumber.PackageChangeNumber
  association [0..*] to I_ChangeMstrObjectMgmtRecord   as _ChangeMstrObjectMgmtRecord   on  $projection.ChangeNumber = _ChangeMstrObjectMgmtRecord.ChangeNumber
  association [0..*] to I_ChangeMstrObMgReDocInfoRecd  as _ChangeMstrObMgReDocInfoRecd  on  $projection.ChangeNumber = _ChangeMstrObMgReDocInfoRecd.ChangeNumber
  association [0..*] to I_ChangeMstrObMgReMaterial     as _ChangeMstrObMgReMaterial     on  $projection.ChangeNumber = _ChangeMstrObMgReMaterial.ChangeNumber
  association [0..*] to I_ChangeMstrObMgReMatlBOM      as _ChangeMstrObMgReMatlBOM      on  $projection.ChangeNumber = _ChangeMstrObMgReMatlBOM.ChangeNumber
  association [0..1] to I_User                         as _CreatedByUser                on  $projection.ChangeNumberCreatedByUser = _CreatedByUser.UserID
  association [0..1] to I_User                         as _LastChangedByUser            on  $projection.ChangeNumberLastChangedByUser = _LastChangedByUser.UserID
  association [0..*] to I_ClfnObjectClassForKeyDate    as _ClfnObjectClassForKeyDate    on  $projection.ChangeNumber                   = _ClfnObjectClassForKeyDate.ClfnObjectID
                                                                                        and _ClfnObjectClassForKeyDate.ClfnObjectTable = 'AENR'
  association [0..*] to I_ClfnObjectCharcValForKeyDate as _ClfnObjectCharcValForKeyDate on  $projection.ChangeNumber                      = _ClfnObjectCharcValForKeyDate.ClfnObjectID
                                                                                        and _ClfnObjectCharcValForKeyDate.ClfnObjectTable = 'AENR'
  association [0..*] to I_DocumentInfoRecordObjectLink as _DocumentInfoRecordObjectLink on  $projection.ChangeNumber                      = _DocumentInfoRecordObjectLink.LinkedSAPObjectKey
                                                                                        and _DocumentInfoRecordObjectLink.LinkedSAPObject = 'AENR'

  // Access Control Management integration - target views are not C1 released (kept for historical reason, not used in DCL anymore)

  association [0..1] to I_LogAccMObjectTypeActive      as _LogAccMObjectTypeActive      on  _LogAccMObjectTypeActive.LogAccMObjectType = 'PLM_ECN'

  association [0..*] to I_LogAccMObjSecureIDAssgmt     as _LogAccMObjSecureIDAssgmt     on  $projection.ChangeNumber                    = _LogAccMObjSecureIDAssgmt.LogAccMObjectID
                                                                                        and _LogAccMObjSecureIDAssgmt.LogAccMObjectType = 'PLM_ECN'
  association [0..*] to I_LogAccMObjectUserAuthzn      as _LogAccMObjectUserAuthzn      on  $projection.ChangeNumber                              = _LogAccMObjectUserAuthzn.LogAccMObjectID
                                                                                        and _LogAccMObjectUserAuthzn.LogAccMObjectType            = 'PLM_ECN'
                                                                                        and _LogAccMObjectUserAuthzn.LogAccMUserAuthznObject      = 'PLM_ECN'
                                                                                        and _LogAccMObjectUserAuthzn.LogAccMReadActivityIsEnabled = 'X'
                                                                                        and _LogAccMObjectUserAuthzn.LogAccMUserAuthznField       = 'ACTVT'
                                                                                        and _LogAccMObjectUserAuthzn.LogAccMUserEntityID          = $session.user
                                                                                        and _LogAccMObjectUserAuthzn.UserID                       = $session.user //DT2869058


  // Access Control Management integration - target views are ECN object specific projection views on ACM, C1 released, used in DCL

  association [0..1] to I_ChangeMasterLogAccMActive    as _ChangeMasterLogAccMActive    on  _ChangeMasterLogAccMActive.LogAccMObjectType = 'PLM_ECN'
  association [0..*] to I_ChgMstrLogAccMSecureIDAssgmt as _ChgMstrLogAccMSecureIDAssgmt on  _ChgMstrLogAccMSecureIDAssgmt.LogAccMObjectID = $projection.ChangeNumber
  association [0..*] to I_ChangeMstrLogAccMUserAuthzn  as _ChangeMstrLogAccMUserAuthzn  on  _ChangeMstrLogAccMUserAuthzn.LogAccMObjectID              = $projection.ChangeNumber
                                                                                        and _ChangeMstrLogAccMUserAuthzn.LogAccMUserAuthznField       = 'ACTVT'
                                                                                        and _ChangeMstrLogAccMUserAuthzn.LogAccMReadActivityIsEnabled = 'X'
                                                                                        and _ChangeMstrLogAccMUserAuthzn.UserID                       = $session.user
                                                                                        and _ChangeMstrLogAccMUserAuthzn.LogAccMUserEntityID          = $session.user
{
      @ObjectModel.text.element: 'ChangeNumberDescription'
  key aennr                                             as ChangeNumber,

      @ObjectModel.foreignKey.association: '_ChangeNumberStatus'
      @ObjectModel.text.element: [ 'ChangeNumberStatus' ]
      @Consumption.valueHelpDefinition: [
      { entity:  { name:    'I_ChangeMasterStatusStdVH',
                   element: 'ChangeNumberStatus' }
      }]
      cast( aenst as /plmb/ecn_status preserving type ) as ChangeNumberStatus,

      cast( aenbe as /plmb/aenbe preserving type )      as AuthorizationGroup,

      @ObjectModel.foreignKey.association: '_ChangeNumberFunction'
      @ObjectModel.text.element: [ 'ChangeNumberFunction' ]
      @Consumption.valueHelpDefinition: [
      { entity:  { name:    'I_ChangeMasterFunctionStdVH',
                   element: 'ChangeNumberFunction' }
      }]
      aefun                                             as ChangeNumberFunction,

      terel                                             as IsTechnicallyReleased,

      @ObjectModel.foreignKey.association: '_ChangeNumberReleaseKey'
      @ObjectModel.text.element: [ 'ChangeNumberReleaseKey' ]
      @Consumption.valueHelpDefinition: [
      { entity:  { name:    'I_ChangeMasterReleaseKeyStdVH',
                   element: 'ChangeNumberReleaseKey' }
      }]
      cast( rlkey as /plmb/cc_rlkey preserving type )   as ChangeNumberReleaseKey,

      @Semantics.text:true
      aegru                                             as ReasonForChangeText,

      @Semantics.text:true
      aetxt                                             as ChangeNumberDescription,

      @Semantics.businessDate.from
      datuv                                             as ChangeNumberValidFromDate,

      cast ( andat as /plmb/cc_andat preserving type )  as ChangeNumberCreationDate,
      cast ( annam as /plmb/cc_annam preserving type )  as ChangeNumberCreatedByUser,
      cast ( aedat as /plmb/aedat preserving type )     as ChangeNumberLastChangedDate,
      cast ( aenam as /plmb/aenam preserving type )     as ChangeNumberLastChangedByUser,

      cast (fluse as /plmb/inuse preserving type)       as IsUsedForDataDefinition,

      cast (lvorm  as /plmb/loekz preserving type)      as ChangeNumberIsMrkdForDeletion,

      lastchangeddatetime                               as ChangeNumberLastChgdDateTime,

      _ChangeNumberStatus,
      _ChangeNumberFunction,
      _ChangeNumberReleaseKey,
      _ObjTypeAssignment,
      _AlternativeDate,
      _LeadingChangeNumber,
      _ChangeMstrObjectMgmtRecord,
      _ChangeMstrObMgReDocInfoRecd,
      _DocumentInfoRecordObjectLink,
      _ChangeMstrObMgReMaterial,
      _ChangeMstrObMgReMatlBOM,
      _CreatedByUser,
      _LastChangedByUser,
      _ClfnObjectClassForKeyDate,
      _ClfnObjectCharcValForKeyDate,

      // Access Control Management not C1 released, kept for history, not used in DCL anymore

      @Consumption.hidden:true
      _LogAccMObjectTypeActive,
      @Consumption.hidden:true
      _LogAccMObjectUserAuthzn,
      @Consumption.hidden:true
      _LogAccMObjSecureIDAssgmt,

      // Access Control Management C1 released, used in DCL

      @Consumption.hidden:true
      _ChangeMasterLogAccMActive,
      @Consumption.hidden:true
      _ChgMstrLogAccMSecureIDAssgmt,
      @Consumption.hidden:true
      _ChangeMstrLogAccMUserAuthzn
}