I_ChangeRecordReferenceBOMTP_2
Change Record Reference Object BOM
I_ChangeRecordReferenceBOMTP_2 is a Transactional CDS View that provides data about "Change Record Reference Object BOM" in SAP S/4HANA. It reads from 1 data source (I_ChgRecdRefBOM) and exposes 21 fields with key field ChangeRecordReferenceUUID. It has 1 association to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_ChgRecdRefBOM | reference_bom | from |
Associations (1)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | E_ChgRecdRefBOMBsc | _BOMExtension | $projection.ChangeRecordReferenceUUID = _BOMExtension.ChangeRecordReferenceUUID |
Annotations (11)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | ICHGRECREFBOMTP2 | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| EndUserText.label | Change Record Reference Object BOM | view | |
| VDM.viewType | #TRANSACTIONAL | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ObjectModel.usageType.sizeCategory | #XXL | view | |
| VDM.lifecycle.contract.type | #SAP_INTERNAL_API | view |
Fields (21)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ChangeRecordReferenceUUID | ChangeRecordReferenceUUID | ||
| Material | I_ChgRecdRefBOM | Material | ||
| Plant | I_ChgRecdRefBOM | Plant | ||
| BillOfMaterialVariantUsage | I_ChgRecdRefBOM | BillOfMaterialVariantUsage | ||
| BillOfMaterialVariant | I_ChgRecdRefBOM | BillOfMaterialVariant | ||
| ChangeRecordUUID | ChangeRecordUUID | |||
| ChangeRecord | ChangeRecord | |||
| _ChangeRecordAPITP | _ChangeRecordAPITP | |||
| ChangeRecordReferenceType | ChangeRecordReferenceType | |||
| ChangeRecordReferenceSubtype | ChangeRecordReferenceSubtype | |||
| ChangeRecordReference | ChangeRecordReference | |||
| ParentChangeRecordRefUUID | ParentChangeRecordRefUUID | |||
| IsMainReference | IsMainReference | |||
| CreatedByUser | I_ChgRecdRefBOM | CreatedByUser | ||
| CreationDateTime | I_ChgRecdRefBOM | CreationDateTime | ||
| LastChangedByUser | I_ChgRecdRefBOM | LastChangedByUser | ||
| ChangeRecordItemProcgStatus | ChangeRecordItemProcgStatus | |||
| ChangeRecordItemRelevance | ChangeRecordItemRelevance | |||
| ChangeRecordVirtualRefInd | ChangeRecordVirtualRefInd | |||
| BillOfMaterial | BillOfMaterial | |||
| ChangeRecordRefObjectUUID | I_ChgRecdRefBOM | ChangeRecordRefObjectUUID |
@AbapCatalog.sqlViewName: 'ICHGRECREFBOMTP2'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Change Record Reference Object BOM'
@VDM.viewType: #TRANSACTIONAL
@ObjectModel: {
semanticKey: [ 'Material','Plant','BillOfMaterialVariantUsage','BillOfMaterialVariant']
// writeDraftPersistence: 'PLMCRREFBOM_D',
// createEnabled,
// deleteEnabled,
// updateEnabled
}
@ObjectModel.usageType: {serviceQuality: #C,
dataClass: #MIXED,
sizeCategory: #XXL}
@VDM.lifecycle.contract.type:#SAP_INTERNAL_API
define view I_ChangeRecordReferenceBOMTP_2
as select from I_ChgRecdRefBOM as reference_bom
// left outer to one join I_MaterialBOMLink as BOMLink on reference_bom.Plant = BOMLink.Plant
// and reference_bom.ChgRecRefInternalKey2 = BOMLink.BillOfMaterial
// and reference_bom.ChgRecRefInternalKey3 = BOMLink.BillOfMaterialVariant
// association [1..1] to I_ChangeRecordDraftTP as _ChangeRecordTP on $projection.ChangeRecordUUID = _ChangeRecordTP.ChangeRecordUUID
// association [1..1] to I_CHANGERECORDBehvTP as _ChangeRecordAPITP on $projection.ChangeRecordUUID = _ChangeRecordAPITP.ChangeRecordUUID
association to parent I_ChangeRecordTP_2 as _ChangeRecordAPITP on $projection.ChangeRecordUUID = _ChangeRecordAPITP.ChangeRecordUUID
association [0..1] to E_ChgRecdRefBOMBsc as _BOMExtension on $projection.ChangeRecordReferenceUUID = _BOMExtension.ChangeRecordReferenceUUID
{
key ChangeRecordReferenceUUID,
reference_bom.Material,
reference_bom.Plant,
reference_bom.BillOfMaterialVariantUsage,
reference_bom.BillOfMaterialVariant,
// case
// when BOMLink.Material is null then cast(SUBSTRING( reference_bom.ChangeRecordReference, 1, 40) as matnr)
// else cast(BOMLink.Material as matnr)
// end as Material,
//
//
// case
// when BOMLink.Plant is null then cast(SUBSTRING( reference_bom.ChangeRecordReference, 41, 4) as werks_d)
// else cast(BOMLink.Plant as werks_d)
// end as Plant,
//
// case
// when BOMLink.BillOfMaterialVariantUsage is null then cast (SUBSTRING( reference_bom.ChangeRecordReference, 45, 1) as stlan)
// else cast(BOMLink.BillOfMaterialVariantUsage as stlan)
// end as BillOfMaterialVariantUsage,
//
// case
// when BOMLink.BillOfMaterialVariant is null then cast(SUBSTRING( reference_bom.ChangeRecordReference, 46, 2) as stalt)
// else cast(BOMLink.BillOfMaterialVariant as stalt)
//
// end as BillOfMaterialVariant,
ChangeRecordUUID,
ChangeRecord,
_ChangeRecordAPITP,
ChangeRecordReferenceType,
ChangeRecordReferenceSubtype,
ChangeRecordReference,
ParentChangeRecordRefUUID,
IsMainReference,
@Semantics.user.createdBy: true
reference_bom.CreatedByUser,
reference_bom.CreationDateTime,
@Semantics.user.lastChangedBy: true
reference_bom.LastChangedByUser,
case
when LastChangeDateTime = fltp_to_dec( 0.00 as timestampl )
then fltp_to_dec( 19720401000000.00 as timestampl )
else LastChangeDateTime
end as LastChangeDateTime,
ChangeRecordItemProcgStatus,
ChangeRecordItemRelevance,
ChangeRecordVirtualRefInd,
//For BOM Navigation
BillOfMaterial,
reference_bom.ChangeRecordRefObjectUUID
// @ObjectModel.association.type: [ #TO_COMPOSITION_PARENT, #TO_COMPOSITION_ROOT ]
// _ChangeRecordTP
//@ObjectModel.association.type: [ #TO_COMPOSITION_PARENT, #TO_COMPOSITION_ROOT ]
//_ChangeRecordAPITP
}
where
ChangeRecordReferenceType = 'BOM'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CHGRECDREFBOM"
],
"ASSOCIATED":
[
"E_CHGRECDREFBOMBSC",
"I_CHANGERECORDTP_2"
],
"BASE":
[],
"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