I_ChangeRecordReferenceSpecTP

DDL: I_CHANGERECORDREFERENCESPECTP SQL: ICHGRECREFSPECTP Type: view TRANSACTIONAL

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)

SourceAliasJoin Type
I_SpecificationNonHistoric _Specification left_outer
I_ChgRecdRefSpecBsc reference_SPC from

Associations (3)

CardinalityTargetAliasCondition
[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)

NameValueLevelField
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)

KeyFieldSource TableSource FieldDescription
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":""
}
}*/