I_SalesDocumentPricingElement

DDL: I_SALESDOCUMENTPRICINGELEMENT Type: view BASIC

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)

SourceAliasJoin Type
I_PricingElement PricingElement from
I_SalesDocumentBasic SalesDocument inner

Annotations (11)

NameValueLevelField
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)

KeyFieldSource TableSource FieldDescription
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":""
}
}*/