I_ProdStrucVariantBasic

DDL: I_PRODSTRUCVARIANTBASIC SQL: IVARIANTBASIC Type: view BASIC Package: VDM_PLMB_PSM

Product Structure Variant Basic

I_ProdStrucVariantBasic is a Basic CDS View that provides data about "Product Structure Variant Basic" in SAP S/4HANA. It reads from 1 data source (posvid) and exposes 13 fields with key field ProductStructureVariantUUID. It has 4 associations to related views. Part of development package VDM_PLMB_PSM.

Data Sources (1)

SourceAliasJoin Type
posvid posvid from

Associations (4)

CardinalityTargetAliasCondition
[0..1] I_ProdStrucVarGnrcObjTypeMap _ppe_c_i2g posvid.pvtype = _ppe_c_i2g.ProductStructureVariantType
[0..1] I_ProdStrucLogAccMActive _LogAccMObjectTypeActive $projection.productstructuregnrcobjtype = _LogAccMObjectTypeActive.LogAccMObjectType
[0..*] I_ProdStrucLogAccMSecureAssgmt _LogAccMObjSecureIDAssgmt $projection.ProdStrucVariantUniqueID = _LogAccMObjSecureIDAssgmt.LogAccMObjectID and $projection.productstructuregnrcobjtype = _LogAccMObjSecureIDAssgmt.LogAccMObjectType
[0..*] I_ProdStrucLogAccMUserAuthzn _LogAccMObjectUserAuthzn $projection.ProdStrucVariantUniqueID = _LogAccMObjectUserAuthzn.LogAccMObjectID and ( _LogAccMObjectUserAuthzn.LogAccMUserAuthznObject = 'PLM_PPEPV' or _LogAccMObjectUserAuthzn.LogAccMUserAuthznObject = 'PLM_PPEPIV' ) and ( _LogAccMObjectUserAuthzn.LogAccMUserAuthznFrom = '03' or _LogAccMObjectUserAuthzn.LogAccMUserAuthznFrom = '*' ) and _LogAccMObjectUserAuthzn.LogAccMUserAuthznField = 'ACTVT' and ( _LogAccMObjectUserAuthzn.LogAccMUserEntityID = $session.user or _LogAccMObjectUserAuthzn.UserID = $session.user )

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName IVARIANTBASIC view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
VDM.viewType #BASIC view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.representativeKey ProductStructureVariantUUID view
ObjectModel.usageType.dataClass #MASTER view
ObjectModel.usageType.sizeCategory #M view
ObjectModel.usageType.serviceQuality #C view
EndUserText.label Product Structure Variant Basic view
ClientHandling.algorithm #SESSION_VARIABLE view

Fields (13)

KeyFieldSource TableSource FieldDescription
KEY ProductStructureVariantUUID pvguid
ProdStrucVariantUniqueID
ProductStructureVariantName pvname
ProdStructureVariantParentUUID pnguid
ProductStructureVariantType pvtype
ProductStructureGnrcObjType _ppe_c_i2g ProductStructureGnrcObjType
ProductStructureCreationDate creadat
ProductStructureCreatedByUser creaby
ProductStrucLastChangedDate chngdat
ProductStrucLastChangedByUser chngby
_LogAccMObjectTypeActive _LogAccMObjectTypeActive
_LogAccMObjSecureIDAssgmt _LogAccMObjSecureIDAssgmt
_LogAccMObjectUserAuthzn _LogAccMObjectUserAuthzn
@AbapCatalog.sqlViewName: 'IVARIANTBASIC'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@VDM.viewType: #BASIC
@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 Basic'
@ClientHandling.algorithm: #SESSION_VARIABLE
define view I_ProdStrucVariantBasic
  as select from posvid
  association [0..1] to I_ProdStrucVarGnrcObjTypeMap as _ppe_c_i2g                on posvid.pvtype = _ppe_c_i2g.ProductStructureVariantType
  association [0..1] to I_ProdStrucLogAccMActive     as _LogAccMObjectTypeActive  on $projection.productstructuregnrcobjtype = _LogAccMObjectTypeActive.LogAccMObjectType
  association [0..*] to I_ProdStrucLogAccMSecureAssgmt    as _LogAccMObjSecureIDAssgmt on  $projection.ProdStrucVariantUniqueID = _LogAccMObjSecureIDAssgmt.LogAccMObjectID
                                                                                       and $projection.productstructuregnrcobjtype = _LogAccMObjSecureIDAssgmt.LogAccMObjectType
  association [0..*] to I_ProdStrucLogAccMUserAuthzn     as _LogAccMObjectUserAuthzn  on  $projection.ProdStrucVariantUniqueID = _LogAccMObjectUserAuthzn.LogAccMObjectID
                                                                                   // and (

                                                                                      // _LogAccMObjectUserAuthzn.LogAccMObjectType          = 'PLM_PPEPV'

                                                                                      // or _LogAccMObjectUserAuthzn.LogAccMObjectType       = 'PLM_PPEPIV'

                                                                                    // )

                                                                                   and (
                                                                                           _LogAccMObjectUserAuthzn.LogAccMUserAuthznObject = 'PLM_PPEPV'
                                                                                        or _LogAccMObjectUserAuthzn.LogAccMUserAuthznObject = 'PLM_PPEPIV'
                                                                                    )
                                                                                   and (
                                                                                      _LogAccMObjectUserAuthzn.LogAccMUserAuthznFrom      = '03'
                                                                                      or _LogAccMObjectUserAuthzn.LogAccMUserAuthznFrom   = '*'
                                                                                    )
                                                                                   and _LogAccMObjectUserAuthzn.LogAccMUserAuthznField    = 'ACTVT'
                                                                                   and (
                                                                                      _LogAccMObjectUserAuthzn.LogAccMUserEntityID        = $session.user
                                                                                      or _LogAccMObjectUserAuthzn.UserID                  = $session.user
                                                                                    )
{
  key pvguid                             as ProductStructureVariantUUID,
      bintohex( pvguid )                 as ProdStrucVariantUniqueID,
      pvname                             as ProductStructureVariantName,
      pnguid                             as ProdStructureVariantParentUUID,
      pvtype                             as ProductStructureVariantType,
      _ppe_c_i2g.ProductStructureGnrcObjType,
      //@Semantics.businessDate.createdAt: true

      @Semantics.businessDate.at: true
      creadat                            as ProductStructureCreationDate,
      @Semantics.user.createdBy: true
      creaby                             as ProductStructureCreatedByUser,
      //@Semantics.businessDate.lastChangedAt: true

      @Semantics.businessDate.at: true
      chngdat                            as ProductStrucLastChangedDate,
      @Semantics.user.lastChangedBy: true
      chngby                             as ProductStrucLastChangedByUser,
      //_LogAccMObjSecureIDAssgmt.LogAccMObjectID,

      _LogAccMObjectTypeActive,
      _LogAccMObjSecureIDAssgmt,
      _LogAccMObjectUserAuthzn
} where  applobj_type = 'CMP'  and pnguid != hextobin('00000000000000000000000000000000')