I_ChangeRecordReferenceSpecTP
Change Record Reference Specification
I_ChangeRecordReferenceSpecTP is a Transactional CDS View that provides data about "Change Record Reference Specification" in SAP S/4HANA. It reads from 2 data sources (I_SpecificationNonHistoric, I_ChgRecdRefSpecBsc) and exposes 28 fields with key field ChangeRecordReferenceUUID. It has 3 associations to related views.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| I_SpecificationNonHistoric | _Specification | left_outer |
| I_ChgRecdRefSpecBsc | reference_SPC | from |
Associations (3)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_ChangeRecordDraftTP | _ChangeRecord | $projection.ChangeRecordUUID = _ChangeRecord.ChangeRecordUUID |
| [0..1] | I_SpecIdfrBscForKeyDate | _Identifier | $projection.SpecificationInternalID = _Identifier.SpecificationInternalID |
| [0..1] | E_ChgRecdRefSpecBsc | _SpecExtension | $projection.ChangeRecordReferenceUUID = _SpecExtension.ChangeRecordReferenceUUID |
Annotations (15)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | ICHGRECREFSPECTP | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| VDM.viewType | #TRANSACTIONAL | view | |
| AbapCatalog.preserveKey | true | view | |
| ObjectModel.writeDraftPersistence | PLMCRREFSPEC_D | view | |
| ObjectModel.createEnabled | EXTERNAL_CALCULATION | view | |
| ObjectModel.deleteEnabled | EXTERNAL_CALCULATION | view | |
| ObjectModel.updateEnabled | EXTERNAL_CALCULATION | view | |
| AccessControl.personalData.blocking | #NOT_REQUIRED | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ObjectModel.usageType.sizeCategory | #XXL | view | |
| EndUserText.label | Change Record Reference Specification | view |
Fields (28)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ChangeRecordReferenceUUID | ChangeRecordReferenceUUID | ||
| SpecificationInternalID | I_SpecificationNonHistoric | SpecificationInternalID | ||
| SpecIdfgDescText | ||||
| ChangeRecordUUID | ChangeRecordUUID | |||
| ChangeRecordReferenceType | ChangeRecordReferenceType | |||
| ChangeRecordReferenceSubtype | ChangeRecordReferenceSubtype | |||
| ChangeRecordRefObjectUUID | ChangeRecordRefObjectUUID | |||
| ChangeRecordReference | ChangeRecordReference | |||
| ParentChangeRecordRefUUID | ParentChangeRecordRefUUID | |||
| IsMainReference | IsMainReference | |||
| ChgRecdReasonForChange | ChgRecdReasonForChange | |||
| ExpdCompltnDte | ExpdCompltnDte | |||
| ChgRecdAuthznGrpText | ChgRecdAuthznGrpText | |||
| ChgRecdNmbrChgSts | ChgRecdNmbrChgSts | |||
| ChangeNumber | ChangeNumber | |||
| CreatedByUser | CreatedByUser | |||
| CreationDateTime | CreationDateTime | |||
| LastChangedByUser | LastChangedByUser | |||
| LastChangeDateTime | LastChangeDateTime | |||
| ChangeRecordItemRelevance | ChangeRecordItemRelevance | |||
| ChangeRecordVirtualRefInd | ChangeRecordVirtualRefInd | |||
| SpecificationType | I_SpecificationNonHistoric | SpecificationType | ||
| ChangeRecordItemProcgStatus | I_ChgRecdRefSpecBsc | ChangeRecordItemProcgStatus | ||
| ChgRecdCurrentItemProcgStatus | I_ChgRecdRefSpecBsc | ChgRecdCurrentItemProcgStatus | ||
| ChgRecdItmTgtSts | ChgRecdItmTgtSts | |||
| ChgRecdItmDSgntr | ChgRecdItmDSgntr | |||
| _ChangeRecord | _ChangeRecord | |||
| _SpecificationType | _SpecificationType |
@AbapCatalog.sqlViewName: 'ICHGRECREFSPECTP'
@AccessControl.authorizationCheck: #CHECK
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.compiler.compareFilter: true
@VDM.viewType: #TRANSACTIONAL
@AbapCatalog.preserveKey:true
@ObjectModel: { semanticKey: ['Specification'],
writeDraftPersistence: 'PLMCRREFSPEC_D',
createEnabled : 'EXTERNAL_CALCULATION',
deleteEnabled : 'EXTERNAL_CALCULATION',
updateEnabled : 'EXTERNAL_CALCULATION'
}
@AccessControl.personalData.blocking: #NOT_REQUIRED
@ObjectModel.usageType: { serviceQuality: #C,
dataClass: #MIXED,
sizeCategory: #XXL}
@EndUserText.label: 'Change Record Reference Specification'
define view I_ChangeRecordReferenceSpecTP
as select from I_ChgRecdRefSpecBsc as reference_SPC
left outer join I_SpecificationNonHistoric as _Specification on reference_SPC.ChgRecRefInternalKey1 = _Specification.SpecificationInternalID
association [1..1] to I_ChangeRecordDraftTP as _ChangeRecord on $projection.ChangeRecordUUID = _ChangeRecord.ChangeRecordUUID
association [0..1] to I_SpecIdfrBscForKeyDate as _Identifier on $projection.SpecificationInternalID = _Identifier.SpecificationInternalID
association [0..1] to E_ChgRecdRefSpecBsc as _SpecExtension on $projection.ChangeRecordReferenceUUID = _SpecExtension.ChangeRecordReferenceUUID
{
key ChangeRecordReferenceUUID,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
case when _Specification.Specification is null then cast(ChangeRecordReference as esesubid)
else cast( _Specification.Specification as esesubid)
end as Specification,
_Specification.SpecificationInternalID,
// this field is present for compatibility reasons; identifier association should NOT be resolved here
cast('' as eseident) as SpecIdfgDescText,
//_Identifier(P_KeyDate : $session.system_date).SpecIdfgDescText,
ChangeRecordUUID,
ChangeRecordReferenceType,
ChangeRecordReferenceSubtype,
ChangeRecordRefObjectUUID,
ChangeRecordReference,
ParentChangeRecordRefUUID,
IsMainReference,
ChgRecdReasonForChange,
ExpdCompltnDte,
ChgRecdAuthznGrpText,
ChgRecdNmbrChgSts,
ChangeNumber,
@Semantics.user.createdBy: true
@ObjectModel.readOnly: true
CreatedByUser,
CreationDateTime,
@Semantics.user.lastChangedBy: true
@ObjectModel.readOnly: true
LastChangedByUser,
LastChangeDateTime,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
ChangeRecordItemRelevance,
ChangeRecordVirtualRefInd,
_Specification.SpecificationType,
// Customer,
@ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
reference_SPC.ChangeRecordItemProcgStatus,
@ObjectModel.readOnly: true
reference_SPC.ChgRecdCurrentItemProcgStatus,
@ObjectModel.readOnly: true
ChgRecdItmTgtSts,
@ObjectModel.readOnly: true
ChgRecdItmDSgntr,
@ObjectModel.association.type: [ #TO_COMPOSITION_PARENT, #TO_COMPOSITION_ROOT ]
_ChangeRecord,
_SpecificationType
};
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CHGRECDREFSPECBSC",
"I_SPECIFICATIONNONHISTORIC"
],
"ASSOCIATED":
[
"E_CHGRECDREFSPECBSC",
"I_CHANGERECORDDRAFTTP",
"I_SPECIDFRBSCFORKEYDATE",
"I_SPECTYPE"
],
"BASE":
[
"I_SPECIFICATIONNONHISTORIC"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- 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