I_ChgRecdRefRecipeTP

DDL: I_CHGRECDREFRECIPETP SQL: ICHGRECREFRCPTP Type: view TRANSACTIONAL

Change Record Object Reference Recipe

I_ChgRecdRefRecipeTP is a Transactional CDS View that provides data about "Change Record Object Reference Recipe" in SAP S/4HANA. It reads from 1 data source (I_ChgRecdRefRecipeBsc) and exposes 30 fields with key field ChangeRecordReferenceUUID. It has 3 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_ChgRecdRefRecipeBsc reference_rcp from

Associations (3)

CardinalityTargetAliasCondition
[1..1] I_ChangeRecordDraftTP _ChangeRecord $projection.ChangeRecordUUID = _ChangeRecord.ChangeRecordUUID
[1..1] I_SpecificationNonHistoric _SpecificationNonHistoric $projection.RecipePrimaryOutputInternalID = _SpecificationNonHistoric.SpecificationInternalID
[0..1] E_ChgRecdRefRecipeBsc _RecipeExtension $projection.ChangeRecordReferenceUUID = _RecipeExtension.ChangeRecordReferenceUUID

Annotations (15)

NameValueLevelField
AbapCatalog.sqlViewName ICHGRECREFRCPTP view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #NOT_REQUIRED view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.usageType.serviceQuality #C view
EndUserText.label Change Record Object Reference Recipe view
ClientHandling.algorithm #SESSION_VARIABLE view
VDM.viewType #TRANSACTIONAL view
ObjectModel.writeDraftPersistence PLMCRREFRCP_D view
ObjectModel.createEnabled EXTERNAL_CALCULATION view
ObjectModel.deleteEnabled EXTERNAL_CALCULATION view
ObjectModel.updateEnabled EXTERNAL_CALCULATION view
AccessControl.personalData.blocking #NOT_REQUIRED view

Fields (30)

KeyFieldSource TableSource FieldDescription
KEY ChangeRecordReferenceUUID ChangeRecordReferenceUUID
RecipeUUID _recipe RecipeUUID
Recipe _recipe Recipe
Specification
RecipePrimaryOutputInternalID _recipe RecipePrimaryOutputInternalID
ChangeRecordUUID I_ChgRecdRefRecipeBsc ChangeRecordUUID
ChangeRecord I_ChgRecdRefRecipeBsc ChangeRecord
ChangeRecordType I_ChgRecdRefRecipeBsc ChangeRecordType
ChangeRecordReferenceType I_ChgRecdRefRecipeBsc ChangeRecordReferenceType
ChangeRecordReferenceSubtype I_ChgRecdRefRecipeBsc ChangeRecordReferenceSubtype
ChangeRecordReference I_ChgRecdRefRecipeBsc ChangeRecordReference
ParentChangeRecordRefUUID I_ChgRecdRefRecipeBsc ParentChangeRecordRefUUID
IsMainReference I_ChgRecdRefRecipeBsc IsMainReference
ChgRecdReasonForChange ChgRecdReasonForChange
ExpdCompltnDte ExpdCompltnDte
ChgRecdAuthznGrpText ChgRecdAuthznGrpText
ChgRecdNmbrChgSts ChgRecdNmbrChgSts
ChangeNumber ChangeNumber
CreatedByUser I_ChgRecdRefRecipeBsc CreatedByUser
CreationDateTime I_ChgRecdRefRecipeBsc CreationDateTime
LastChangedByUser I_ChgRecdRefRecipeBsc LastChangedByUser
LastChangeDateTime I_ChgRecdRefRecipeBsc LastChangeDateTime
ChangeRecordItemRelevance I_ChgRecdRefRecipeBsc ChangeRecordItemRelevance
ChangeRecordVirtualRefInd I_ChgRecdRefRecipeBsc ChangeRecordVirtualRefInd
ChangeRecordRefObjectUUID I_ChgRecdRefRecipeBsc ChangeRecordRefObjectUUID
ChangeRecordItemProcgStatus I_ChgRecdRefRecipeBsc ChangeRecordItemProcgStatus
ChgRecdCurrentItemProcgStatus I_ChgRecdRefRecipeBsc ChgRecdCurrentItemProcgStatus
ChgRecdItmTgtSts I_ChgRecdRefRecipeBsc ChgRecdItmTgtSts
ChgRecdItmDSgntr I_ChgRecdRefRecipeBsc ChgRecdItmDSgntr
_ChangeRecord _ChangeRecord
@AbapCatalog.sqlViewName: 'ICHGRECREFRCPTP'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey:true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.serviceQuality: #C
@EndUserText.label: 'Change Record Object Reference Recipe'
@ClientHandling.algorithm: #SESSION_VARIABLE
@VDM.viewType: #TRANSACTIONAL
@ObjectModel: {
semanticKey: ['RecipePrimaryOutput'],
                writeDraftPersistence: 'PLMCRREFRCP_D',
                createEnabled : 'EXTERNAL_CALCULATION',
                deleteEnabled : 'EXTERNAL_CALCULATION',
                updateEnabled : 'EXTERNAL_CALCULATION'
              }
