I_ChgRecdRefProdStrucVarTP

DDL: I_CHGRECDREFPRODSTRUCVARTP SQL: ICHGRECREFPSVTP Type: view TRANSACTIONAL

Change Record Object Reference Product Structure Variant

I_ChgRecdRefProdStrucVarTP is a Transactional CDS View that provides data about "Change Record Object Reference Product Structure Variant" in SAP S/4HANA. It reads from 1 data source (I_ChgRecdRefProdStrucVarBsc) and exposes 29 fields with key field ChangeRecordReferenceUUID. It has 1 association to related views.

Data Sources (1)

SourceAliasJoin Type
I_ChgRecdRefProdStrucVarBsc reference_psm from

Associations (1)

CardinalityTargetAliasCondition
[1..1] I_ChangeRecordDraftTP _ChangeRecord $projection.ChangeRecordUUID = _ChangeRecord.ChangeRecordUUID

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName ICHGRECREFPSVTP view
AbapCatalog.compiler.compareFilter 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 Product Structure Variant view
ClientHandling.algorithm #SESSION_VARIABLE view
VDM.viewType #TRANSACTIONAL view
ObjectModel.writeDraftPersistence PLMCRREFPSV_D view
AccessControl.personalData.blocking #NOT_REQUIRED view

Fields (29)

KeyFieldSource TableSource FieldDescription
KEY ChangeRecordReferenceUUID ChangeRecordReferenceUUID
Classasklasse_dendasClass
ProdStrucNodeDescription _variant ProdStrucNodeDescription
ProdStrucVariantDescription _variant ProdStrucVariantDescription
Material _variant Material
ProductStructureNodeType _variant ProductStructureNodeType
ChangeRecordUUID ChangeRecordUUID
ChangeRecordReferenceType ChangeRecordReferenceType
ChangeRecordReferenceSubtype ChangeRecordReferenceSubtype
ChangeRecordReference ChangeRecordReference
ParentChangeRecordRefUUID ParentChangeRecordRefUUID
IsMainReference IsMainReference
CreatedByUser CreatedByUser
CreationDateTime CreationDateTime
LastChangedByUser LastChangedByUser
LastChangeDateTime LastChangeDateTime
ChangeRecordItemRelevance ChangeRecordItemRelevance
ChangeRecordVirtualRefInd ChangeRecordVirtualRefInd
ChangeRecordRefObjectUUID ChangeRecordRefObjectUUID
ChangeRecordItemProcgStatus ChangeRecordItemProcgStatus
ChgRecdItmTgtSts ChgRecdItmTgtSts
ChgRecdItmDSgntr ChgRecdItmDSgntr
ChgRecdCurrentItemProcgStatus ChgRecdCurrentItemProcgStatus
ChgRecdReasonForChange I_ChgRecdRefProdStrucVarBsc ChgRecdReasonForChange
ExpdCompltnDte I_ChgRecdRefProdStrucVarBsc ExpdCompltnDte
ChgRecdAuthznGrpText I_ChgRecdRefProdStrucVarBsc ChgRecdAuthznGrpText
ChgRecdNmbrChgSts I_ChgRecdRefProdStrucVarBsc ChgRecdNmbrChgSts
ChangeNumber I_ChgRecdRefProdStrucVarBsc ChangeNumber
_ChangeRecord _ChangeRecord
@AbapCatalog.sqlViewName: 'ICHGRECREFPSVTP'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_REQUIRED



@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.sizeCategory: #XXL
@ObjectModel.usageType.serviceQuality: #C
@EndUserText.label: 'Change Record Object Reference Product Structure Variant'
@ClientHandling.algorithm: #SESSION_VARIABLE

@VDM.viewType: #TRANSACTIONAL
@ObjectModel: {
semanticKey: ['ProductStructureNodeName','Class','ProductStructureVariantName','ProdStrucVariantChangeNumber'],
                writeDraftPersistence: 'PLMCRREFPSV_D',
                createEnabled,
                deleteEnabled,
                updateEnabled
              }
@AccessControl.personalData.blocking: #NOT_REQUIRED
define view I_ChgRecdRefProdStrucVarTP
  as select from           I_ChgRecdRefProdStrucVarBsc   as reference_psm
    left outer to one join I_ProductStructureVariantNode as _variant on  reference_psm.ChgRecRefInternalKey1  = _variant.ProductStructureVariantName
                                                                     and reference_psm.ChgRecRefInternalKey2  = _variant.ProductStructureNodeName
                                                                     and (
                                                                        reference_psm.ChgRecRefInternalKey3   = _variant.Class
                                                                        or(
                                                                          reference_psm.ChgRecRefInternalKey3 = ''
                                                                          and _variant.Class                  is null
                                                                        )
                                                                      )
                                                                     and reference_psm.ChgRecRefInternalKey4  = _variant.ProdStrucVariantChangeNumber
  association [1..1] to I_ChangeRecordDraftTP as _ChangeRecord on $projection.ChangeRecordUUID = _ChangeRecord.ChangeRecordUUID
{
  key ChangeRecordReferenceUUID,
      case
        when _variant.ProductStructureNodeName is null then cast(substring( reference_psm.ChangeRecordReference, 1, 40) as pvs_pnode)
        else cast(_variant.ProductStructureNodeName  as pvs_pnode)
        end as ProductStructureNodeName,


      case
       when _variant.Class is null then  cast(substring( reference_psm.ChangeRecordReference, 41, 18) as klasse_d)
       else cast(_variant.Class as klasse_d)
       end  as Class,

      case
       when _variant.ProductStructureVariantName is null then cast (substring( reference_psm.ChangeRecordReference, 59, 8) as pvs_posvar)
       else cast(_variant.ProductStructureVariantName as pvs_posvar)
       end  as ProductStructureVariantName,
      case
       when _variant.ProdStrucVariantChangeNumber is null then cast (substring( reference_psm.ChangeRecordReference, 67, 12) as pvs_aennr)
       else cast(_variant.ProdStrucVariantChangeNumber as pvs_aennr)
       end  as ProdStrucVariantChangeNumber,
      _variant.ProdStrucNodeDescription,
      _variant.ProdStrucVariantDescription,
      _variant.Material,
      _variant.ProductStructureNodeType,
      ChangeRecordUUID,
      ChangeRecordReferenceType,
      ChangeRecordReferenceSubtype,
      ChangeRecordReference,
      ParentChangeRecordRefUUID,
      IsMainReference,
      @Semantics.user.createdBy: true
      CreatedByUser,
      CreationDateTime,
      @Semantics.user.lastChangedBy: true
      LastChangedByUser,
      LastChangeDateTime,
      @ObjectModel.readOnly: 'EXTERNAL_CALCULATION'
      ChangeRecordItemRelevance,
      ChangeRecordVirtualRefInd,
      ChangeRecordRefObjectUUID,
      ChangeRecordItemProcgStatus,
      ChgRecdItmTgtSts,
      ChgRecdItmDSgntr,
      ChgRecdCurrentItemProcgStatus,
      reference_psm.ChgRecdReasonForChange,
      reference_psm.ExpdCompltnDte,
      reference_psm.ChgRecdAuthznGrpText,
      reference_psm.ChgRecdNmbrChgSts,
      reference_psm.ChangeNumber,
      //      Customer,

      @ObjectModel.association.type:  [ #TO_COMPOSITION_PARENT, #TO_COMPOSITION_ROOT ]
      _ChangeRecord

};

/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CHGRECDREFPRODSTRUCVARBSC",
"I_PRODUCTSTRUCTUREVARIANTNODE"
],
"ASSOCIATED":
[
"I_CHANGERECORDDRAFTTP"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/