I_ChangeMaster
Change Number
I_ChangeMaster (Basic)
Package: Explore, extend and adapt the SAP S/4HANA Cloud Private Edition with built-in and side-by-side extension capabilities.
R&D Engineering
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.
SAP Help Documentation
| Category | Change Number |
|---|---|
| Status | Released |
Purpose
This CDS view provides the prerequisites for answering the following business questions: How many change masters are there in the system? What's the status of my change masters? Which change masters have been created by me? Are there any change masters in the system marked for deletion? Which change masters are valid from a given date? For what reasons have change masters been created?
Prerequisites
Users who want to run reports using this CDS view must have display rights for the following authorization objects: C_AENR_BGR C_AENR_ERW
Structure
Object types This view is built on the following object type: Change master Main CDS parameters and filters The main filters are: Change number ( ChangeNumber ) Status of change number ( ChangeNumberStatus ) Change number description ( ChangeNumberDescription ) Valid-from date ( ChangeNumberValidFromDate ) Change number function ( ChangeNumberFunction )
This CDS view provides the prerequisites for answering the following business questions: How many change masters are there in the system? What's the status of my change masters? Which change masters have been created by me? Are there any change masters in the system marked for deletion? Which change masters are valid from a given date? For what reasons have change masters been created?
Prerequisites
Users who want to run reports using this CDS view must have display rights for the following authorization objects: C_AENR_BGR C_AENR_ERW
Structure
Object types This view is built on the following object type: Change master Main CDS parameters and filters The main filters are: Change number ( ChangeNumber ) Status of change number ( ChangeNumberStatus ) Change number description ( ChangeNumberDescription ) Valid-from date ( ChangeNumberValidFromDate ) Change number function ( ChangeNumberFunction )
SAP API Hub
| State | C1 |
|---|---|
| Line of Business | R&D Engineering |
| Application Component | PLM-WUI-OBJ-ECN |
| Capabilities | Data Source for Defining CDS Entities, Association Target for Defining CDS Entities, Data Source in SQL Select |
| Package | R&D Engineering for SAP S/4HANA Cloud Private Edition |
| Description | <p>This CDS view provides the prerequisites for answering the following business questions:</p> <ul> <li><p>How many change masters are there in the system?</p></li> <li><p>What's the status of my change masters?</p></li> <li><p>Which change masters have been created by me?</p></li> <li><p>Are there any change masters in the system marked for deletion?</p></li> <li><p>Which change masters are valid from a given date?</p></li> <li><p>For what reasons have change masters been created?</p></li> </ul> |
Documentation
- Analytics with CDS Views — Build Analytics for S/4HANA Cloud Private Edition ABAP CDS views replicated to SAP Cloud Platform
- CDS Views on SAP Business Accelerator Hub — Explore SAP S/4HANA Cloud Private Edition Private Edition CDS Views on SAP Business Accelerator Hub
- Create CDS View as API — Create CDS views in SAP S/4HANA Cloud Private Edition and consume them as APIs
- Custom CDS Views — Access data using a Custom Core Data Service view (Custom CDS view)
- Key User Extensibility Tools — The Key User Extensibility Tools of S/4HANA
- SAP Extensibility Explorer for SAP S/4HANA Cloud Private Edition — Explore SAP S/4HANA Cloud Private Edition Extensibility options by leveraging the sample scenarios from SAP
- SAP S/4HANA Extensibility — SAP S/4HANA Extensibility Tutorial
- VDM View Types — The Virtual Data Model in SAP S/4HANA Cloud Private Edition
- View Browser — Search, browse and tag CDS Views
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| aenr | aenr | from |
Associations (21)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [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)
| Name | Value | Level | Field |
|---|---|---|---|
| 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 | #A | 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 |
Fields (37)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ChangeNumber | aennr | Change Number | |
| ChangeNumberStatus | Status of Change Number | |||
| AuthorizationGroup | Authorization group for change master record | |||
| ChangeNumberFunction | aefun | Change number function | ||
| IsTechnicallyReleased | terel | Indicator: Technical release occurs | ||
| ChangeNumberReleaseKey | Release Key for Change Master Record | |||
| ReasonForChangeText | aegru | Reason for change | ||
| ChangeNumberDescription | aetxt | Change number description | ||
| ChangeNumberValidFromDate | datuv | Valid-from date | ||
| ChangeNumberCreationDate | Date on Which Record Was Created | |||
| ChangeNumberCreatedByUser | User Who Created Record | |||
| ChangeNumberLastChangedDate | Changed On | |||
| ChangeNumberLastChangedByUser | Name of Person Who Changed Object | |||
| IsUsedForDataDefinition | Change Number Is Currently Being Used in Objects | |||
| ChangeNumberIsMrkdForDeletion | Deletion Flag for Change Number (Reorganization) | |||
| ChangeNumberLastChgdDateTime | lastchangeddatetime | UTC Time Stamp in Long Form (YYYYMMDDhhmmssmmmuuun) | ||
| _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 |
Derived SQL interpretation, reconstructed from the parsed view metadata (data sources, associations, and field mappings). SAP annotations are omitted and the structure is reformulated as SQL — this is a functional approximation, not the verbatim SAP source.
-- Derived SQL interpretation of CDS view I_ChangeMaster.
-- Reconstructed from parsed metadata (data sources, associations, fields).
-- SAP annotations are omitted and the structure is reformulated as SQL;
-- this is a functional approximation, not the verbatim SAP source. Some join
-- conditions may be unavailable and a few CDS constructs are kept as-is.
-- SQL view name: ICHANGEMASTER
CREATE VIEW I_ChangeMaster AS
SELECT
aennr AS ChangeNumber,
cast( aenst as /plmb/ecn_status preserving type ) AS ChangeNumberStatus,
cast( aenbe as /plmb/aenbe preserving type ) AS AuthorizationGroup,
aefun AS ChangeNumberFunction,
terel AS IsTechnicallyReleased,
cast( rlkey as /plmb/cc_rlkey preserving type ) AS ChangeNumberReleaseKey,
aegru AS ReasonForChangeText,
aetxt AS ChangeNumberDescription,
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
FROM aenr
LEFT OUTER JOIN I_ChangeMasterStatus AS _ChangeNumberStatus ON ChangeNumberStatus = _ChangeNumberStatus.ChangeNumberStatus -- association [0..1]
LEFT OUTER JOIN I_ChangeMasterFunction AS _ChangeNumberFunction ON ChangeNumberFunction = _ChangeNumberFunction.ChangeNumberFunction -- association [0..1]
LEFT OUTER JOIN I_ChangeMasterReleaseKey AS _ChangeNumberReleaseKey ON ChangeNumberReleaseKey = _ChangeNumberReleaseKey.ChangeNumberReleaseKey -- association [0..1]
LEFT OUTER JOIN I_ChangeMasterObjTypeAssgmt AS _ObjTypeAssignment ON ChangeNumber = _ObjTypeAssignment.ChangeNumber -- association [0..*]
LEFT OUTER JOIN I_ChangeMasterAltDate AS _AlternativeDate ON ChangeNumber = _AlternativeDate.ChangeNumber -- association [0..*]
LEFT OUTER JOIN I_ChangeMasterHierarchy AS _LeadingChangeNumber ON ChangeNumber = _LeadingChangeNumber.PackageChangeNumber -- association [0..1]
LEFT OUTER JOIN I_ChangeMstrObjectMgmtRecord AS _ChangeMstrObjectMgmtRecord ON ChangeNumber = _ChangeMstrObjectMgmtRecord.ChangeNumber -- association [0..*]
LEFT OUTER JOIN I_ChangeMstrObMgReDocInfoRecd AS _ChangeMstrObMgReDocInfoRecd ON ChangeNumber = _ChangeMstrObMgReDocInfoRecd.ChangeNumber -- association [0..*]
LEFT OUTER JOIN I_ChangeMstrObMgReMaterial AS _ChangeMstrObMgReMaterial ON ChangeNumber = _ChangeMstrObMgReMaterial.ChangeNumber -- association [0..*]
LEFT OUTER JOIN I_ChangeMstrObMgReMatlBOM AS _ChangeMstrObMgReMatlBOM ON ChangeNumber = _ChangeMstrObMgReMatlBOM.ChangeNumber -- association [0..*]
LEFT OUTER JOIN I_User AS _CreatedByUser ON ChangeNumberCreatedByUser = _CreatedByUser.UserID -- association [0..1]
LEFT OUTER JOIN I_User AS _LastChangedByUser ON ChangeNumberLastChangedByUser = _LastChangedByUser.UserID -- association [0..1]
LEFT OUTER JOIN I_ClfnObjectClassForKeyDate AS _ClfnObjectClassForKeyDate ON ChangeNumber = _ClfnObjectClassForKeyDate.ClfnObjectID AND _ClfnObjectClassForKeyDate.ClfnObjectTable = 'AENR' -- association [0..*]
LEFT OUTER JOIN I_ClfnObjectCharcValForKeyDate AS _ClfnObjectCharcValForKeyDate ON ChangeNumber = _ClfnObjectCharcValForKeyDate.ClfnObjectID AND _ClfnObjectCharcValForKeyDate.ClfnObjectTable = 'AENR' -- association [0..*]
LEFT OUTER JOIN I_DocumentInfoRecordObjectLink AS _DocumentInfoRecordObjectLink ON ChangeNumber = _DocumentInfoRecordObjectLink.LinkedSAPObjectKey AND _DocumentInfoRecordObjectLink.LinkedSAPObject = 'AENR' -- association [0..*]
LEFT OUTER JOIN I_LogAccMObjectTypeActive AS _LogAccMObjectTypeActive ON _LogAccMObjectTypeActive.LogAccMObjectType = 'PLM_ECN' -- association [0..1]
LEFT OUTER JOIN I_LogAccMObjSecureIDAssgmt AS _LogAccMObjSecureIDAssgmt ON ChangeNumber = _LogAccMObjSecureIDAssgmt.LogAccMObjectID AND _LogAccMObjSecureIDAssgmt.LogAccMObjectType = 'PLM_ECN' -- association [0..*]
LEFT OUTER JOIN I_LogAccMObjectUserAuthzn AS _LogAccMObjectUserAuthzn ON 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 -- association [0..*]
LEFT OUTER JOIN I_ChangeMasterLogAccMActive AS _ChangeMasterLogAccMActive ON _ChangeMasterLogAccMActive.LogAccMObjectType = 'PLM_ECN' -- association [0..1]
LEFT OUTER JOIN I_ChgMstrLogAccMSecureIDAssgmt AS _ChgMstrLogAccMSecureIDAssgmt ON _ChgMstrLogAccMSecureIDAssgmt.LogAccMObjectID = ChangeNumber -- association [0..*]
LEFT OUTER JOIN I_ChangeMstrLogAccMUserAuthzn AS _ChangeMstrLogAccMUserAuthzn ON _ChangeMstrLogAccMUserAuthzn.LogAccMObjectID = ChangeNumber AND _ChangeMstrLogAccMUserAuthzn.LogAccMUserAuthznField = 'ACTVT' AND _ChangeMstrLogAccMUserAuthzn.LogAccMReadActivityIsEnabled = 'X' AND _ChangeMstrLogAccMUserAuthzn.UserID = $session.user AND _ChangeMstrLogAccMUserAuthzn.LogAccMUserEntityID = $session.user -- association [0..*]
;
Learn More
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- CDS View Annotations — A Complete Guide
- What Is a CDS View in SAP S/4HANA?
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA
- BSEG to ACDOCA: The Universal Journal Migration
- Business Partner Migration: KNA1/LFA1 to BUT000
- Material Document Migration: MSEG/MKPF to MATDOC
- How to Find the Right CDS View for an SAP Table
- BW Extractor to CDS View Migration Guide
- S/4HANA CDS View Deprecation: What You Need to Know
- ABAP CDS View Tutorial — From Basics to Real-World Examples
- RAP and CDS Views — Building Transactional Apps in SAP S/4HANA
- Sales Document Status Migration: VBUP/VBUK Removal in S/4HANA
- CO Tables in S/4HANA: COEP, COBK, COSS, COSP to ACDOCA