Deprecated
This CDS view is deprecated in S/4HANA. Use I_ProductStructureVariant_2 instead. View all deprecated CDS views →

I_ProductStructureVariant

DDL: I_PRODUCTSTRUCTUREVARIANT SQL: IPSVARIANT Type: view COMPOSITE

Product Structure Variant

I_ProductStructureVariant (Composite)

Package: Explore, extend and adapt the SAP S/4HANA Cloud Private Edition with built-in and side-by-side extension capabilities.

Cross Applications

I_ProductStructureVariant is a Composite CDS View that provides data about "Product Structure Variant" in SAP S/4HANA. It reads from 3 data sources (I_ProdStrucVariantBasic, I_ProdStrucVariantMaterial, I_ProdStrucVariantChangeState) and exposes 24 fields with key fields ProductStructureVariantUUID, ProdStrucVariantChgStateIntID. It has 6 associations to related views.

SAP API Hub

StateDeprecated
Line of BusinessCross Applications
Application ComponentPLM-WUI-OBJ-PSM
CapabilitiesData Source in SQL Select, Data Source for Search, Data Source for Defining CDS Entities
PackageCross Applications for SAP S/4HANA Cloud Private Edition

Documentation

Data Sources (3)

SourceAliasJoin Type
I_ProdStrucVariantBasic _Variant from
I_ProdStrucVariantMaterial _VariantMaterial left_outer
I_ProdStrucVariantChangeState _VntChangeState inner

Associations (6)

CardinalityTargetAliasCondition
[0..1] I_ProdStrucVariantChangeState _VariantChangeState _Variant.ProductStructureVariantUUID = _VariantChangeState.ProductStructureVariantUUID and $projection.ProdStrucVariantChgStateIntID = _VariantChangeState.ProdStrucVariantChgStateIntID
[0..1] I_ProdStrucVariantBasic _VariantBasic $projection.ProductStructureVariantUUID = _VariantBasic.ProductStructureVariantUUID
[0..*] I_ProductStructureVariantText _Text _Variant.ProductStructureVariantUUID = _Text.ProductStructureVariantUUID and _VntChangeState.ProdStrucVariantChgStateIntID = _Text.ProdStrucVariantChgStateIntID
[0..1] I_ProdStrucLogAccMActive _ChangeMasterLogAccMActive _ChangeMasterLogAccMActive.LogAccMObjectType = 'PLM_PPEPV' or _ChangeMasterLogAccMActive.LogAccMObjectType = 'PLM_PPEPIV'
[0..*] I_ProdStrucLogAccMSecureAssgmt _ChgMstrLogAccMSecureIDAssgmt $projection.ProdStrucVariantUniqueID = _ChgMstrLogAccMSecureIDAssgmt.LogAccMObjectID and ( _ChgMstrLogAccMSecureIDAssgmt.LogAccMObjectType = 'PLM_PPEPV' or _ChgMstrLogAccMSecureIDAssgmt.LogAccMObjectType = 'PLM_PPEPIV' )
[0..*] I_ProdStrucLogAccMUserAuthzn _ChangeMstrLogAccMUserAuthzn $projection.ProdStrucVariantUniqueID = _ChangeMstrLogAccMUserAuthzn.LogAccMObjectID and ( _ChangeMstrLogAccMUserAuthzn.LogAccMObjectType = 'PLM_PPEPV' or _ChangeMstrLogAccMUserAuthzn.LogAccMObjectType = 'PLM_PPEPIV' ) and ( _ChangeMstrLogAccMUserAuthzn.LogAccMUserAuthznFrom = '03' or _ChangeMstrLogAccMUserAuthzn.LogAccMUserAuthznFrom = '*' ) and _ChangeMstrLogAccMUserAuthzn.UserID = $session.user

Annotations (13)

NameValueLevelField
AbapCatalog.sqlViewName IPSVARIANT view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
VDM.viewType #COMPOSITE 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 view
ClientHandling.algorithm #SESSION_VARIABLE view
VDM.lifecycle.status #DEPRECATED view
VDM.lifecycle.successor I_ProductStructureVariant_2 view

Fields (24)

KeyFieldSource TableSource FieldDescription
KEY ProductStructureVariantUUID I_ProdStrucVariantBasic ProductStructureVariantUUID Internal Number of the PVS Variant
KEY ProdStrucVariantChgStateIntID I_ProdStrucVariantChangeState ProdStrucVariantChgStateIntID Internal Counter for iPPE Objects
ProdStrucVariantUniqueID I_ProdStrucVariantBasic ProdStrucVariantUniqueID
ProductStructureVariantName ProductStructureVariantName Variant
ProdStructureVariantParentUUID ProdStructureVariantParentUUID Internal Number of iPPE Node
ProductStructureCreationDate ProductStructureCreationDate Date of Application
ProductStructureCreatedByUser ProductStructureCreatedByUser User who created record
ProductStrucLastChangedDate ProductStrucLastChangedDate Date of Last Change
ProductStrucLastChangedByUser ProductStrucLastChangedByUser Name of Person Who Changed Object
ProdStrucVariantChangeNumber I_ProdStrucVariantChangeState ProdStrucVariantChangeNumber Change Number in iPPE
AuthorizationGroup I_ProdStrucVariantChangeState AuthorizationGroup Authorization group for change master record
ProdStrucVarIsMrkdForDeletion I_ProdStrucVariantChangeState ProdStrucVarIsMrkdForDeletion Deletion Indicator
ProdStrucVarChgNmbrDescription I_ProdStrucVariantChangeState ProdStrucVarChgNmbrDescription Change number description
ProductStructureVariantQty I_ProdStrucVariantMaterial ProductStructureVariantQty Fixed Quantity in Variant of iPPE Product Structure
ProductStructureVariantUnit I_ProdStrucVariantMaterial ProductStructureVariantUnit Unit of Measure
Material I_ProdStrucVariantMaterial Material Product Number
MaterialAuthorizationGroup I_ProdStrucVariantMaterial MaterialAuthorizationGroup Authorization Group
ProductStructureVariantType I_ProdStrucVariantBasic ProductStructureVariantType iPPE Variant Type
_Text _Text
_VariantChangeState _VariantChangeState
_VariantBasic _VariantBasic
_ChangeMasterLogAccMActive _ChangeMasterLogAccMActive
_ChgMstrLogAccMSecureIDAssgmt _ChgMstrLogAccMSecureIDAssgmt
_ChangeMstrLogAccMUserAuthzn _ChangeMstrLogAccMUserAuthzn

