A_PricingDocumentHeaderElement

DDL: A_PRICINGDOCUMENTHEADERELEMENT Type: view_entity CONSUMPTION Package: VF_PRC_RAP_API

Header Pricing Elements

A_PricingDocumentHeaderElement is a Consumption CDS View that provides data about "Header Pricing Elements" in SAP S/4HANA. It reads from 1 data source (R_PrcgDocumentHeaderElementTP) and exposes 44 fields with key fields PricingDocument, PrcgDocumentHostObjectNodeID, PrcgDocHostObjSONTInUppercase, PricingProcedureStep, PricingDocumentElementCounter. It is exposed through 2 OData services (API_BILLINGDOCUMENT, API_PRELIMINARYBILLINGDOCUMENT). Part of development package VF_PRC_RAP_API.

Data Sources (1)

SourceAliasJoin Type
R_PrcgDocumentHeaderElementTP R_PrcgDocumentHeaderElementTP projection

Annotations (14)

NameValueLevelField
AccessControl.authorizationCheck #PRIVILEGED_ONLY view
EndUserText.label Header Pricing Elements view
Metadata.ignorePropagatedAnnotations true view
OData.containment.accessByNavigationOnly true view
OData.entityType.name PricingDocumentHeaderElement_Type view
ObjectModel.modelingPattern #TRANSACTIONAL_QUERY view
ObjectModel.query.implementedBy ABAP:CL_PRC_S4RAP_V4_API_QRY view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XXL view
ObjectModel.sapObjectNodeType.name PricingDocumentHeaderElement view
VDM.lifecycle.contract.type #PUBLIC_REMOTE_API view
VDM.viewType #CONSUMPTION view
Feature SD_PRC_READ_ODATAV4 view

OData Services (2)

ServiceBindingVersionContractRelease
API_BILLINGDOCUMENT API_BILLINGDOCUMENT V4 C2 C1
API_PRELIMINARYBILLINGDOCUMENT API_PRELIMINARYBILLINGDOCUMENT V4 C2 C1

Fields (44)

KeyFieldSource TableSource FieldDescription
KEY PricingDocument PricingDocumentElement PricingDocument
KEY PrcgDocumentHostObjectNodeID PricingDocumentElement HostObjectNodeID
KEY PrcgDocHostObjSONTInUppercase PricingDocumentElement HostObjectNodeSONTInUppercase
KEY PricingProcedureStep PricingDocumentElement PricingProcedureStep
KEY PricingDocumentElementCounter PricingDocumentElement PricingDocumentElementCounter
ConditionType PricingDocumentElement ConditionType
PriceElementDescription PricingDocumentElement ConditionTypeName
ConditionClass PricingDocumentElement ConditionClass
ConditionCalculationType PricingDocumentElement ConditionCalculationType
ConditionCategory PricingDocumentElement ConditionCategory
ConditionRateAmount PricingDocumentElement ConditionRateAmount
ConditionCurrency PricingDocumentElement ConditionCurrency
ConditionQuantity PricingDocumentElement ConditionQuantity
ConditionBaseQuantity PricingDocumentElement ConditionBaseQuantity
ConditionQuantityISOUnit
ConditionQuantitySAPUnit PricingDocumentElement ConditionQuantityUnit
ConditionRateRatio PricingDocumentElement ConditionRateRatio
ConditionRateRatioISOUnit
ConditionRateRatioSAPUnit PricingDocumentElement ConditionRateRatioUnit
ConditionAmount PricingDocumentElement ConditionAmount
ConditionBaseAmount PricingDocumentElement ConditionBaseAmount
TransactionCurrency PricingDocumentElement TransactionCurrency
CndnRoundingOffDiffAmount PricingDocumentElement CndnRoundingOffDiffAmount
TaxCode PricingDocumentElement TaxCode
VariantCondition PricingDocumentElement VariantCondition
StructureCondition PricingDocumentElement StructureCondition
IsGroupCondition PricingDocumentElement IsGroupCondition
ConditionIsForConfiguration PricingDocumentElement ConditionIsForConfiguration
IsRelevantForAccrual PricingDocumentElement IsRelevantForAccrual
CndnIsRelevantForIntcoBilling PricingDocumentElement CndnIsRelevantForIntcoBilling
ConditionRecord PricingDocumentElement ConditionRecord
ConditionOrigin PricingDocumentElement ConditionOrigin
ConditionControl PricingDocumentElement ConditionControl
ConditionInactiveReason PricingDocumentElement ConditionInactiveReason
ConditionIsManuallyChanged PricingDocumentElement ConditionIsManuallyChanged
ConditionIsForStatistics PricingDocumentElement ConditionIsForStatistics
ConditionExchRateIsIndrctQtan PricingDocumentElement ConditionExchRateIsIndrctQtan
ConditionAbsoluteExchangeRate PricingDocumentElement ConditionAbsoluteExchangeRate
AccountKeyForGLAccount PricingDocumentElement AccountKeyForGLAccount
GLAccount PricingDocumentElement GLAccount
ConditionRateValueIsAmount PricingDocumentElement ConditionRateValueIsAmount
ConditionRateValueIsRatio PricingDocumentElement ConditionRateValueIsRatio
ConditionBaseValueIsAmount PricingDocumentElement ConditionBaseValueIsAmount
ConditionBaseValueIsQuantity PricingDocumentElement ConditionBaseValueIsQuantity
@AccessControl.authorizationCheck: #PRIVILEGED_ONLY
@AccessControl.privilegedAssociations: [ '_PricingDocument' ]

