I_BillingDocPrcgElmntBasic

DDL: I_BILLINGDOCPRCGELMNTBASIC SQL: ISDBILDOCPEBC Type: view BASIC Package: VDM_SD_BIL

Pricing Element in Billing Process Document

I_BillingDocPrcgElmntBasic is a Basic CDS View that provides data about "Pricing Element in Billing Process Document" in SAP S/4HANA. It reads from 2 data sources (I_BillingDocumentBasic, I_PricingElement) and exposes 71 fields with key fields BillingDocument, PricingProcedureStep, PricingProcedureCounter. It has 1 association to related views. Part of development package VDM_SD_BIL.

Data Sources (2)

SourceAliasJoin Type
I_BillingDocumentBasic BillingDocument inner
I_PricingElement PricingElement from

Associations (1)

CardinalityTargetAliasCondition
[1..1] I_BillingDocumentBasic _BillingDocumentBasic $projection.BillingDocument = _BillingDocumentBasic.BillingDocument

Annotations (12)

NameValueLevelField
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AbapCatalog.sqlViewName ISDBILDOCPEBC view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Pricing Element in Billing Process Document view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #B view
ObjectModel.usageType.sizeCategory #XL view
VDM.viewType #BASIC view

Fields (71)

KeyFieldSource TableSource FieldDescription
KEY BillingDocument I_BillingDocumentBasic BillingDocument
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
IsGroupCondition_2 I_PricingElement IsGroupCondition_2
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
ConditionBaseAmount I_PricingElement ConditionBaseAmount
ConditionBaseQuantity I_PricingElement ConditionBaseQuantity
ConditionRateRatio I_PricingElement ConditionRateRatio
ConditionRateRatioUnit I_PricingElement ConditionRateRatioUnit
ConditionScaleBaseAmount I_PricingElement ConditionScaleBaseAmount
ConditionScaleBaseQuantity I_PricingElement ConditionScaleBaseQuantity
ConditionAbsoluteExchangeRate I_PricingElement ConditionAbsoluteExchangeRate
ConditionExchRateIsIndrctQtan I_PricingElement ConditionExchRateIsIndrctQtan
AccountKeyForGLAccount I_PricingElement AccountKeyForGLAccount
GLAccount I_PricingElement GLAccount
_BillingDocumentBasic _BillingDocumentBasic
_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
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AbapCatalog.sqlViewName: 'ISDBILDOCPEBC'

@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #REQUIRED

@ClientHandling.algorithm: #SESSION_VARIABLE

@EndUserText.label: 'Pricing Element in Billing Process Document'

@Metadata.ignorePropagatedAnnotations: true

@ObjectModel.supportedCapabilities: [ #SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE, #CDS_MODELING_ASSOCIATION_TARGET ]
@ObjectModel.usageType: { dataClass: #TRANSACTIONAL, serviceQuality: #B, sizeCategory: #XL }

@VDM.viewType: #BASIC

define view I_BillingDocPrcgElmntBasic
  as select from I_PricingElement       as PricingElement

    inner join   I_BillingDocumentBasic as BillingDocument
      on  PricingElement.PricingDocument     = BillingDocument.PricingDocument
      and PricingElement.PricingDocumentItem = '000000'

  association [1..1] to I_BillingDocumentBasic as _BillingDocumentBasic on $projection.BillingDocument = _BillingDocumentBasic.BillingDocument

{
      @ObjectModel.foreignKey.association: '_BillingDocumentBasic'
  key BillingDocument.BillingDocument,

  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, 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,

      @ObjectModel.foreignKey.association: '_ConditionQuantityUnit'
      @Semantics.unitOfMeasure: true
      PricingElement.ConditionQuantityUnit,

      @ObjectModel.foreignKey.association: '_ConditionCategory'
      PricingElement.ConditionCategory,

      PricingElement.ConditionIsForStatistics,
      PricingElement.PricingScaleType,
      PricingElement.IsRelevantForAccrual,
      PricingElement.CndnIsRelevantForInvoiceList,

      @ObjectModel.foreignKey.association: '_ConditionOrigin'
      PricingElement.ConditionOrigin,

      @API.element: { releaseState: #DEPRECATED, successor: 'IsGroupCondition_2' }
      PricingElement.IsGroupCondition,

      @Semantics.booleanIndicator: true
      PricingElement.IsGroupCondition_2,

      PricingElement.ConditionRecord,
      PricingElement.ConditionSequentialNumber,
      PricingElement.TaxCode,
      PricingElement.WithholdingTaxCode,

      @DefaultAggregation: #NONE
      @Semantics.amount.currencyCode: 'TransactionCurrency'
      PricingElement.CndnRoundingOffDiffAmount,

      @DefaultAggregation: #NONE
      @Semantics.amount.currencyCode: 'TransactionCurrency'
      PricingElement.ConditionAmount,

      @ObjectModel.foreignKey.association: '_Currency'
      @Semantics.currencyCode: true
      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,

      @ObjectModel.foreignKey.association: '_ScaleUnitOfMeasure'
      @Semantics.unitOfMeasure: true
      PricingElement.ConditionScaleBasisUnit,

      @ObjectModel.foreignKey.association: '_ScaleCurrency'
      @Semantics.currencyCode: true
      PricingElement.ConditionScaleBasisCurrency,

      PricingElement.CndnIsRelevantForIntcoBilling,
      PricingElement.ConditionIsManuallyChanged,
      PricingElement.ConditionIsForConfiguration,
      PricingElement.VariantCondition,

      @OData.v2.amount.noDecimalShift: true
      @Semantics.amount.currencyCode: 'ConditionCurrency'
      PricingElement.ConditionRateAmount,

      @OData.v2.amount.noDecimalShift: true
      @Semantics.amount.currencyCode: 'TransactionCurrency'
      PricingElement.ConditionBaseAmount,

      @Semantics.quantity.unitOfMeasure: 'ConditionQuantityUnit'
      PricingElement.ConditionBaseQuantity,

      @Semantics.quantity.unitOfMeasure: 'ConditionRateRatioUnit'
      PricingElement.ConditionRateRatio,

      @Semantics.unitOfMeasure: true
      PricingElement.ConditionRateRatioUnit,

      @OData.v2.amount.noDecimalShift: true
      @Semantics.amount.currencyCode: 'ConditionScaleBasisCurrency'
      PricingElement.ConditionScaleBaseAmount,

      @Semantics.quantity.unitOfMeasure: 'ConditionScaleBasisUnit'
      PricingElement.ConditionScaleBaseQuantity,

      PricingElement.ConditionAbsoluteExchangeRate,

      @Semantics.booleanIndicator: true
      PricingElement.ConditionExchRateIsIndrctQtan,

      PricingElement.AccountKeyForGLAccount,
      PricingElement.GLAccount,

      // Association

      @ObjectModel.association.type: [ #TO_COMPOSITION_PARENT, #TO_COMPOSITION_ROOT ]
      _BillingDocumentBasic,

      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
}