Derived SQL interpretation, reconstructed from the parsed view metadata (data sources, associations, and field mappings). SAP annotations are omitted and the structure is reformulated as SQL — this is a functional approximation, not the verbatim SAP source.

-- Derived SQL interpretation of CDS view I_ProductStructureVariant.
-- Reconstructed from parsed metadata (data sources, associations, fields).
-- SAP annotations are omitted and the structure is reformulated as SQL;
-- this is a functional approximation, not the verbatim SAP source. Some join
-- conditions may be unavailable and a few CDS constructs are kept as-is.
-- SQL view name: IPSVARIANT

CREATE VIEW I_ProductStructureVariant AS
SELECT
  _Variant.ProductStructureVariantUUID AS ProductStructureVariantUUID,
  _VntChangeState.ProdStrucVariantChgStateIntID AS ProdStrucVariantChgStateIntID,
  _Variant.ProdStrucVariantUniqueID AS ProdStrucVariantUniqueID,
  ProductStructureVariantName,
  ProdStructureVariantParentUUID,
  ProductStructureCreationDate,
  ProductStructureCreatedByUser,
  ProductStrucLastChangedDate,
  ProductStrucLastChangedByUser,
  _VntChangeState.ProdStrucVariantChangeNumber AS ProdStrucVariantChangeNumber,
  _VntChangeState.AuthorizationGroup AS AuthorizationGroup,
  _VntChangeState.ProdStrucVarIsMrkdForDeletion AS ProdStrucVarIsMrkdForDeletion,
  _VntChangeState.ProdStrucVarChgNmbrDescription AS ProdStrucVarChgNmbrDescription,
  _VariantMaterial.ProductStructureVariantQty AS ProductStructureVariantQty,
  _VariantMaterial.ProductStructureVariantUnit AS ProductStructureVariantUnit,
  _VariantMaterial.Material AS Material,
  _VariantMaterial.MaterialAuthorizationGroup AS MaterialAuthorizationGroup,
  _Variant.ProductStructureVariantType AS ProductStructureVariantType
FROM I_ProdStrucVariantBasic AS _Variant
INNER JOIN I_ProdStrucVariantChangeState AS _VntChangeState ON /* join condition not captured in parsed metadata */
LEFT OUTER JOIN I_ProdStrucVariantMaterial AS _VariantMaterial ON /* join condition not captured in parsed metadata */
LEFT OUTER JOIN I_ProdStrucVariantChangeState AS _VariantChangeState ON _Variant.ProductStructureVariantUUID = _VariantChangeState.ProductStructureVariantUUID AND ProdStrucVariantChgStateIntID = _VariantChangeState.ProdStrucVariantChgStateIntID  -- association [0..1]
LEFT OUTER JOIN I_ProdStrucVariantBasic AS _VariantBasic ON ProductStructureVariantUUID = _VariantBasic.ProductStructureVariantUUID  -- association [0..1]
LEFT OUTER JOIN I_ProductStructureVariantText AS _Text ON _Variant.ProductStructureVariantUUID = _Text.ProductStructureVariantUUID AND _VntChangeState.ProdStrucVariantChgStateIntID = _Text.ProdStrucVariantChgStateIntID  -- association [0..*]
LEFT OUTER JOIN I_ProdStrucLogAccMActive AS _ChangeMasterLogAccMActive ON _ChangeMasterLogAccMActive.LogAccMObjectType = 'PLM_PPEPV' OR _ChangeMasterLogAccMActive.LogAccMObjectType = 'PLM_PPEPIV'  -- association [0..1]
LEFT OUTER JOIN I_ProdStrucLogAccMSecureAssgmt AS _ChgMstrLogAccMSecureIDAssgmt ON ProdStrucVariantUniqueID = _ChgMstrLogAccMSecureIDAssgmt.LogAccMObjectID AND ( _ChgMstrLogAccMSecureIDAssgmt.LogAccMObjectType = 'PLM_PPEPV' OR _ChgMstrLogAccMSecureIDAssgmt.LogAccMObjectType = 'PLM_PPEPIV' )  -- association [0..*]
LEFT OUTER JOIN I_ProdStrucLogAccMUserAuthzn AS _ChangeMstrLogAccMUserAuthzn ON ProdStrucVariantUniqueID = _ChangeMstrLogAccMUserAuthzn.LogAccMObjectID AND ( _ChangeMstrLogAccMUserAuthzn.LogAccMObjectType = 'PLM_PPEPV' OR _ChangeMstrLogAccMUserAuthzn.LogAccMObjectType = 'PLM_PPEPIV' ) AND ( _ChangeMstrLogAccMUserAuthzn.LogAccMUserAuthznFrom = '03' OR _ChangeMstrLogAccMUserAuthzn.LogAccMUserAuthznFrom = '*' ) AND _ChangeMstrLogAccMUserAuthzn.UserID = $session.user  -- association [0..*]
;