I_RetailPromotionDiscount
Retail Promotion Discount
I_RetailPromotionDiscount is a Basic CDS View that provides data about "Retail Promotion Discount" in SAP S/4HANA. It reads from 1 data source (wakr) and exposes 21 fields with key fields RetailPromotion, RetailPromotionDiscount. It has 8 associations to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| wakr | wakr | from |
Associations (8)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_RetailPromotion | _RetailPromotion | $projection.RetailPromotion = _RetailPromotion.RetailPromotion |
| [1..1] | I_RtlPromnDiscountLevel | _RtlPromnDiscountLevel | $projection.RetailPromnDiscountLevel = _RtlPromnDiscountLevel.RetailPromnDiscountLevel |
| [1..1] | I_RtlPromnDiscountStatus | _RtlPromnDiscountStatus | $projection.RetailPromotionDiscountStatus = _RtlPromnDiscountStatus.RetailPromotionDiscountStatus |
| [0..1] | I_ClassHeader | _ProductGroup | $projection.ProductGroup = _ProductGroup.Class and _ProductGroup.ClassType = '026' |
| [0..1] | I_ArticleHierProperties | _ArticleHierProperties | $projection.RetailArticleHierarchy = _ArticleHierProperties.HierarchyID |
| [0..*] | I_CategoryStruc | _ArticleHierNodeProperties | $projection.RetailArticleHierarchy = _ArticleHierNodeProperties.HierarchyID and $projection.RetailArticleHierarchyNode = _ArticleHierNodeProperties.HierarchyNode |
| [0..1] | I_Currency | _Currency | $projection.RetailPromnDiscountCurrency = _Currency.Currency |
| [0..1] | I_UnitOfMeasure | _QuantityUnit | $projection.QuantityUnit = _QuantityUnit.UnitOfMeasure |
Annotations (8)
| Name | Value | Level | Field |
|---|---|---|---|
| Analytics.technicalName | IRTLPROMNDISC | view | |
| EndUserText.label | Retail Promotion Discount | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| VDM.viewType | #BASIC | view | |
| ObjectModel.representativeKey | RetailPromotionDiscount | view | |
| ObjectModel.usageType.serviceQuality | #A | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view |
Fields (21)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | RetailPromotion | aktnr | ||
| KEY | RetailPromotionDiscount | posnr | ||
| RetailPromnDiscountLevel | reb_level | |||
| _ProductGroup | _ProductGroup | |||
| RetailPromnDiscountCurrency | reb_curr | |||
| _Currency | _Currency | |||
| RetailPromnDiscountAmount | reb_value | |||
| _RtlPromnDiscountLevel | _RtlPromnDiscountLevel | |||
| QuantityUnit | ||||
| _QuantityUnit | _QuantityUnit | |||
| RetailPromotionDiscountPercent | reb_perc | |||
| RetailPromotionDiscountStatus | reb_status | |||
| _RtlPromnDiscountStatus | _RtlPromnDiscountStatus | |||
| RetailPromnDiscountUnit | reb_unit | |||
| RetailArticleHierarchy | hier_id | |||
| _ArticleHierProperties | _ArticleHierProperties | |||
| RetailArticleHierarchyNode | node | |||
| _ArticleHierNodeProperties | _ArticleHierNodeProperties | |||
| MaterialSeasonCategory | saiso | |||
| MaterialSeasonYear | saisj | |||
| _RetailPromotion | _RetailPromotion |
@Analytics.technicalName: 'IRTLPROMNDISC'
@EndUserText.label: 'Retail Promotion Discount'
@AccessControl.authorizationCheck: #CHECK
@VDM: {viewType: #BASIC}
@ObjectModel: {
semanticKey: ['RetailPromotion', 'RetailPromotionDiscount'],
representativeKey: 'RetailPromotionDiscount',
usageType: {
serviceQuality: #A,
sizeCategory: #L,
dataClass: #TRANSACTIONAL
}
}
define view entity I_RetailPromotionDiscount
as select from wakr
association [1..1] to I_RetailPromotion as _RetailPromotion on $projection.RetailPromotion = _RetailPromotion.RetailPromotion
association [1..1] to I_RtlPromnDiscountLevel as _RtlPromnDiscountLevel on $projection.RetailPromnDiscountLevel = _RtlPromnDiscountLevel.RetailPromnDiscountLevel
association [1..1] to I_RtlPromnDiscountStatus as _RtlPromnDiscountStatus on $projection.RetailPromotionDiscountStatus = _RtlPromnDiscountStatus.RetailPromotionDiscountStatus
association [0..1] to I_ClassHeader as _ProductGroup on $projection.ProductGroup = _ProductGroup.Class
and _ProductGroup.ClassType = '026' // is unique with Retail Class Type
association [0..1] to I_ArticleHierProperties as _ArticleHierProperties on $projection.RetailArticleHierarchy = _ArticleHierProperties.HierarchyID
association [0..*] to I_CategoryStruc as _ArticleHierNodeProperties on $projection.RetailArticleHierarchy = _ArticleHierNodeProperties.HierarchyID
and $projection.RetailArticleHierarchyNode = _ArticleHierNodeProperties.HierarchyNode
association [0..1] to I_Currency as _Currency on $projection.RetailPromnDiscountCurrency = _Currency.Currency
association [0..1] to I_UnitOfMeasure as _QuantityUnit on $projection.QuantityUnit = _QuantityUnit.UnitOfMeasure
{
@ObjectModel: {foreignKey: {association: '_RetailPromotion'}}
key aktnr as RetailPromotion,
key posnr as RetailPromotionDiscount,
@ObjectModel: {foreignKey: {association: '_RtlPromnDiscountLevel'}}
reb_level as RetailPromnDiscountLevel,
@ObjectModel: {foreignKey: {association: '_ProductGroup'}}
case reb_level
when '02' then matkl // Product Group (former Material Group)
when '03' then wghier // Product Group Hierarchy Node which is also a Product Group
else ''
end as ProductGroup, //ACH: cast to ClassNumber which is DTEL KLASSE_D, but not 1 day before vacation may effect factsheet
_ProductGroup,
@ObjectModel: {foreignKey: {association: '_Currency'}}
reb_curr as RetailPromnDiscountCurrency,
_Currency,
@Semantics.amount.currencyCode: 'RetailPromnDiscountCurrency'
reb_value as RetailPromnDiscountAmount,
_RtlPromnDiscountLevel,
cast( '%' as mebme ) as QuantityUnit,
_QuantityUnit,
@Semantics.quantity.unitOfMeasure: 'QuantityUnit'
reb_perc as RetailPromotionDiscountPercent,
@ObjectModel: {foreignKey: {association: '_RtlPromnDiscountStatus'}}
reb_status as RetailPromotionDiscountStatus,
_RtlPromnDiscountStatus,
reb_unit as RetailPromnDiscountUnit,
@ObjectModel: {foreignKey: {association: '_ArticleHierProperties'}}
hier_id as RetailArticleHierarchy,
_ArticleHierProperties,
node as RetailArticleHierarchyNode,
_ArticleHierNodeProperties,
saiso as MaterialSeasonCategory,
saisj as MaterialSeasonYear,
// Make association public
@ObjectModel.association.type: [#TO_COMPOSITION_PARENT, #TO_COMPOSITION_ROOT]
_RetailPromotion
}
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