R_CustRetItemPricingElementTP
Pricing Element for Returns Order Item - TP
R_CustRetItemPricingElementTP is a Transactional CDS View that provides data about "Pricing Element for Returns Order Item - TP" in SAP S/4HANA. It reads from 2 data sources (I_SalesDocumentBasic, I_PricingElement) and exposes 35 fields with key fields CustomerReturn, CustomerReturnItem, PricingProcedureStep, PricingProcedureCounter. It has 1 association to related views.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| I_SalesDocumentBasic | CustomerReturn | inner |
| I_PricingElement | PricingElement | from |
Associations (1)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | R_CustomerReturnTP | _CustomerReturn | $projection.CustomerReturn = _CustomerReturn.CustomerReturn |
Annotations (8)
| Name | Value | Level | Field |
|---|---|---|---|
| VDM.lifecycle.contract.type | #SAP_INTERNAL_API | view | |
| VDM.viewType | #TRANSACTIONAL | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| EndUserText.label | Pricing Element for Returns Order Item - TP | view |
Fields (35)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | CustomerReturn | I_SalesDocumentBasic | SalesDocument | |
| KEY | CustomerReturnItem | I_PricingElement | PricingDocumentItem | |
| KEY | PricingProcedureStep | I_PricingElement | PricingProcedureStep | |
| KEY | PricingProcedureCounter | I_PricingElement | PricingProcedureCounter | |
| ConditionApplication | I_PricingElement | ConditionApplication | ||
| ConditionType | I_PricingElement | ConditionType | ||
| ConditionTypeName | ||||
| ConditionCalculationType | I_PricingElement | ConditionCalculationType | ||
| PriceConditionDeterminationDte | I_PricingElement | PriceConditionDeterminationDte | ||
| ConditionRateAmount | I_PricingElement | ConditionRateAmount | ||
| ConditionRateRatio | I_PricingElement | ConditionRateRatio | ||
| ConditionBaseAmount | I_PricingElement | ConditionBaseAmount | ||
| ConditionBaseQuantity | I_PricingElement | ConditionBaseQuantity | ||
| ConditionQuantity | I_PricingElement | ConditionQuantity | ||
| ConditionAmount | I_PricingElement | ConditionAmount | ||
| ConditionCurrency | I_PricingElement | ConditionCurrency | ||
| TransactionCurrency | I_PricingElement | TransactionCurrency | ||
| ConditionQuantityUnit | I_PricingElement | ConditionQuantityUnit | ||
| ConditionRateRatioUnit | I_PricingElement | ConditionRateRatioUnit | ||
| ConditionIsForStatistics | I_PricingElement | ConditionIsForStatistics | ||
| ConditionIsManuallyChanged | I_PricingElement | ConditionIsManuallyChanged | ||
| ConditionInactiveReason | I_PricingElement | ConditionInactiveReason | ||
| CustomerReturnType | _CustomerReturn | CustomerReturnType | ||
| SalesOrganization | _CustomerReturn | SalesOrganization | ||
| DistributionChannel | _CustomerReturn | DistributionChannel | ||
| OrganizationDivision | _CustomerReturn | OrganizationDivision | ||
| _Item | _Item | |||
| _CustomerReturn | _CustomerReturn | |||
| _ConditionApplication | I_PricingElement | _ConditionApplication | ||
| _PricingConditionType | I_PricingElement | _PricingConditionType | ||
| _ConditionCurrency | I_PricingElement | _ConditionCurrency | ||
| _TransactionCurrency | I_PricingElement | _Currency | ||
| _ConditionQuantityUnit | I_PricingElement | _ConditionQuantityUnit | ||
| _ConditionInactiveReason | I_PricingElement | _ConditionInactiveReason | ||
| _ConditionCalculationType | I_PricingElement | _ConditionCalculationType |
@VDM: {
lifecycle.contract.type: #SAP_INTERNAL_API,
viewType: #TRANSACTIONAL
}
@AccessControl: {
authorizationCheck: #CHECK,
personalData.blocking: #('TRANSACTIONAL_DATA')
}
@ObjectModel: {
semanticKey: ['CustomerReturn', 'CustomerReturnItem', 'PricingProcedureStep', 'PricingProcedureCounter'],
usageType: {
dataClass: #TRANSACTIONAL,
serviceQuality: #C,
sizeCategory: #XL
}
}
@Metadata.ignorePropagatedAnnotations: true
@EndUserText.label: 'Pricing Element for Returns Order Item - TP'
define view entity R_CustRetItemPricingElementTP
as select from I_PricingElement as PricingElement
inner join I_SalesDocumentBasic as CustomerReturn on CustomerReturn.SalesDocumentCondition = PricingElement.PricingDocument
and CustomerReturn.SDDocumentCategory = 'H'
association [1..1] to R_CustomerReturnTP as _CustomerReturn on $projection.CustomerReturn = _CustomerReturn.CustomerReturn
association to parent R_CustomerReturnItemTP as _Item on $projection.CustomerReturn = _Item.CustomerReturn
and $projection.CustomerReturnItem = _Item.CustomerReturnItem
{
key CustomerReturn.SalesDocument as CustomerReturn,
key PricingElement.PricingDocumentItem as CustomerReturnItem,
key PricingElement.PricingProcedureStep,
key PricingElement.PricingProcedureCounter,
@ObjectModel.foreignKey.association: '_ConditionApplication'
PricingElement.ConditionApplication,
@ObjectModel.foreignKey.association: '_PricingConditionType'
PricingElement.ConditionType,
// needed as condition type name is filled without any condition type key for subtotal lines
PricingElement._PricingConditionType._Text[1: Language=$session.system_language].ConditionTypeName as ConditionTypeName,
@ObjectModel.foreignKey.association: '_ConditionCalculationType'
PricingElement.ConditionCalculationType,
PricingElement.PriceConditionDeterminationDte,
@Semantics.amount.currencyCode: 'ConditionCurrency'
@OData.v2.amount.noDecimalShift: true
PricingElement.ConditionRateAmount,
@Semantics.quantity.unitOfMeasure: 'ConditionRateRatioUnit'
PricingElement.ConditionRateRatio,
@Semantics.amount.currencyCode: 'TransactionCurrency'
@OData.v2.amount.noDecimalShift: true
PricingElement.ConditionBaseAmount,
@Semantics.quantity.unitOfMeasure: 'ConditionQuantityUnit'
PricingElement.ConditionBaseQuantity,
@Semantics.quantity.unitOfMeasure: 'ConditionQuantityUnit'
PricingElement.ConditionQuantity,
@Semantics.amount.currencyCode: 'TransactionCurrency'
PricingElement.ConditionAmount,
@ObjectModel.foreignKey.association: '_ConditionCurrency'
PricingElement.ConditionCurrency,
@ObjectModel.foreignKey.association: '_TransactionCurrency'
PricingElement.TransactionCurrency,
@ObjectModel.foreignKey.association: '_ConditionQuantityUnit'
PricingElement.ConditionQuantityUnit,
PricingElement.ConditionRateRatioUnit,
PricingElement.ConditionIsForStatistics,
PricingElement.ConditionIsManuallyChanged,
@ObjectModel.foreignKey.association: '_ConditionInactiveReason'
PricingElement.ConditionInactiveReason,
@Semantics.booleanIndicator: true
cast(
case
when PricingElement.ConditionRateRatioUnit = ''
then 'X'
else ''
end as boole_d ) as ConditionRateValueIsAmount,
@Semantics.booleanIndicator: true
cast(
case
when PricingElement.ConditionRateRatioUnit = ''
then ''
else 'X'
end as boole_d ) as ConditionRateValueIsRatio,
@Semantics.booleanIndicator: true
cast(
case
when PricingElement.ConditionRateAmount is initial
and PricingElement.ConditionRateRatio is initial
then 'X'
else ''
end as boole_d ) as ConditionRateValueIsNull,
@Semantics.booleanIndicator: true
cast(
case
when PricingElement.ConditionQuantity is initial
then 'X'
else ''
end as boole_d ) as ConditionQuantityIsNull,
@Semantics.booleanIndicator: true
cast(
case
when PricingElement.ConditionAmount is initial
then 'X'
else ''
end as boole_d ) as ConditionAmountIsNull,
@Semantics.booleanIndicator: true
cast(
case
when PricingElement.ConditionCalculationType = 'A'
or PricingElement.ConditionCalculationType = 'B'
or PricingElement.ConditionCalculationType = 'H'
or PricingElement.ConditionCalculationType = 'I'
or PricingElement.ConditionCalculationType = 'J'
or PricingElement.ConditionCalculationType = 'K'
or PricingElement.ConditionCalculationType = 'W'
then ''
else 'X'
end as boole_d ) as ConditionBaseValueIsQuantity,
@Semantics.booleanIndicator: true
cast(
case
when PricingElement.ConditionCalculationType = 'A'
or PricingElement.ConditionCalculationType = 'B'
or PricingElement.ConditionCalculationType = 'H'
or PricingElement.ConditionCalculationType = 'I'
or PricingElement.ConditionCalculationType = 'J'
or PricingElement.ConditionCalculationType = 'K'
or PricingElement.ConditionCalculationType = 'W'
then 'X'
else ''
end as boole_d ) as ConditionBaseValueIsAmount,
//For Access Control
@Consumption.hidden: true
_CustomerReturn.CustomerReturnType,
@Consumption.hidden: true
_CustomerReturn.SalesOrganization,
@Consumption.hidden: true
_CustomerReturn.DistributionChannel,
@Consumption.hidden: true
_CustomerReturn.OrganizationDivision,
//Associations
_Item,
_CustomerReturn,
PricingElement._ConditionApplication,
PricingElement._PricingConditionType,
PricingElement._ConditionCurrency,
PricingElement._Currency as _TransactionCurrency,
PricingElement._ConditionQuantityUnit,
PricingElement._ConditionInactiveReason,
PricingElement._ConditionCalculationType
}
where
PricingElement.PricingDocumentItem != '000000' //Ignore Header Conditions
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CONDITIONTYPETEXT",
"I_PRICINGCONDITIONTYPE",
"I_PRICINGELEMENT",
"I_SALESDOCUMENTBASIC",
"R_CUSTOMERRETURNTP"
],
"ASSOCIATED":
[
"I_CONDITIONAPPLICATION",
"I_CONDITIONCALCULATIONTYPE",
"I_CONDITIONINACTIVEREASON",
"I_CURRENCY",
"I_PRICINGCONDITIONTYPE",
"I_UNITOFMEASURE",
"R_CUSTOMERRETURNITEMTP",
"R_CUSTOMERRETURNTP"
],
"BASE":
[
"I_PRICINGELEMENT"
],
"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