I_ProductStructureNodeVariant
Product Structure Node Variant
I_ProductStructureNodeVariant is a Composite CDS View that provides data about "Product Structure Node Variant" in SAP S/4HANA. It reads from 3 data sources (I_ProductStructureNode_2, I_ProductStructureVariant_2, I_ProdStrucVariantPlantUsage) and exposes 27 fields with key fields ProductStructureNodeUUID, ProductStructureVariantUUID, ProdStrucVariantChgStateIntID. It has 3 associations to related views.
Data Sources (3)
| Source | Alias | Join Type |
|---|---|---|
| I_ProductStructureNode_2 | _Node | from |
| I_ProductStructureVariant_2 | _Variant | left_outer |
| I_ProdStrucVariantPlantUsage | _VariantPlantUsage | left_outer |
Associations (3)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_ProdStrucLogAccMActive | _LogAccMObjectTypeActive | $projection.ProductStructureGnrcObjType = _LogAccMObjectTypeActive.LogAccMObjectType |
| [0..1] | I_ProdStrucObjSecureIDAssgmt | _LogAccMObjSecureIDAssgmt | $projection.ProductStructureNodeUniqueID = _LogAccMObjSecureIDAssgmt.LogAccMObjectID and $projection.ProductStructureGnrcObjType = _LogAccMObjSecureIDAssgmt.LogAccMObjectType |
| [0..*] | I_ProdStrucObjectUserAuthzn | _LogAccMObjectUserAuthzn | $projection.ProductStructureNodeUniqueID = _LogAccMObjectUserAuthzn.LogAccMObjectID and _LogAccMObjectUserAuthzn.LogAccMObjectType = $projection.ProductStructureGnrcObjType |
Annotations (9)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | IPSMNODEVAR | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| VDM.viewType | #COMPOSITE | view | |
| ObjectModel.usageType.dataClass | #MASTER | view | |
| ObjectModel.usageType.sizeCategory | #M | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| EndUserText.label | Product Structure Node Variant | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view |
Fields (27)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ProductStructureNodeUUID | ProductStructureNodeUUID | ||
| KEY | ProductStructureVariantUUID | I_ProductStructureVariant_2 | ProductStructureVariantUUID | |
| KEY | ProdStrucVariantChgStateIntID | I_ProductStructureVariant_2 | ProdStrucVariantChgStateIntID | |
| ProductStructureNodeUniqueID | I_ProductStructureNode_2 | ProductStructureNodeUniqueID | ||
| ProductStructureNodeName | ProductStructureNodeName | |||
| ProductStructureNodeType | I_ProductStructureNode_2 | ProductStructureNodeType | ||
| ProductStructureVariantType | I_ProductStructureVariant_2 | ProductStructureVariantType | ||
| ProductStructureGnrcObjType | I_ProductStructureNode_2 | ProductStructureGnrcObjType | ||
| ClassType | ||||
| Class | ||||
| ProdStrucNodeDescription | Node Description | |||
| ProductStructureCreationDate | I_ProductStructureNode_2 | ProductStructureCreationDate | ||
| ProductStructureCreatedByUser | I_ProductStructureNode_2 | ProductStructureCreatedByUser | ||
| ProductStrucLastChangedDate | I_ProductStructureNode_2 | ProductStrucLastChangedDate | ||
| ProductStrucLastChangedByUser | I_ProductStructureNode_2 | ProductStrucLastChangedByUser | ||
| ProductStructureVariantName | I_ProductStructureVariant_2 | ProductStructureVariantName | ||
| Material | I_ProductStructureVariant_2 | Material | ||
| ProdStrucVariantChangeNumber | I_ProductStructureVariant_2 | ProdStrucVariantChangeNumber | ||
| ProdStrucVarChgNmbrDescription | I_ProductStructureVariant_2 | ProdStrucVarChgNmbrDescription | ||
| ProductStructureUsage | I_ProdStrucVariantPlantUsage | ProductStructureUsage | ||
| Plant | I_ProdStrucVariantPlantUsage | Plant | ||
| MaterialAuthorizationGroup | I_ProductStructureVariant_2 | MaterialAuthorizationGroup | ||
| AuthorizationGroup | I_ProductStructureVariant_2 | AuthorizationGroup | ||
| ProdStrucVariantDescription | Variant Description | |||
| _LogAccMObjectTypeActive | _LogAccMObjectTypeActive | |||
| _LogAccMObjSecureIDAssgmt | _LogAccMObjSecureIDAssgmt | |||
| _LogAccMObjectUserAuthzn | _LogAccMObjectUserAuthzn |
@AbapCatalog.sqlViewName: 'IPSMNODEVAR'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #CHECK
@VDM.viewType: #COMPOSITE
//@ObjectModel.representativeKey: 'ProductStructureVariantUUID'
//@ObjectModel.semanticKey: 'ProductStructureVariant'
@ObjectModel.usageType.dataClass: #MASTER
@ObjectModel.usageType.sizeCategory: #M
@ObjectModel.usageType.serviceQuality: #C
@EndUserText.label: 'Product Structure Node Variant'
@ClientHandling.algorithm: #SESSION_VARIABLE
define view I_ProductStructureNodeVariant
as select from I_ProductStructureNode_2 as _Node
left outer join I_ProductStructureVariant_2 as _Variant on _Node.ProductStructureNodeUUID = _Variant.ProdStructureVariantParentUUID
left outer join I_ProdStrucVariantPlantUsage as _VariantPlantUsage on _Variant.ProductStructureVariantUUID = _VariantPlantUsage.ProductStructureVariantUUID
and _VariantPlantUsage.Material = _Variant.Material
association [0..1] to I_ProdStrucLogAccMActive as _LogAccMObjectTypeActive on $projection.ProductStructureGnrcObjType = _LogAccMObjectTypeActive.LogAccMObjectType
association [0..1] to I_ProdStrucObjSecureIDAssgmt as _LogAccMObjSecureIDAssgmt on $projection.ProductStructureNodeUniqueID = _LogAccMObjSecureIDAssgmt.LogAccMObjectID
and $projection.ProductStructureGnrcObjType = _LogAccMObjSecureIDAssgmt.LogAccMObjectType
association [0..*] to I_ProdStrucObjectUserAuthzn as _LogAccMObjectUserAuthzn on $projection.ProductStructureNodeUniqueID = _LogAccMObjectUserAuthzn.LogAccMObjectID
and _LogAccMObjectUserAuthzn.LogAccMObjectType = $projection.ProductStructureGnrcObjType
{
key ProductStructureNodeUUID,
key _Variant.ProductStructureVariantUUID,
key _Variant.ProdStrucVariantChgStateIntID,
//bintohex( ProductStructureNodeUUID ) as ProductStructureNodeUniqueID,
_Node.ProductStructureNodeUniqueID,
ProductStructureNodeName,
_Node.ProductStructureNodeType,
_Variant.ProductStructureVariantType,
_Node.ProductStructureGnrcObjType,
_Node._Class.ClassType,
_Node._Class.Class,
@EndUserText.label: 'Node Description'
_Node._Text[1:Language = $session.system_language].ProdStrucNodeDescription,
@Semantics.businessDate.at: true
@Semantics.businessDate.createdAt: true
_Node.ProductStructureCreationDate,
@Semantics.user.createdBy: true
_Node.ProductStructureCreatedByUser,
@Semantics.businessDate.at: true
@Semantics.businessDate.lastChangedAt: true
_Node.ProductStrucLastChangedDate,
@Semantics.user.lastChangedBy: true
_Node.ProductStrucLastChangedByUser,
_Variant.ProductStructureVariantName,
_Variant.Material,
_Variant.ProdStrucVariantChangeNumber,
_Variant.ProdStrucVarChgNmbrDescription,
_VariantPlantUsage.ProductStructureUsage,
_VariantPlantUsage.Plant,
_Variant.MaterialAuthorizationGroup,
_Variant.AuthorizationGroup,
@EndUserText.label: 'Variant Description'
_Variant._Text[1:Language = $session.system_language].ProdStrucVariantDescription,
//_Node._Text as _NodeText,
//_Variant._Text as _VariantText
// _LogAccMObjSecureIDAssgmt.LogAccMObjectID,
_LogAccMObjectTypeActive,
_LogAccMObjSecureIDAssgmt,
_LogAccMObjectUserAuthzn
} where _Variant.Material is not null and ProductStructureUsage is not null
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA