A_ServiceOrderPriceElement

DDL: A_SERVICEORDERPRICEELEMENT Type: view COMPOSITE

Price Element of Service Order

A_ServiceOrderPriceElement is a Composite CDS View that provides data about "Price Element of Service Order" in SAP S/4HANA. It reads from 2 data sources (I_PricingElement, I_ServiceDocumentEnhcd) and exposes 9 fields with key fields ServiceOrder, PricingProcedureStep, PricingProcedureCounter. It has 1 association to related views.

Data Sources (2)

SourceAliasJoin Type
I_PricingElement PricingElement from
I_ServiceDocumentEnhcd ServiceOrder inner

Associations (1)

CardinalityTargetAliasCondition
[1..1] A_ServiceOrder _ServiceOrder $projection.ServiceOrder = _ServiceOrder.ServiceOrder

Annotations (14)

NameValueLevelField
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Price Element of Service Order view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #PUBLIC_REMOTE_API view
AbapCatalog.sqlViewName ASRVORDPRELEMENT view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
ObjectModel.createEnabled true view
ObjectModel.updateEnabled true view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #B view
ObjectModel.usageType.sizeCategory #XXL view
Metadata.ignorePropagatedAnnotations true view

Fields (9)

KeyFieldSource TableSource FieldDescription
KEY ServiceOrder I_ServiceDocumentEnhcd ServiceDocument
KEY PricingProcedureStep PricingProcedureStep
KEY PricingProcedureCounter PricingProcedureCounter
ConditionType ConditionType
ConditionRateValue ConditionRateValue
ConditionCurrency ConditionCurrency
ConditionQuantity ConditionQuantity
ConditionQuantityUnit ConditionQuantityUnit
_ServiceOrder _ServiceOrder
@ClientHandling.algorithm:#SESSION_VARIABLE
@EndUserText.label: 'Price Element of Service Order'
@VDM: {
  viewType: #COMPOSITE,
  lifecycle.contract.type: #PUBLIC_REMOTE_API
}
@AbapCatalog: {
  sqlViewName: 'ASRVORDPRELEMENT',
  compiler.compareFilter: true,
  preserveKey: true
}
@AccessControl: {
  authorizationCheck: #CHECK,
  personalData.blocking: #('TRANSACTIONAL_DATA')
}
@ObjectModel: {
   createEnabled: true,
   updateEnabled: true,
   usageType: {
     dataClass:      #TRANSACTIONAL,
     serviceQuality: #B,
     sizeCategory:   #XXL
   }
}
@Metadata.ignorePropagatedAnnotations: true

define view A_ServiceOrderPriceElement
  as select from I_PricingElement       as PricingElement
    inner join   I_ServiceDocumentEnhcd as ServiceOrder on  ServiceOrder.PricingDocument   = PricingElement.PricingDocument
                                                        and ServiceOrder.ServiceObjectType = 'BUS2000116'

  association [1..1] to A_ServiceOrder as _ServiceOrder on $projection.ServiceOrder = _ServiceOrder.ServiceOrder

{
        @ObjectModel.readOnly: true
    key ServiceOrder.ServiceDocument    as ServiceOrder,

    key PricingProcedureStep,
    key PricingProcedureCounter,

        ConditionType,

        //@ObjectModel.readOnly: true

        //PricingDateTime,


        //@ObjectModel.readOnly: true

        //ConditionCalculationType,


        //@ObjectModel.readOnly: true

        //ConditionBaseValue,


        ConditionRateValue,

        ConditionCurrency,

        //PriceDetnExchangeRate,


        @Semantics.quantity.unitOfMeasure: 'ConditionQuantityUnit'
        ConditionQuantity,

        @Semantics.unitOfMeasure: true
        ConditionQuantityUnit,

          //Expose associations

        _ServiceOrder
}
where
  PricingDocumentItem = '000000' //Ignore Item conditions

/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PRICINGELEMENT",
"I_SERVICEDOCUMENTENHCD"
],
"ASSOCIATED":
[
"A_SERVICEORDER"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/