I_SalesDocumentPricingElement
Sales Document Pricing Element
I_SalesDocumentPricingElement is a Basic CDS View that provides data about "Sales Document Pricing Element" in SAP S/4HANA. It reads from 2 data sources (I_PricingElement, I_SalesDocumentBasic) and exposes 67 fields with key fields SalesDocument, PricingProcedureStep, PricingProcedureCounter.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| I_PricingElement | PricingElement | from |
| I_SalesDocumentBasic | SalesDocument | inner |
Annotations (11)
| Name | Value | Level | Field |
|---|---|---|---|
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| EndUserText.label | Sales Document Pricing Element | view | |
| VDM.viewType | #BASIC | view | |
| VDM.lifecycle.contract.type | #PUBLIC_LOCAL_API | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| AbapCatalog.sqlViewName | ISDSLSDOCPREL | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.usageType.serviceQuality | #B | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| Metadata.ignorePropagatedAnnotations | true | view |
Fields (67)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | SalesDocument | I_SalesDocumentBasic | SalesDocument | |
| KEY | PricingProcedureStep | I_PricingElement | PricingProcedureStep | |
| KEY | PricingProcedureCounter | I_PricingElement | PricingProcedureCounter | |
| ConditionApplication | I_PricingElement | ConditionApplication | ||
| ConditionType | I_PricingElement | ConditionType | ||
| PricingDateTime | I_PricingElement | PricingDateTime | ||
| PriceConditionDeterminationDte | I_PricingElement | PriceConditionDeterminationDte | ||
| ConditionCalculationType | I_PricingElement | ConditionCalculationType | ||
| ConditionBaseValue | I_PricingElement | ConditionBaseValue | ||
| ConditionRateValue | I_PricingElement | ConditionRateValue | ||
| ConditionCurrency | I_PricingElement | ConditionCurrency | ||
| ConditionQuantity | I_PricingElement | ConditionQuantity | ||
| ConditionQuantityUnit | I_PricingElement | ConditionQuantityUnit | ||
| ConditionCategory | I_PricingElement | ConditionCategory | ||
| ConditionIsForStatistics | I_PricingElement | ConditionIsForStatistics | ||
| PricingScaleType | I_PricingElement | PricingScaleType | ||
| IsRelevantForAccrual | I_PricingElement | IsRelevantForAccrual | ||
| CndnIsRelevantForInvoiceList | I_PricingElement | CndnIsRelevantForInvoiceList | ||
| ConditionOrigin | I_PricingElement | ConditionOrigin | ||
| IsGroupCondition | I_PricingElement | IsGroupCondition | ||
| ConditionRecord | I_PricingElement | ConditionRecord | ||
| ConditionSequentialNumber | I_PricingElement | ConditionSequentialNumber | ||
| TaxCode | I_PricingElement | TaxCode | ||
| WithholdingTaxCode | I_PricingElement | WithholdingTaxCode | ||
| CndnRoundingOffDiffAmount | I_PricingElement | CndnRoundingOffDiffAmount | ||
| ConditionAmount | I_PricingElement | ConditionAmount | ||
| TransactionCurrency | I_PricingElement | TransactionCurrency | ||
| ConditionControl | I_PricingElement | ConditionControl | ||
| ConditionInactiveReason | I_PricingElement | ConditionInactiveReason | ||
| ConditionClass | I_PricingElement | ConditionClass | ||
| PrcgProcedureCounterForHeader | I_PricingElement | PrcgProcedureCounterForHeader | ||
| FactorForConditionBasisValue | I_PricingElement | FactorForConditionBasisValue | ||
| StructureCondition | I_PricingElement | StructureCondition | ||
| PeriodFactorForCndnBasisValue | I_PricingElement | PeriodFactorForCndnBasisValue | ||
| PricingScaleBasis | I_PricingElement | PricingScaleBasis | ||
| ConditionScaleBasisValue | I_PricingElement | ConditionScaleBasisValue | ||
| ConditionScaleBasisUnit | I_PricingElement | ConditionScaleBasisUnit | ||
| ConditionScaleBasisCurrency | I_PricingElement | ConditionScaleBasisCurrency | ||
| CndnIsRelevantForIntcoBilling | I_PricingElement | CndnIsRelevantForIntcoBilling | ||
| ConditionIsManuallyChanged | I_PricingElement | ConditionIsManuallyChanged | ||
| ConditionIsForConfiguration | I_PricingElement | ConditionIsForConfiguration | ||
| VariantCondition | I_PricingElement | VariantCondition | ||
| ConditionRateAmount | I_PricingElement | ConditionRateAmount | ||
| ConditionRateRatio | I_PricingElement | ConditionRateRatio | ||
| ConditionRateRatioUnit | I_PricingElement | ConditionRateRatioUnit | ||
| ConditionBaseAmount | I_PricingElement | ConditionBaseAmount | ||
| ConditionBaseQuantity | I_PricingElement | ConditionBaseQuantity | ||
| SDDocumentCategory | I_SalesDocumentBasic | SDDocumentCategory | ||
| _SalesDocument | _SalesDocument | |||
| _ConditionApplication | I_PricingElement | _ConditionApplication | ||
| _PricingConditionType | I_PricingElement | _PricingConditionType | ||
| _ConditionCalculationType | I_PricingElement | _ConditionCalculationType | ||
| _ConditionCurrency | I_PricingElement | _ConditionCurrency | ||
| _Currency | I_PricingElement | _Currency | ||
| _ConditionQuantityUnit | I_PricingElement | _ConditionQuantityUnit | ||
| _ConditionCategory | I_PricingElement | _ConditionCategory | ||
| _ConditionOrigin | I_PricingElement | _ConditionOrigin | ||
| _ConditionControl | I_PricingElement | _ConditionControl | ||
| _ConditionInactiveReason | I_PricingElement | _ConditionInactiveReason | ||
| _ConditionClass | I_PricingElement | _ConditionClass | ||
| _PricingScaleBasis | I_PricingElement | _PricingScaleBasis | ||
| _ScaleUnitOfMeasure | I_PricingElement | _ScaleUnitOfMeasure | ||
| _ScaleCurrency | I_PricingElement | _ScaleCurrency | ||
| _VariantCondition | I_PricingElement | _VariantCondition | ||
| _StructureCondition | I_PricingElement | _StructureCondition | ||
| _ConditionRateRatioUnit | I_PricingElement | _ConditionRateRatioUnit | ||
| _SDDocumentCategory | I_SalesDocumentBasic | _SDDocumentCategory |
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Sales Document Pricing Element'
@VDM: {
viewType: #BASIC,
lifecycle.contract.type: #PUBLIC_LOCAL_API
}
@AccessControl: {
authorizationCheck: #CHECK,
personalData.blocking: #('TRANSACTIONAL_DATA')
}
@AbapCatalog: {
sqlViewName: 'ISDSLSDOCPREL',
compiler.compareFilter: true
}
@ObjectModel: {
usageType: {
dataClass: #TRANSACTIONAL,
serviceQuality: #B,
sizeCategory: #XL
},
supportedCapabilities: [ #SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE, #CDS_MODELING_ASSOCIATION_TARGET ]
}
@Metadata.ignorePropagatedAnnotations:true
define view I_SalesDocumentPricingElement
as select from I_PricingElement as PricingElement
inner join I_SalesDocumentBasic as SalesDocument on PricingElement.PricingDocument = SalesDocument.SalesDocumentCondition
and PricingElement.PricingDocumentItem = '000000'
association[1..1] to I_SalesDocument as _SalesDocument on $projection.SalesDocument = _SalesDocument.SalesDocument
{
@ObjectModel.foreignKey.association: '_SalesDocument'
key SalesDocument.SalesDocument,
key PricingElement.PricingProcedureStep,
key PricingElement.PricingProcedureCounter, // decision from pricing colleagues: keep wrong name, do not rename to PricingElementCounter
@ObjectModel.foreignKey.association: '_ConditionApplication'
PricingElement.ConditionApplication, // required for foreign key association of condition type
@ObjectModel.foreignKey.association: '_PricingConditionType'
PricingElement.ConditionType,
@VDM.lifecycle.status: #DEPRECATED
@VDM.lifecycle.successor: 'PriceConditionDeterminationDte'
PricingElement.PricingDateTime,
PricingElement.PriceConditionDeterminationDte,
@ObjectModel.foreignKey.association: '_ConditionCalculationType'
PricingElement.ConditionCalculationType,
PricingElement.ConditionBaseValue,
PricingElement.ConditionRateValue,
@ObjectModel.foreignKey.association: '_ConditionCurrency'
PricingElement.ConditionCurrency,
@DefaultAggregation:#NONE
@Semantics.quantity.unitOfMeasure: 'ConditionQuantityUnit'
PricingElement.ConditionQuantity,
@Semantics.unitOfMeasure: true
@ObjectModel.foreignKey.association: '_ConditionQuantityUnit'
PricingElement.ConditionQuantityUnit,
@ObjectModel.foreignKey.association: '_ConditionCategory'
PricingElement.ConditionCategory,
PricingElement.ConditionIsForStatistics,
PricingElement.PricingScaleType,
PricingElement.IsRelevantForAccrual,
PricingElement.CndnIsRelevantForInvoiceList,
@ObjectModel.foreignKey.association: '_ConditionOrigin'
PricingElement.ConditionOrigin,
PricingElement.IsGroupCondition,
PricingElement.ConditionRecord,
PricingElement.ConditionSequentialNumber,
PricingElement.TaxCode,
PricingElement.WithholdingTaxCode,
@DefaultAggregation:#NONE
@Semantics.amount.currencyCode: 'TransactionCurrency'
PricingElement.CndnRoundingOffDiffAmount,
@DefaultAggregation:#NONE
@Semantics.amount.currencyCode: 'TransactionCurrency'
PricingElement.ConditionAmount,
@Semantics.currencyCode: true
@ObjectModel.foreignKey.association: '_Currency'
PricingElement.TransactionCurrency,
@ObjectModel.foreignKey.association: '_ConditionControl'
PricingElement.ConditionControl,
@ObjectModel.foreignKey.association: '_ConditionInactiveReason'
PricingElement.ConditionInactiveReason,
@ObjectModel.foreignKey.association: '_ConditionClass'
PricingElement.ConditionClass,
PricingElement.PrcgProcedureCounterForHeader,
PricingElement.FactorForConditionBasisValue,
@ObjectModel.foreignKey.association: '_StructureCondition'
PricingElement.StructureCondition,
PricingElement.PeriodFactorForCndnBasisValue,
@ObjectModel.foreignKey.association: '_PricingScaleBasis'
PricingElement.PricingScaleBasis,
PricingElement.ConditionScaleBasisValue,
@Semantics.unitOfMeasure: true
@ObjectModel.foreignKey.association: '_ScaleUnitOfMeasure'
PricingElement.ConditionScaleBasisUnit,
@Semantics.currencyCode: true
@ObjectModel.foreignKey.association: '_ScaleCurrency'
PricingElement.ConditionScaleBasisCurrency,
PricingElement.CndnIsRelevantForIntcoBilling,
PricingElement.ConditionIsManuallyChanged,
PricingElement.ConditionIsForConfiguration,
PricingElement.VariantCondition,
@Semantics.amount.currencyCode: 'ConditionCurrency'
@OData.v2.amount.noDecimalShift: true
PricingElement.ConditionRateAmount,
@Semantics.quantity.unitOfMeasure: 'ConditionRateRatioUnit'
PricingElement.ConditionRateRatio,
@Semantics.unitOfMeasure: true
@ObjectModel.foreignKey.association: '_ConditionRateRatioUnit'
PricingElement.ConditionRateRatioUnit,
@Semantics.amount.currencyCode: 'TransactionCurrency'
@OData.v2.amount.noDecimalShift: true
PricingElement.ConditionBaseAmount,
@Semantics.quantity.unitOfMeasure: 'ConditionQuantityUnit'
PricingElement.ConditionBaseQuantity,
@ObjectModel.foreignKey.association: '_SDDocumentCategory'
SalesDocument.SDDocumentCategory,
//Association
@ObjectModel.association.type: [#TO_COMPOSITION_PARENT, #TO_COMPOSITION_ROOT]
_SalesDocument,
PricingElement._ConditionApplication,
PricingElement._PricingConditionType, // naming could be better: _ConditionType
PricingElement._ConditionCalculationType,
PricingElement._ConditionCurrency,
PricingElement._Currency, // naming could be better: _TransactionCurrency
PricingElement._ConditionQuantityUnit,
PricingElement._ConditionCategory,
PricingElement._ConditionOrigin,
PricingElement._ConditionControl,
PricingElement._ConditionInactiveReason,
PricingElement._ConditionClass,
PricingElement._PricingScaleBasis,
PricingElement._ScaleUnitOfMeasure, // naming could be better: ConditionScaleBasisUnit
PricingElement._ScaleCurrency, // naming could be better: _ConditionScaleBasisCurrency
PricingElement._VariantCondition,
PricingElement._StructureCondition,
PricingElement._ConditionRateRatioUnit,
SalesDocument._SDDocumentCategory
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PRICINGELEMENT",
"I_SALESDOCUMENTBASIC"
],
"ASSOCIATED":
[
"I_CONDITIONAPPLICATION",
"I_CONDITIONCALCULATIONTYPE",
"I_CONDITIONCATEGORY",
"I_CONDITIONCLASS",
"I_CONDITIONCONTROL",
"I_CONDITIONINACTIVEREASON",
"I_CONDITIONORIGIN",
"I_CONDITIONRATERATIOUNIT",
"I_CURRENCY",
"I_PRICINGCONDITIONTYPE",
"I_PRICINGSCALEBASIS",
"I_SALESDOCUMENT",
"I_SDDOCUMENTCATEGORY",
"I_STRUCTURECONDITION",
"I_UNITOFMEASURE",
"I_VARIANTCONDITION"
],
"BASE":
[
"I_PRICINGELEMENT",
"I_SALESDOCUMENTBASIC"
],
"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