@EndUserText.label: 'Header Pricing Elements'

@Metadata.ignorePropagatedAnnotations: true

@OData.containment.accessByNavigationOnly: true
@OData.entityType.name: 'PricingDocumentHeaderElement_Type'

@ObjectModel.modelingPattern: #TRANSACTIONAL_QUERY
@ObjectModel.query.implementedBy: 'ABAP:CL_PRC_S4RAP_V4_API_QRY'

@ObjectModel.semanticKey: [ 'PricingDocument',
                            'PrcgDocumentHostObjectNodeID',
                            'PrcgDocHostObjSONTInUppercase',
                            'PricingProcedureStep',
                            'PricingDocumentElementCounter' ]

@ObjectModel.supportedCapabilities: [ #TRANSACTIONAL_PROVIDER ]
@ObjectModel.usageType: { dataClass: #MIXED, serviceQuality: #C, sizeCategory: #XXL }
@ObjectModel.sapObjectNodeType.name: 'PricingDocumentHeaderElement'

@VDM.lifecycle.contract.type: #PUBLIC_REMOTE_API
@VDM.usage.type: [ #TRANSACTIONAL_PROCESSING_SERVICE ]
@VDM.viewType: #CONSUMPTION

@Feature: 'SD_PRC_READ_ODATAV4'

define view entity A_PricingDocumentHeaderElement
  as projection on R_PrcgDocumentHeaderElementTP as PricingDocumentElement

{
  key PricingDocumentElement.PricingDocument,
  key PricingDocumentElement.HostObjectNodeID                                                          as PrcgDocumentHostObjectNodeID,
  key PricingDocumentElement.HostObjectNodeSONTInUppercase                                             as PrcgDocHostObjSONTInUppercase,
  key PricingDocumentElement.PricingProcedureStep,
  key PricingDocumentElement.PricingDocumentElementCounter,

      PricingDocumentElement.ConditionType,
      PricingDocumentElement.ConditionTypeName                                                         as PriceElementDescription,

      @ObjectModel.sapObjectNodeTypeReference: 'PriceConditionClass'
      PricingDocumentElement.ConditionClass,
      
      @ObjectModel.sapObjectNodeTypeReference: 'PriceConditionCalculationType'
      PricingDocumentElement.ConditionCalculationType,
      
      @ObjectModel.sapObjectNodeTypeReference: 'PriceConditionCategory'            
      PricingDocumentElement.ConditionCategory,
      
      @Semantics.amount.currencyCode: 'ConditionCurrency'
      PricingDocumentElement.ConditionRateAmount,
      
      @ObjectModel.sapObjectNodeTypeReference: 'Currency'
      @Semantics.currencyCode: true
      PricingDocumentElement.ConditionCurrency,
      
      @Semantics.quantity: { unitOfMeasure: 'ConditionQuantitySAPUnit',
                             unitOfMeasureSapCode: 'ConditionQuantitySAPUnit',
                             unitOfMeasureIsoCode: 'ConditionQuantityISOUnit' }
      PricingDocumentElement.ConditionQuantity,
      
      @Semantics.quantity: { unitOfMeasure: 'ConditionQuantitySAPUnit',
                             unitOfMeasureSapCode: 'ConditionQuantitySAPUnit',
                             unitOfMeasureIsoCode: 'ConditionQuantityISOUnit' }
      PricingDocumentElement.ConditionBaseQuantity,
      
      cast(_ConditionQuantityUnit.UnitOfMeasureISOCode as sd_cndn_qty_isounit preserving type)         as ConditionQuantityISOUnit,
      PricingDocumentElement.ConditionQuantityUnit                                                     as ConditionQuantitySAPUnit,
      
      @Semantics.quantity: { unitOfMeasure: 'ConditionRateRatioSAPUnit',
                             unitOfMeasureSapCode: 'ConditionRateRatioSAPUnit',
                             unitOfMeasureIsoCode: 'ConditionRateRatioISOUnit' }
      PricingDocumentElement.ConditionRateRatio,

      cast(_ConditionRateRatioUnit.UnitOfMeasureISOCode as sd_cndn_rate_ratio_isounit preserving type) as ConditionRateRatioISOUnit,
      PricingDocumentElement.ConditionRateRatioUnit                                                    as ConditionRateRatioSAPUnit,
      
      @Semantics.amount.currencyCode: 'TransactionCurrency'
      PricingDocumentElement.ConditionAmount,
      
      @Semantics.amount.currencyCode: 'TransactionCurrency'
      PricingDocumentElement.ConditionBaseAmount,

      @ObjectModel.sapObjectNodeTypeReference: 'Currency'
      @Semantics.currencyCode: true
      PricingDocumentElement.TransactionCurrency,
      
      @Semantics.amount.currencyCode: 'TransactionCurrency'
      PricingDocumentElement.CndnRoundingOffDiffAmount,

      @ObjectModel.sapObjectNodeTypeReference: 'SalesTaxCode'
      PricingDocumentElement.TaxCode,

      @ObjectModel.sapObjectNodeTypeReference: 'PricingVariantCondition'
      PricingDocumentElement.VariantCondition,
      
      @ObjectModel.sapObjectNodeTypeReference: 'PricingStructureCondition'      
      PricingDocumentElement.StructureCondition,
      
      PricingDocumentElement.IsGroupCondition,
      
      PricingDocumentElement.ConditionIsForConfiguration,
      
      PricingDocumentElement.IsRelevantForAccrual,
      
      PricingDocumentElement.CndnIsRelevantForIntcoBilling,
      
      PricingDocumentElement.ConditionRecord,
      
      @ObjectModel.sapObjectNodeTypeReference: 'PriceConditionOrigin'
      PricingDocumentElement.ConditionOrigin,
      
      @ObjectModel.sapObjectNodeTypeReference: 'PriceConditionControl'      
      PricingDocumentElement.ConditionControl,

      @ObjectModel.sapObjectNodeTypeReference: 'PriceConditionInactiveReason'
      PricingDocumentElement.ConditionInactiveReason,

      PricingDocumentElement.ConditionIsManuallyChanged,

      PricingDocumentElement.ConditionIsForStatistics,
      
      PricingDocumentElement.ConditionExchRateIsIndrctQtan,
      PricingDocumentElement.ConditionAbsoluteExchangeRate,
      
      PricingDocumentElement.AccountKeyForGLAccount,
      
      PricingDocumentElement.GLAccount,
      
      @Semantics.booleanIndicator: true
      @Semantics.nullValueIndicatorFor: 'ConditionRateRatio'
      PricingDocumentElement.ConditionRateValueIsAmount,

      @Semantics.booleanIndicator: true
      @Semantics.nullValueIndicatorFor: 'ConditionRateAmount'
      PricingDocumentElement.ConditionRateValueIsRatio,

      @Semantics.booleanIndicator: true
      @Semantics.nullValueIndicatorFor: 'ConditionQuantity'
      PricingDocumentElement.ConditionQuantityIsNull,

      @Semantics.booleanIndicator: true
      @Semantics.nullValueIndicatorFor: 'ConditionAmount'
      PricingDocumentElement.ConditionAmountIsNull,

      @Semantics.booleanIndicator: true
      @Semantics.nullValueIndicatorFor: 'ConditionBaseQuantity'
      PricingDocumentElement.ConditionBaseValueIsAmount,

      @Semantics.booleanIndicator: true
      @Semantics.nullValueIndicatorFor: 'ConditionBaseAmount'
      PricingDocumentElement.ConditionBaseValueIsQuantity,
      
      @Consumption.hidden: true
      @Semantics.booleanIndicator: true
      @Semantics.nullValueIndicatorFor: 'ConditionIsManuallyChanged'
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_PRC_API_VIRTUAL_ELMNT_CALC'
      virtual ConditionIsManuallyChanged_H : rap_null_value_indicator,
      
      @Consumption.hidden: true
      @Semantics.booleanIndicator: true
      @Semantics.nullValueIndicatorFor: 'CndnRoundingOffDiffAmount'
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_PRC_API_VIRTUAL_ELMNT_CALC'
      virtual CndnRndngOffDiffAmountIsNull : rap_null_value_indicator,
      
      @Consumption.hidden: true
      @Semantics.booleanIndicator: true
      @Semantics.nullValueIndicatorFor: 'ConditionExchRateIsIndrctQtan'
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_PRC_API_VIRTUAL_ELMNT_CALC'
      virtual CndnExchRateIsIndrctQtanIsNull : rap_null_value_indicator,
      
      @Consumption.hidden: true
      @Semantics.booleanIndicator: true
      @Semantics.nullValueIndicatorFor: 'ConditionAbsoluteExchangeRate'
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_PRC_API_VIRTUAL_ELMNT_CALC'
      virtual CndnAbsoluteExchangeRateIsNull : rap_null_value_indicator,
      
      @Consumption.hidden: true
      @Semantics.booleanIndicator: true
      @Semantics.nullValueIndicatorFor: 'AccountKeyForGLAccount'
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_PRC_API_VIRTUAL_ELMNT_CALC'
      virtual AccountKeyForGLAccountIsNull : rap_null_value_indicator,
      
      @Consumption.hidden: true
      @Semantics.booleanIndicator: true
      @Semantics.nullValueIndicatorFor: 'GLAccount'
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_PRC_API_VIRTUAL_ELMNT_CALC'
      virtual GLAccountIsNull : rap_null_value_indicator,

      // Compositions

      PricingDocumentElement._PricingDocument : redirected to parent A_PricingDocument
}