I_ChangeRecordReferenceDocTP_2

DDL: I_CHANGERECORDREFERENCEDOCTP_2 SQL: ICHGRECREFDOCTP2 Type: view TRANSACTIONAL

Change Record Object Reference Document

I_ChangeRecordReferenceDocTP_2 is a Transactional CDS View that provides data about "Change Record Object Reference Document" in SAP S/4HANA. It reads from 2 data sources (I_DocumentInfoRecord, I_ChgRecdRefDocBsc) and exposes 15 fields with key field ChangeRecordReferenceUUID. It has 1 association to related views.

Data Sources (2)

SourceAliasJoin Type
I_DocumentInfoRecord Document left_outer
I_ChgRecdRefDocBsc reference_DOC from

Associations (1)

CardinalityTargetAliasCondition
[0..1] E_ChgRecdRefDocBsc _DocExtension $projection.ChangeRecordReferenceUUID = _DocExtension.ChangeRecordReferenceUUID

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName ICHGRECREFDOCTP2 view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Change Record Object Reference Document 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 (15)

KeyFieldSource TableSource FieldDescription
KEY ChangeRecordReferenceUUID ChangeRecordReferenceUUID
_ChangeRecordAPITP _ChangeRecordAPITP
ChangeRecordUUID ChangeRecordUUID
ChangeRecord ChangeRecord
ChangeRecordReferenceType ChangeRecordReferenceType
ChangeRecordReferenceSubtype ChangeRecordReferenceSubtype
ChangeRecordReference ChangeRecordReference
ParentChangeRecordRefUUID ParentChangeRecordRefUUID
IsMainReference IsMainReference
CreatedByUser I_ChgRecdRefDocBsc CreatedByUser
CreationDateTime I_ChgRecdRefDocBsc CreationDateTime
LastChangedByUser I_ChgRecdRefDocBsc LastChangedByUser
LastChangeDateTime LastChangeDateTime
ChangeRecordItemRelevance ChangeRecordItemRelevance
ChangeRecordVirtualRefInd ChangeRecordVirtualRefInd
@AbapCatalog.sqlViewName: 'ICHGRECREFDOCTP2'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Change Record Object Reference Document'
@VDM.viewType: #TRANSACTIONAL
@ObjectModel: { semanticKey: ['DocumentType','DocumentInfoRecord','DocumentVersion','DocumentPart']
 //               writeDraftPersistence: 'PLMCRREFDOC_D',

 //               createEnabled,

  //              deleteEnabled,

  //              updateEnabled

              }



@ObjectModel.usageType: {serviceQuality: #C,
                          dataClass: #MIXED,
                          sizeCategory: #XXL}
@VDM.lifecycle.contract.type:#SAP_INTERNAL_API  

define view I_ChangeRecordReferenceDocTP_2
  as select from    I_ChgRecdRefDocBsc as reference_DOC
    left outer join I_DocumentInfoRecord      as Document on  reference_DOC.ChgRecRefInternalKey1 = Document.DocumentInfoRecordDocType
                                                   and reference_DOC.ChgRecRefInternalKey2 = Document.DocumentInfoRecordDocNumber
                                                   and reference_DOC.ChgRecRefInternalKey3 = Document.DocumentInfoRecordDocVersion
                                                   and reference_DOC.ChgRecRefInternalKey4 = Document.DocumentInfoRecordDocPart
 // association [1..1] to I_ChangeRecordDraftTP as _ChangeRecord on $projection.ChangeRecordUUID = _ChangeRecord.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_ChgRecdRefDocBsc    as _DocExtension on $projection.ChangeRecordReferenceUUID = _DocExtension.ChangeRecordReferenceUUID

{
  key ChangeRecordReferenceUUID,
      case when Document.DocumentInfoRecordDocType is null then cast(SUBSTRING( ChangeRecordReference, 1, 3) as dokar)
      else cast(Document.DocumentInfoRecordDocType as dokar)
      end                                                                                                             as     DocumentType,

      case when Document.DocumentInfoRecordDocNumber is null then  cast(SUBSTRING( ChangeRecordReference, 4, 25) as doknr)
      else cast(Document.DocumentInfoRecordDocNumber as doknr)
      end                                                                                                             as     DocumentInfoRecord,

      case when Document.DocumentInfoRecordDocVersion is null then cast (SUBSTRING( ChangeRecordReference, 29, 2) as dokvr)
      else cast(Document.DocumentInfoRecordDocVersion as dokvr)
      end                                                                                                             as     DocumentVersion,

      case when Document.DocumentInfoRecordDocPart is null then cast(SUBSTRING( ChangeRecordReference, 31, 3) as doktl_d)
      else cast(Document.DocumentInfoRecordDocPart as doktl_d)
      end                                                                                                             as     DocumentPart,
_ChangeRecordAPITP,
      ChangeRecordUUID,
      ChangeRecord,
      ChangeRecordReferenceType,
      ChangeRecordReferenceSubtype,
      ChangeRecordReference,
      ParentChangeRecordRefUUID,
      IsMainReference,
      @Semantics.user.createdBy: true
      reference_DOC.CreatedByUser,
      reference_DOC.CreationDateTime,
      @Semantics.user.lastChangedBy: true
      reference_DOC.LastChangedByUser,
      LastChangeDateTime,
      ChangeRecordItemRelevance,
      ChangeRecordVirtualRefInd
      
};
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CHGRECDREFDOCBSC",
"I_DOCUMENTINFORECORD"
],
"ASSOCIATED":
[
"E_CHGRECDREFDOCBSC",
"I_CHANGERECORDTP_2"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/