@AccessControl.personalData.blocking: #NOT_REQUIRED

define view I_ChgRecdRefRecipeTP
  as select from           I_ChgRecdRefRecipeBsc as reference_rcp
    left outer to one join I_Recipe              as _recipe on reference_rcp.ChangeRecordRefObjectUUID = _recipe.RecipeUUID

  association [1..1] to I_ChangeRecordDraftTP      as _ChangeRecord             on $projection.ChangeRecordUUID = _ChangeRecord.ChangeRecordUUID

  association [1..1] to I_SpecificationNonHistoric as _SpecificationNonHistoric on $projection.RecipePrimaryOutputInternalID = _SpecificationNonHistoric.SpecificationInternalID

  association [0..1] to E_ChgRecdRefRecipeBsc      as _RecipeExtension          on $projection.ChangeRecordReferenceUUID = _RecipeExtension.ChangeRecordReferenceUUID

{
  key ChangeRecordReferenceUUID,
      _recipe.RecipeUUID,
      // should not be used

      _recipe.Recipe       as Recipe,
      @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
      case
      when _SpecificationNonHistoric.Specification is null then cast(substring( reference_rcp.ChangeRecordReference, 1, 12) as /plmb/rcp_prim_output_id)
      else cast(_SpecificationNonHistoric.Specification as /plmb/rcp_prim_output_id)
        end                as RecipePrimaryOutput,

      @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
      case
      when _recipe.RecipeAlternativeNumber is null then  cast(substring( reference_rcp.ChangeRecordReference, 13, 3) as /plmb/rcp_alt_no)
      else cast(_recipe.RecipeAlternativeNumber as /plmb/rcp_alt_no)
             end           as RecipeAlternativeNumber,

      @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
      case
      when _recipe.RecipeVersionNumber is null then cast (substring( reference_rcp.ChangeRecordReference, 16, 3) as /plmb/rcp_vers_no)
      else cast(_recipe.RecipeVersionNumber as /plmb/rcp_vers_no)
             end           as RecipeVersionNumber,
      // should not be used

      cast('' as esesubid) as Specification,
      _recipe.RecipePrimaryOutputInternalID,
      reference_rcp.ChangeRecordUUID,
      reference_rcp.ChangeRecord,
      reference_rcp.ChangeRecordType,
      reference_rcp.ChangeRecordReferenceType,
      reference_rcp.ChangeRecordReferenceSubtype,
      reference_rcp.ChangeRecordReference,
      reference_rcp.ParentChangeRecordRefUUID,
      reference_rcp.IsMainReference, 
      ChgRecdReasonForChange,
      ExpdCompltnDte,
      ChgRecdAuthznGrpText,
      ChgRecdNmbrChgSts,
      ChangeNumber,
      @Semantics.user.createdBy: true
      @ObjectModel.readOnly: true
      reference_rcp.CreatedByUser,
      reference_rcp.CreationDateTime,
      @Semantics.user.lastChangedBy: true
      @ObjectModel.readOnly: true
      reference_rcp.LastChangedByUser,
      reference_rcp.LastChangeDateTime,
      @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
      reference_rcp.ChangeRecordItemRelevance,
      reference_rcp.ChangeRecordVirtualRefInd,
      reference_rcp.ChangeRecordRefObjectUUID,
      @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
      reference_rcp.ChangeRecordItemProcgStatus,
      @ObjectModel.readOnly: true
      reference_rcp.ChgRecdCurrentItemProcgStatus,
      @ObjectModel.readOnly: true
      reference_rcp.ChgRecdItmTgtSts,
      @ObjectModel.readOnly: true
      reference_rcp.ChgRecdItmDSgntr,
      @ObjectModel.association.type:  [ #TO_COMPOSITION_PARENT, #TO_COMPOSITION_ROOT ]
      _ChangeRecord
}   
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CHGRECDREFRECIPEBSC",
"I_RECIPE",
"I_SPECIFICATIONNONHISTORIC"
],
"ASSOCIATED":
[
"E_CHGRECDREFRECIPEBSC",
"I_CHANGERECORDDRAFTTP",
"I_SPECIFICATIONNONHISTORIC"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/