I_ChangeRecordRefClassTP

DDL: I_CHANGERECORDREFCLASSTP SQL: ICHGRECREFCLSTP Type: view TRANSACTIONAL

Chg Recd Ref Object Class - TP

I_ChangeRecordRefClassTP is a Transactional CDS View that provides data about "Chg Recd Ref Object Class - TP" in SAP S/4HANA. It reads from 1 data source (I_ChangeRecordRefClassBsc) and exposes 33 fields with key field ChangeRecordReferenceUUID. It has 3 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_ChangeRecordRefClassBsc reference_class from

Associations (3)

CardinalityTargetAliasCondition
[0..*] I_ClfnClassCharcBasic _ClassCharcBasic $projection.ClassInternalID = _ClassCharcBasic.ClassInternalID and _ClassCharcBasic.CharcPositionNumber = '001'
[1..1] I_ChangeRecordDraftTP _ChangeRecordTP $projection.ChangeRecordUUID = _ChangeRecordTP.ChangeRecordUUID
[0..1] E_ChangeRecordRefClassBsc _ClassExtension $projection.ChangeRecordReferenceUUID = _ClassExtension.ChangeRecordReferenceUUID

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName ICHGRECREFCLSTP view
AccessControl.authorizationCheck #CHECK view
ClientHandling.algorithm #SESSION_VARIABLE view
AbapCatalog.compiler.compareFilter true view
EndUserText.label Chg Recd Ref Object Class - TP view
VDM.viewType #TRANSACTIONAL view
ObjectModel.writeDraftPersistence PLMCRREFCLS_D view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.sizeCategory #XXL view
AbapCatalog.preserveKey true view

Fields (33)

KeyFieldSource TableSource FieldDescription
KEY ChangeRecordReferenceUUID I_ChangeRecordRefClassBsc ChangeRecordReferenceUUID
Classasklasse_dendasClass
ClassTypeasklassenartendasClassType
ChangeNumberasaennrendasChangeNumber
ClassInternalID Classification ClassInternalID
ClassName
ClassTypeName
ClassStatus Classification ClassStatus
ClassStatusName
ValidityStartDate Classification ValidityStartDate
ChangeRecordUUID I_ChangeRecordRefClassBsc ChangeRecordUUID
ChangeRecordReferenceType I_ChangeRecordRefClassBsc ChangeRecordReferenceType
ChangeRecordReferenceSubtype I_ChangeRecordRefClassBsc ChangeRecordReferenceSubtype
ChangeRecordReference I_ChangeRecordRefClassBsc ChangeRecordReference
ParentChangeRecordRefUUID I_ChangeRecordRefClassBsc ParentChangeRecordRefUUID
IsMainReference I_ChangeRecordRefClassBsc IsMainReference
CreatedByUser I_ChangeRecordRefClassBsc CreatedByUser
CreationDateTime I_ChangeRecordRefClassBsc CreationDateTime
LastChangedByUser I_ChangeRecordRefClassBsc LastChangedByUser
LastChangeDateTime I_ChangeRecordRefClassBsc LastChangeDateTime
ChgRecdReasonForChange ChgRecdReasonForChange
ExpdCompltnDte ExpdCompltnDte
ChgRecdAuthznGrpText ChgRecdAuthznGrpText
ChgRecdNmbrChgSts ChgRecdNmbrChgSts
ChangeRecordItemRelevance I_ChangeRecordRefClassBsc ChangeRecordItemRelevance
ChangeRecordVirtualRefInd I_ChangeRecordRefClassBsc ChangeRecordVirtualRefInd
ChangeRecordRefObjectUUID I_ChangeRecordRefClassBsc ChangeRecordRefObjectUUID
ChangeRecordItemProcgStatus I_ChangeRecordRefClassBsc ChangeRecordItemProcgStatus
ChgRecdCurrentItemProcgStatus I_ChangeRecordRefClassBsc ChgRecdCurrentItemProcgStatus
ChgRecdItmTgtSts I_ChangeRecordRefClassBsc ChgRecdItmTgtSts
ChgRecdItmDSgntr I_ChangeRecordRefClassBsc ChgRecdItmDSgntr
_ChangeRecordTP _ChangeRecordTP
_ClassCharcBasic _ClassCharcBasic
@AbapCatalog.sqlViewName: 'ICHGRECREFCLSTP'
@AccessControl.authorizationCheck: #CHECK
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog.compiler.compareFilter: true
@EndUserText.label: 'Chg Recd Ref Object Class - TP'
@VDM.viewType: #TRANSACTIONAL
@ObjectModel: {
semanticKey: [ 'Class'],
                writeDraftPersistence: 'PLMCRREFCLS_D',
                createEnabled,
                deleteEnabled,
                updateEnabled
              }

@ObjectModel.usageType: {serviceQuality: #C,
                         dataClass: #MIXED,
                         sizeCategory: #XXL}
@AbapCatalog.preserveKey:true
define view I_ChangeRecordRefClassTP
  as select from           I_ChangeRecordRefClassBsc as reference_class
  //    left outer to one join I_ClfnObjectClass         as Class          on reference_class.ChgRecRefInternalKey2 = Class.ChangeNumber

    left outer to one join I_ClfnClass               as Classification on  reference_class.ChgRecRefInternalKey1 = Classification.Class
                                                                       and reference_class.ChgRecRefInternalKey3 = Classification.ClassType

  association [0..*] to I_ClfnClassCharcBasic     as _ClassCharcBasic on  $projection.ClassInternalID          = _ClassCharcBasic.ClassInternalID
                                                                      and _ClassCharcBasic.CharcPositionNumber = '001'

  association [1..1] to I_ChangeRecordDraftTP     as _ChangeRecordTP  on  $projection.ChangeRecordUUID = _ChangeRecordTP.ChangeRecordUUID
  association [0..1] to E_ChangeRecordRefClassBsc as _ClassExtension  on  $projection.ChangeRecordReferenceUUID = _ClassExtension.ChangeRecordReferenceUUID
{

  key          reference_class.ChangeRecordReferenceUUID,

               @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
               case
                 when Classification.Class is null then cast(SUBSTRING( reference_class.ChangeRecordReference, 1, 18) as klasse_d)
                 else cast(Classification.Class as klasse_d)
                 end                                                                                               as Class,

               @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
               case
                  when Classification.ClassType is null then  cast(SUBSTRING( reference_class.ChangeRecordReference, 30, 3) as klassenart)
                  else cast(Classification.ClassType as klassenart)
                  end                                                                                              as ClassType,


               @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
               case
                when _ClassCharcBasic.ChangeNumber is null then  cast(SUBSTRING( reference_class.ChangeRecordReference, 19, 12) as aennr)
                else cast(_ClassCharcBasic.ChangeNumber as aennr)
                end                                                                                                as ChangeNumber,




               Classification.ClassInternalID,
               Classification._ClassDescription[1:Language = $session.system_language].ClassDescription            as ClassName,
               Classification._ClassType._ClassTypeText[1:Language = $session.system_language].ClassTypeName       as ClassTypeName,


               Classification.ClassStatus                                                                          as ClassStatus,
               Classification._ClassStatus._ClassStatusText[1:Language = $session.system_language].ClassStatusName as ClassStatusName,

               Classification.ValidityStartDate,
               reference_class.ChangeRecordUUID,
               //             _ClassCharcBasic.CharcInternalID,

               reference_class.ChangeRecordReferenceType,
               reference_class.ChangeRecordReferenceSubtype,
               reference_class.ChangeRecordReference,
               reference_class.ParentChangeRecordRefUUID,
               reference_class.IsMainReference,
               @Semantics.user.createdBy: true
               reference_class.CreatedByUser,
               reference_class.CreationDateTime,
               @Semantics.user.lastChangedBy: true
               reference_class.LastChangedByUser,
               reference_class.LastChangeDateTime,
               ChgRecdReasonForChange,
               ExpdCompltnDte,
               ChgRecdAuthznGrpText,
               ChgRecdNmbrChgSts,
               

               @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
               reference_class.ChangeRecordItemRelevance,
               reference_class.ChangeRecordVirtualRefInd,

               reference_class.ChangeRecordRefObjectUUID,
               @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
               reference_class.ChangeRecordItemProcgStatus,
               @ObjectModel.readOnly: true
               reference_class.ChgRecdCurrentItemProcgStatus,
               @ObjectModel.readOnly: true
               reference_class.ChgRecdItmTgtSts,
               @ObjectModel.readOnly: true
               reference_class.ChgRecdItmDSgntr,
               @ObjectModel.association.type:  [ #TO_COMPOSITION_PARENT, #TO_COMPOSITION_ROOT ]
               _ChangeRecordTP,
               _ClassCharcBasic

}
where
  reference_class.ChangeRecordReferenceType = 'CLS'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CHANGERECORDREFCLASSBSC",
"I_CLFNCLASS",
"I_CLFNCLASSCHARCBASIC",
"I_CLFNCLASSDESCRIPTION",
"I_CLFNCLASSSTATUS",
"I_CLFNCLASSSTATUSTEXT",
"I_CLFNCLASSTYPEBASIC",
"I_CLFNCLASSTYPETEXT"
],
"ASSOCIATED":
[
"E_CHANGERECORDREFCLASSBSC",
"I_CHANGERECORDDRAFTTP",
"I_CLFNCLASSCHARCBASIC"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/