I_PRODUCTSTRUCTUREVARIANT_2

CDS View

Product Structure Variant

I_PRODUCTSTRUCTUREVARIANT_2 is a CDS View in S/4HANA. Product Structure Variant. It contains 12 fields. 5 CDS views read from this table.

CDS Views using this table (5)

ViewTypeJoinVDMDescription
A_ProductStructureVariant_2 view from COMPOSITE Read Variants
C_ProdStrucVariant view from CONSUMPTION Product Structure Variant List
C_ProductStructureVariantVH view from CONSUMPTION Value Help for Product Structure Variant
I_ProductStructureNodeVariant view left_outer COMPOSITE Product Structure Node Variant
I_ProductStructureVariantNode view from COMPOSITE Product Structure Variant Node

Fields (12)

KeyField CDS FieldsUsed in Views
KEY ProdStrucVariantChangeNumber ProdStrucVariantChangeNumber 3
KEY ProdStrucVariantChgStateIntID ProdStrucVariantChgStateIntID 2
KEY ProductStructureVariantName ProductStructureVariantName 3
KEY ProductStructureVariantUUID ProductStructureVariantUUID 2
AuthorizationGroup AuthorizationGroup 1
Material Material 3
MaterialAuthorizationGroup MaterialAuthorizationGroup 2
ProdStructureVariantParentUUID ProdStructureVariantParentUUID 1
ProdStrucVarChgNmbrDescription ProdStrucVarChgNmbrDescription 2
ProdStrucVariantUniqueID ProdStrucVariantUniqueID 1
ProductStructureGnrcObjType ProductStructureGnrcObjType 3
ProductStructureVariantType ProductStructureVariantType 3
@AbapCatalog.sqlViewName: 'IPSV'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@AccessControl.privilegedAssociations: ['_Text']
@VDM.viewType: #COMPOSITE
@AbapCatalog.preserveKey:true 
@Metadata.ignorePropagatedAnnotations:true
@ObjectModel.representativeKey: 'ProductStructureVariantUUID'

@ObjectModel.usageType.dataClass: #MASTER
@ObjectModel.usageType.sizeCategory: #M
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.supportedCapabilities: [ #SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE, #SEARCHABLE_ENTITY ]

@EndUserText.label: 'Product Structure Variant'
@ClientHandling.algorithm: #SESSION_VARIABLE
define view I_ProductStructureVariant_2
  as select from    I_ProdStrucVariantBasic               as _Variant
    inner join I_ProdStrucVariantChangeState              as _VntChangeState               on _Variant.ProductStructureVariantUUID                 = _VntChangeState.ProductStructureVariantUUID
    left outer to one join I_ProdStrucVariantMaterial     as _VariantMaterial              on  _Variant.ProductStructureVariantUUID                = _VariantMaterial.ProductStructureVariantUUID
                                                                                           and _VntChangeState.ProdStrucVariantChgStateIntID       = _VariantMaterial.ProdStrucVarBasicDataChgState
  association [0..1] to I_ProdStrucVariantChangeState     as _VariantChangeState           on   _Variant.ProductStructureVariantUUID               = _VariantChangeState.ProductStructureVariantUUID
                                                                                           and $projection.ProdStrucVariantChgStateIntID           = _VariantChangeState.ProdStrucVariantChgStateIntID
  association [0..1] to I_ProdStrucVariantBasic           as _VariantBasic                 on $projection.ProductStructureVariantUUID              = _VariantBasic.ProductStructureVariantUUID
  association [0..*] to I_ProductStructureVariantText     as _Text                         on  _Variant.ProductStructureVariantUUID                = _Text.ProductStructureVariantUUID
                                                                                           and _VntChangeState.ProdStrucVariantChgStateIntID       = _Text.ProdStrucVariantChgStateIntID
  association [0..1] to I_ProdStrucLogAccMActive          as _PSVMasterLogAccMActive       on  $projection.ProductStructureGnrcObjType             = _PSVMasterLogAccMActive.LogAccMObjectType
  association [0..*] to I_ProdStrucLogAccMSecureAssgmt    as _PSVMstrLogAccMSecureIDAssgmt on  $projection.ProdStrucVariantUniqueID                = _PSVMstrLogAccMSecureIDAssgmt.LogAccMObjectID
                                                                                           and $projection.ProductStructureGnrcObjType             = _PSVMstrLogAccMSecureIDAssgmt.LogAccMObjectType
  association [0..*] to I_ProdStrucLogAccMUserAuthzn      as _PSVMstrLogAccMUserAuthzn     on  $projection.ProdStrucVariantUniqueID                = _PSVMstrLogAccMUserAuthzn.LogAccMObjectID
                                                                                           and (
                                                                                                 _PSVMstrLogAccMUserAuthzn.LogAccMUserAuthznObject = 'PLM_PPEPV'
                                                                                              or _PSVMstrLogAccMUserAuthzn.LogAccMUserAuthznObject = 'PLM_PPEPIV'
                                                                                            )
                                                                                           and (
                                                                                                 _PSVMstrLogAccMUserAuthzn.LogAccMUserAuthznFrom   = '03'
                                                                                              or _PSVMstrLogAccMUserAuthzn.LogAccMUserAuthznFrom   = '*'
                                                                                            )
                                                                                           and _PSVMstrLogAccMUserAuthzn.LogAccMUserAuthznField    = 'ACTVT'
                                                                                           and (
                                                                                                 _PSVMstrLogAccMUserAuthzn.LogAccMUserEntityID     = $session.user
                                                                                              or _PSVMstrLogAccMUserAuthzn.UserID                  = $session.user
                                                                                            )
{
      @ObjectModel.text.association: '_Text'
      @ObjectModel.foreignKey.association: '_VariantBasic'
  key _Variant.ProductStructureVariantUUID,
      @ObjectModel.foreignKey.association: '_VariantChangeState'
  key _VntChangeState.ProdStrucVariantChgStateIntID,
      _Variant.ProdStrucVariantUniqueID,
      _Variant.ProductStructureVariantName,
      _Variant.ProdStructureVariantParentUUID,
      @Semantics.businessDate.at: true
      @Semantics.businessDate.createdAt: true
      _Variant.ProductStructureCreationDate,
      @Semantics.user.createdBy: true
      _Variant.ProductStructureCreatedByUser,
      @Semantics.businessDate.at: true
      @Semantics.businessDate.lastChangedAt: true
      _Variant.ProductStrucLastChangedDate,
      @Semantics.user.lastChangedBy: true
      _Variant.ProductStrucLastChangedByUser,
      _VntChangeState.ProdStrucVariantChangeNumber,
      concat(_Variant.ProdStrucVariantUniqueID,  _VntChangeState.ProdStrucVariantChangeNumber) as ProdStrucVariantConcatenated,
      _VntChangeState.AuthorizationGroup,
      _VntChangeState.ProdStrucVarIsMrkdForDeletion,
      _VntChangeState.ProdStrucVarChgNmbrDescription,
      @Semantics.quantity.unitOfMeasure: 'ProductStructureVariantUnit'
      _VariantMaterial.ProductStructureVariantQty,
      @Semantics.unitOfMeasure: true
      _VariantMaterial.ProductStructureVariantUnit,
      _VariantMaterial.Material,
      _VariantMaterial.MaterialAuthorizationGroup,
      _Variant.ProductStructureVariantType,
      _Variant.ProductStructureGnrcObjType,
      _Text,
      _VariantChangeState,
      _VariantBasic,
      _PSVMasterLogAccMActive,
      _PSVMstrLogAccMSecureIDAssgmt,
      _PSVMstrLogAccMUserAuthzn
}