C_ProductObjPgVariant
Product Object Page - Variant
C_ProductObjPgVariant is a Consumption CDS View that provides data about "Product Object Page - Variant" in SAP S/4HANA. It reads from 1 data source (I_Product) and exposes 13 fields with key fields CrossPlantConfigurableProduct, Product. It has 2 associations to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_Product | I_Product | from |
Associations (2)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | C_ProductObjPg | _ProductObjPg | $projection.CrossPlantConfigurableProduct = _ProductObjPg.Product |
| [0..*] | C_ProductObjPgVariantCharcValn | _ProductObjPgVariantCharcValn | $projection.Product = _ProductObjPgVariantCharcValn.Product |
Annotations (13)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | CPRODOBJPGVAR | view | |
| EndUserText.label | Product Object Page - Variant | view | |
| VDM.viewType | #CONSUMPTION | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| AccessControl.personalData.blocking | #NOT_REQUIRED | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.dataClass | #MASTER | view | |
| Consumption.semanticObject | Material | view | |
| UI.presentationVariant.sortOrder.by | Product | view | |
| UI.presentationVariant.sortOrder.direction | #ASC | view |
Fields (13)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | CrossPlantConfigurableProduct | CrossPlantConfigurableProduct | ||
| KEY | Product | Product | ||
| ProductStandardID | ProductStandardID | |||
| InternationalArticleNumberCat | InternationalArticleNumberCat | |||
| LastChangeDate | LastChangeDate | |||
| UserDescriptionendasLastChangedByUser | ||||
| ProductImageURL | ||||
| AuthorizationGroup | AuthorizationGroup | |||
| _ProductObjPg | _ProductObjPg | |||
| _ProductObjPgVariantCharcValn | _ProductObjPgVariantCharcValn | |||
| _Text | _Text | |||
| _InternationalArticleNumberCat | _InternationalArticleNumberCat | |||
| _CrossPlantConfigurableProduct | _CrossPlantConfigurableProduct |
@AbapCatalog.sqlViewName: 'CPRODOBJPGVAR'
@EndUserText.label: 'Product Object Page - Variant'
@VDM.viewType: #CONSUMPTION
@AccessControl: {
authorizationCheck: #CHECK,
personalData.blocking: #NOT_REQUIRED,
privilegedAssociations: ['_Text']
}
@AbapCatalog.compiler.compareFilter: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel: {
semanticKey: ['CrossPlantConfigurableProduct', 'Product'],
usageType: {
serviceQuality: #C,
sizeCategory: #L,
dataClass: #MASTER
}
}
@Consumption.semanticObject: 'Material'
@UI.presentationVariant.sortOrder: {
by: 'Product',
direction: #ASC
}
define view C_ProductObjPgVariant
as select from I_Product
association [1..1] to C_ProductObjPg as _ProductObjPg on $projection.CrossPlantConfigurableProduct = _ProductObjPg.Product
association [0..*] to C_ProductObjPgVariantCharcValn as _ProductObjPgVariantCharcValn on $projection.Product = _ProductObjPgVariantCharcValn.Product
{
@UI.hidden: true
key CrossPlantConfigurableProduct,
@EndUserText: {
label: 'Variant',
quickInfo: 'Variant'
}
@Consumption.semanticObject: 'Material'
@UI.lineItem: [{position: 20, importance: #HIGH}]
key Product,
ProductStandardID,
@UI.hidden: true
InternationalArticleNumberCat,
LastChangeDate,
@UI.hidden: true
case _LastChangedByUser.UserDescription
when '' then _LastChangedByUser.UserID
else _LastChangedByUser.UserDescription
end as LastChangedByUser,
@Semantics.imageUrl: true
@EndUserText.quickInfo: 'Image'
@UI.lineItem: [{position: 10, importance: #MEDIUM}]
cast('' as productimageurl) as ProductImageURL,
@Consumption.hidden: true
AuthorizationGroup,
@ObjectModel.association.type: [#TO_COMPOSITION_PARENT, #TO_COMPOSITION_ROOT]
_ProductObjPg,
@ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
_ProductObjPgVariantCharcValn,
_Text,
_InternationalArticleNumberCat,
_CrossPlantConfigurableProduct
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PRODUCT",
"I_USER"
],
"ASSOCIATED":
[
"C_PRODUCTOBJPG",
"C_PRODUCTOBJPGVARIANTCHARCVALN",
"I_INTNTNLARTNMBCAT",
"I_PRODUCT",
"I_PRODUCTTEXT"
],
"BASE":
[
"I_PRODUCT"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
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