C_ServiceOrderItemDEX

DDL: C_SERVICEORDERITEMDEX Type: view CONSUMPTION

Data Extraction for Service Order

C_ServiceOrderItemDEX is a Consumption CDS View (Fact) that provides data about "Data Extraction for Service Order" in SAP S/4HANA. It reads from 1 data source (I_ServiceDocumentItemEnhcd) and exposes 136 fields with key fields ServiceObjectType, ServiceDocument, ServiceDocumentItem. It has 2 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_ServiceDocumentItemEnhcd ServiceOrderItem from

Associations (2)

CardinalityTargetAliasCondition
[0..1] E_ServiceDocumentItem _ServiceDocItemExt $projection.ServiceObjectType = _ServiceDocItemExt.ServiceCategory and $projection.ServiceDocument = _ServiceDocItemExt.ServiceOrderItem and $projection.ServiceDocumentItem = _ServiceDocItemExt.ServiceLineExternalID
[0..1] E_ServiceDocument _ServiceDocumentExt $projection.ServiceObjectType = _ServiceDocumentExt.ServiceCategory and $projection.ServiceDocument = _ServiceDocumentExt.ServiceOrder

Annotations (15)

NameValueLevelField
EndUserText.label Data Extraction for Service Order view
ClientHandling.algorithm #SESSION_VARIABLE view
AbapCatalog.sqlViewName CSRVCORDITMDEX view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
VDM.viewType #CONSUMPTION view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
Analytics.dataCategory #FACT view
Analytics.dataExtraction.enabled true view
AccessControl.authorizationCheck #CHECK view
ObjectModel.representativeKey ServiceDocumentItem view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
Metadata.ignorePropagatedAnnotations true view

Fields (136)

KeyFieldSource TableSource FieldDescription
KEY ServiceObjectType I_ServiceDocumentItemEnhcd ServiceObjectType
KEY ServiceDocument I_ServiceDocumentItemEnhcd ServiceDocument
KEY ServiceDocumentItem I_ServiceDocumentItemEnhcd ServiceDocumentItem
ServiceDocumentUUID ServiceOrder ServiceDocumentUUID
ServiceDocumentCharUUID ServiceOrder ServiceDocumentCharUUID
ServiceDocumentDescription ServiceOrder ServiceDocumentDescription
ServiceDocNetAmount ServiceOrder ServiceDocNetAmount
PurchaseOrderByCustomer ServiceOrder PurchaseOrderByCustomer
ServiceDocumentStatus ServiceOrder ServiceDocumentStatus
ServiceDocumentIsReleased ServiceOrder ServiceDocumentIsReleased
ServiceDocumentIsQuotation ServiceOrder ServiceDocumentIsQuotation
ServiceDocumentHasError ServiceOrder ServiceDocumentHasError
ServiceDocIsReleasedForBilling ServiceOrder ServiceDocIsReleasedForBilling
ServiceDocumentIsRejected ServiceOrder ServiceDocumentIsRejected
ServiceDocBillingStatus ServiceOrder ServiceDocBillingStatus
ServiceDocumentIsOpen ServiceOrder ServiceDocumentIsOpen
BusinessActivityCategory ServiceOrder BusinessActivityCategory
ServiceDocChangedDateTime ServiceOrder ServiceDocChangedDateTime
ServiceDocCreationDateTime ServiceOrder ServiceDocCreationDateTime
ServiceDocumentUrgency ServiceOrder ServiceDocumentUrgency
ServiceDocumentImpact ServiceOrder ServiceDocumentImpact
ServiceDocumentProblemCategory ServiceOrder ServiceDocumentProblemCategory
RecommendedServicePriority ServiceOrder RecommendedServicePriority
ServiceEscalationLevel ServiceOrder ServiceEscalationLevel
ServiceRisk ServiceOrder ServiceRisk
RequestedServiceStartDate ServiceOrder RequestedServiceStartDate
RequestedServiceEndDate ServiceOrder RequestedServiceEndDate
ServiceDocumentItemPriority I_ServiceDocumentItemEnhcd ServiceDocumentItemPriority
ServiceDocumentType I_ServiceDocumentItemEnhcd ServiceDocumentType
ServiceDocumentItemUUID I_ServiceDocumentItemEnhcd ServiceDocumentItemUUID
ServiceDocumentItemCharUUID I_ServiceDocumentItemEnhcd ServiceDocumentItemCharUUID
ServiceDocumentItemObjectType I_ServiceDocumentItemEnhcd ServiceDocumentItemObjectType
ParentServiceDocumentItemUUID I_ServiceDocumentItemEnhcd ParentServiceDocumentItemUUID
PostingDate I_ServiceDocumentItemEnhcd PostingDate
ProfitCenter I_ServiceDocumentItemEnhcd ProfitCenter
ControllingArea I_ServiceDocumentItemEnhcd ControllingArea
ProfitCenterDeterminationDate I_ServiceDocumentItemEnhcd ProfitCenterDeterminationDate
ServiceDocItemCategory I_ServiceDocumentItemEnhcd ServiceDocItemCategory
OriginallyRequestedProduct I_ServiceDocumentItemEnhcd OriginallyRequestedProduct
Product I_ServiceDocumentItemEnhcd Product
PlannedServiceStartDateTime I_ServiceDocumentItemEnhcd PlannedServiceStartDateTime
PlannedServiceEndDateTime I_ServiceDocumentItemEnhcd PlannedServiceEndDateTime
SrvcOrderConfirmationRelevance I_ServiceDocumentItemEnhcd SrvcOrderConfirmationRelevance
InvoiceAmountInInvoiceDocCrcy I_ServiceDocumentItemEnhcd InvoiceAmountInInvoiceDocCrcy
SrvcDocItmRequestedQuantity I_ServiceDocumentItemEnhcd SrvcDocItmRequestedQuantity
InvoiceQuantity I_ServiceDocumentItemEnhcd InvoiceQuantity
SrvcDocItmDeliveredQuantity I_ServiceDocumentItemEnhcd SrvcDocItmDeliveredQuantity
SrvcDocItmReleasedQuantity I_ServiceDocumentItemEnhcd SrvcDocItmReleasedQuantity
SrvcDocItmReldAmtInTransCrcy I_ServiceDocumentItemEnhcd SrvcDocItmReldAmtInTransCrcy
ServiceDocumentItemQuantity I_ServiceDocumentItemEnhcd ServiceDocumentItemQuantity
SrvcDocItmOrdToBaseQtyNmrtr I_ServiceDocumentItemEnhcd SrvcDocItmOrdToBaseQtyNmrtr
SrvcDocItmOrdToBaseQtyDnmntr I_ServiceDocumentItemEnhcd SrvcDocItmOrdToBaseQtyDnmntr
OrderToBaseQuantityExponent I_ServiceDocumentItemEnhcd OrderToBaseQuantityExponent
ServiceDocItemQuantityUnit I_ServiceDocumentItemEnhcd ServiceDocItemQuantityUnit
SrvcDocItemBaseQuantityUnit I_ServiceDocumentItemEnhcd SrvcDocItemBaseQuantityUnit
ServiceTeam I_ServiceDocumentItemEnhcd ServiceTeam
SoldToParty I_ServiceDocumentItemEnhcd SoldToParty
SoldToPartyCountry I_ServiceDocumentItemEnhcd SoldToPartyCountry
SoldToPartyRegion I_ServiceDocumentItemEnhcd SoldToPartyRegion
ResponsibleEmployee I_ServiceDocumentItemEnhcd ResponsibleEmployee
ContactPerson I_ServiceDocumentItemEnhcd ContactPerson
TransactionCurrency I_ServiceDocumentItemEnhcd TransactionCurrency
StatisticsCurrency I_ServiceDocumentItemEnhcd StatisticsCurrency
ExchangeRateType I_ServiceDocumentItemEnhcd ExchangeRateType
ExchangeRateDate I_ServiceDocumentItemEnhcd ExchangeRateDate
AccountingExchangeRate I_ServiceDocumentItemEnhcd AccountingExchangeRate
CustomerGroup I_ServiceDocumentItemEnhcd CustomerGroup
BillableControl I_ServiceDocumentItemEnhcd BillableControl
BillingBlockReason I_ServiceDocumentItemEnhcd BillingBlockReason
AdditionalCustomerGroup1 I_ServiceDocumentItemEnhcd AdditionalCustomerGroup1
AdditionalCustomerGroup2 I_ServiceDocumentItemEnhcd AdditionalCustomerGroup2
AdditionalCustomerGroup3 I_ServiceDocumentItemEnhcd AdditionalCustomerGroup3
AdditionalCustomerGroup4 I_ServiceDocumentItemEnhcd AdditionalCustomerGroup4
AdditionalCustomerGroup5 I_ServiceDocumentItemEnhcd AdditionalCustomerGroup5
SalesOrganizationOrgUnitID I_ServiceDocumentItemEnhcd SalesOrganizationOrgUnitID
SalesOfficeOrgUnitID I_ServiceDocumentItemEnhcd SalesOfficeOrgUnitID
SalesGroupOrgUnitID I_ServiceDocumentItemEnhcd SalesGroupOrgUnitID
DistributionChannel I_ServiceDocumentItemEnhcd DistributionChannel
Division I_ServiceDocumentItemEnhcd Division
ServiceOrganization I_ServiceDocumentItemEnhcd ServiceOrganization
ResponsibleSalesOrganization I_ServiceDocumentItemEnhcd ResponsibleSalesOrganization
ResponsibleServiceOrganization I_ServiceDocumentItemEnhcd ResponsibleServiceOrganization
SalesOrganization I_ServiceDocumentItemEnhcd SalesOrganization
SalesOffice I_ServiceDocumentItemEnhcd SalesOffice
SalesGroup I_ServiceDocumentItemEnhcd SalesGroup
ServiceDurationUnit I_ServiceDocumentItemEnhcd ServiceDurationUnit
ServiceDuration I_ServiceDocumentItemEnhcd ServiceDuration
ServiceDocumentItemStatus I_ServiceDocumentItemEnhcd ServiceDocumentItemStatus
ServiceDocumentItemIsReleased I_ServiceDocumentItemEnhcd ServiceDocumentItemIsReleased
ServiceDocumentItemIsQuotation I_ServiceDocumentItemEnhcd ServiceDocumentItemIsQuotation
ServiceDocumentItemHasError I_ServiceDocumentItemEnhcd ServiceDocumentItemHasError
SrvcDocItmDeliveryStatus I_ServiceDocumentItemEnhcd SrvcDocItmDeliveryStatus
SrvcDocItmGoodsIssueStatus I_ServiceDocumentItemEnhcd SrvcDocItmGoodsIssueStatus
ServiceDocItemBillingStatus I_ServiceDocumentItemEnhcd ServiceDocItemBillingStatus
SrvcDocItmIsReleasedForBilling I_ServiceDocumentItemEnhcd SrvcDocItmIsReleasedForBilling
ServiceDocumentItemIsRejected I_ServiceDocumentItemEnhcd ServiceDocumentItemIsRejected
ServiceDocumentItemIsOpen I_ServiceDocumentItemEnhcd ServiceDocumentItemIsOpen
QuotationIsAccepted I_ServiceDocumentItemEnhcd QuotationIsAccepted
ServiceDocumentItemNetAmount I_ServiceDocumentItemEnhcd ServiceDocumentItemNetAmount
ServiceDocItemGrossAmount I_ServiceDocumentItemEnhcd ServiceDocItemGrossAmount
ProductGroup I_ServiceDocumentItemEnhcd ProductGroup
SrvcMaterialPricingGroup I_ServiceDocumentItemEnhcd ProductGroup
ProductGroup1 I_ServiceDocumentItemEnhcd ProductGroup1
ProductGroup2 I_ServiceDocumentItemEnhcd ProductGroup2
ProductGroup3 I_ServiceDocumentItemEnhcd ProductGroup3
ProductGroup4 I_ServiceDocumentItemEnhcd ProductGroup4
ProductGroup5 I_ServiceDocumentItemEnhcd ProductGroup5
ProductHierarchy I_ServiceDocumentItemEnhcd ProductHierarchy
ServiceRefObjectSequenceNumber ServiceOrdItemRefObj ServiceRefObjectSequenceNumber
ServiceReferenceObjectType ServiceOrdItemRefObj ServiceReferenceObjectType
ServiceReferenceObjectUUID ServiceOrdItemRefObj ServiceReferenceObjectUUID
ProductID ServiceOrdItemRefObj ProductID
SrvcRefObjIsMainObject ServiceOrdItemRefObj SrvcRefObjIsMainObject
ProductUUID ServiceOrdItemRefObj ProductUUID
SerialNumber ServiceOrdItemRefObj SerialNumber
Equipment ServiceOrdItemRefObj Equipment
FunctionalLocation ServiceOrdItemRefObj FunctionalLocation
ServiceDocumentRelationUUID ServiceDocumentPredecessor ServiceDocumentRelationUUID
ServiceDocRltnSequenceNumber ServiceDocumentPredecessor ServiceDocRltnSequenceNumber
ServiceDocumentPredecessorUUID ServiceDocumentPredecessor ServiceDocumentPredecessorUUID
ServiceDocPrdcssrBusObjType ServiceDocumentPredecessor ServiceDocPrdcssrBusObjType
SrvcContrPredecessorUUID ServiceDocumentPredecessor ServiceDocumentPredecessorUUID
SrvcContrPrdcssrBusObjType ServiceDocumentPredecessor ServiceDocPrdcssrBusObjType
ServiceDocumentItmRelationUUID ServiceDocumentItemPrdcssr ServiceDocumentItmRelationUUID
ServiceDocItmRltnSqncNumber ServiceDocumentItemPrdcssr ServiceDocItmRltnSqncNumber
ServiceDocItmPrdcssrCharUUID ServiceDocumentItemPrdcssr ServiceDocItmPrdcssrCharUUID
ServiceDocItmPrdcssrBusObjType ServiceDocumentItemPrdcssr ServiceDocItmPrdcssrBusObjType
SrvcContrItmPrdcssrCharUUID ServiceDocumentItemPrdcssr ServiceDocItmPrdcssrCharUUID
SrvcContrItmPrdcssrBusObjType ServiceDocumentItemPrdcssr ServiceDocItmPrdcssrBusObjType
RefBusinessSolutionOrder I_ServiceDocumentItemEnhcd RefBusinessSolutionOrder
RefBusinessSolutionOrderItem I_ServiceDocumentItemEnhcd RefBusinessSolutionOrderItem
_ServiceObjType _ServiceObjType
_ServiceDocument _ServiceDocument
_BaseUnit_2 _BaseUnit_2
_SalesUnit _SalesUnit
_TransactionCurrency _TransactionCurrency
@EndUserText.label: 'Data Extraction for Service Order'
@ClientHandling.algorithm: #SESSION_VARIABLE
@AbapCatalog: {
  sqlViewName: 'CSRVCORDITMDEX',
  compiler.compareFilter: true,
  preserveKey: true
}
@VDM: {
  viewType: #CONSUMPTION,
  lifecycle.contract.type: #PUBLIC_LOCAL_API
}
@Analytics: {
    dataCategory: #FACT,
    dataExtraction: {
        enabled: true,
        delta.changeDataCapture: {
            mapping:[
                {
                   filter: [{operator: #EQ, tableElement: 'objtype_h', value: 'BUS2000116'}],
                    table: 'crms4d_serv_i', role: #MAIN,
                    viewElement: ['ServiceObjectType', 'ServiceDocument', 'ServiceDocumentItem'],
                    tableElement: ['objtype_h', 'object_id', 'number_int']
                },
                {
                    filter: [{operator: #EQ, tableElement: 'objtype_h', value: 'BUS2000116'}],
                    table: 'crms4d_serv_h', role: #LEFT_OUTER_TO_ONE_JOIN,
                    viewElement: ['ServiceObjectType', 'ServiceDocument'],
                    tableElement: ['objtype_h', 'object_id']
                },
                {
                    filter: [{operator: #EQ, tableElement: 'objtype_h', value: 'BUS2000116'}],
                    table: 'crms4d_refobj', role: #LEFT_OUTER_TO_ONE_JOIN,
                    viewElement: ['ServiceObjectType', 'ServiceDocument','ServiceDocumentItem','ServiceRefObjectSequenceNumber'],
                    tableElement: ['objtype_h', 'object_id','number_int','counter']
                },
                {
//                    filter: [{operator: #EQ, tableElement: 'objtype_b_sel', value: 'BUS2000116'}],

                    table: 'crmd_brelvonae', role: #LEFT_OUTER_TO_ONE_JOIN,
                    viewElement: ['ServiceDocumentRelationUUID', 'ServiceDocRltnSequenceNumber'],
                    tableElement: ['relationid', 'posno']
                },
                {
//                   filter: [{operator: #EQ, tableElement: 'objtype_b', value: 'BUS2000116'}],

                    table: 'crmd_brelvonai', role: #LEFT_OUTER_TO_ONE_JOIN,
                    viewElement: ['ServiceDocumentItmRelationUUID', 'ServiceDocItmRltnSqncNumber'],
                    tableElement: ['relationid', 'posno']
                }
                
/* Changes removed
//                {

////                    filter: [{operator: #EQ, tableElement: 'objtype_b_sel', value: 'BUS2000116'}],

//                    table: 'crmd_brelvonae', role: #LEFT_OUTER_TO_ONE_JOIN,

//                    viewElement: ['ServiceDocumentRelationUUID', 'ServiceDocRltnSequenceNumber'],

//                    tableElement: ['relationid', 'posno']

//                },

//                {

////                   filter: [{operator: #EQ, tableElement: 'objtype_b', value: 'BUS2000116'}],

//                    table: 'crmd_brelvonai', role: #LEFT_OUTER_TO_ONE_JOIN,

//                    viewElement: ['ServiceDocumentItmRelationUUID', 'ServiceDocItmRltnSqncNumber'],

//                    tableElement: ['relationid', 'posno']

//                }

*/
            ]
        }
    }
 }
@AccessControl: {
  authorizationCheck: #CHECK,
  personalData.blocking: #('TRANSACTIONAL_DATA')
}
@ObjectModel: {
  representativeKey: 'ServiceDocumentItem',
   usageType: {
     dataClass:      #TRANSACTIONAL,
     serviceQuality: #D,
     sizeCategory:   #XL
   },
   supportedCapabilities: [#EXTRACTION_DATA_SOURCE]
}
@Metadata.ignorePropagatedAnnotations: true

/*
  Service Order Extractor
  Note:
    1. Following Service Orders are extracted [excluding Quotations]
       a. Service Order
       b. Service Order Template
    2. Service Order Items along with some Header fields are projected
    3. BW extracts all projected fields and performance is not relevant
    4. Out of box predecessor UUID fields are projected which indicates Service Contract only.
        For any other predecessor types you may have to join explicitly!

*/

define view C_ServiceOrderItemDEX
  as select from           I_ServiceDocumentItemEnhcd     as ServiceOrderItem
    left outer to one join I_ServiceDocumentEnhcd         as ServiceOrder               on  ServiceOrder.ServiceObjectType     = 'BUS2000116'
                                                                                        and ServiceOrderItem.ServiceObjectType = 'BUS2000116'
                                                                                        and ServiceOrderItem.ServiceDocument   = ServiceOrder.ServiceDocument

    left outer to one join I_ServiceDocumentRefObject     as ServiceOrdItemRefObj       on  ServiceOrdItemRefObj.ServiceObjectType      = 'BUS2000116'
                                                                                        and ServiceOrdItemRefObj.ServiceDocument        = ServiceOrderItem.ServiceDocument
                                                                                        and ServiceOrdItemRefObj.ServiceDocumentItem    = ServiceOrderItem.ServiceDocumentItem
                                                                                        and ServiceOrdItemRefObj.SrvcRefObjIsMainObject = 'X'

    left outer to one join I_ServiceDocumentItemPrdcssr_2 as ServiceDocumentItemPrdcssr on  ServiceOrderItem.ServiceDocumentItemCharUUID   = ServiceDocumentItemPrdcssr.ServiceDocumentItemCharUUID
                                                                                        and ServiceOrderItem.ServiceDocumentItemObjectType = ServiceDocumentItemPrdcssr.ServiceDocumentItemObjectType
                                                                                        
/* Changes removed
    left outer to one join I_ServiceDocumentItemPrdcssr_2 as ServiceContractItemPrdcssr on  ServiceOrderItem.ServiceDocumentItemCharUUID   = ServiceContractItemPrdcssr.ServiceDocumentItemCharUUID
                                                                                        and ServiceOrderItem.ServiceDocumentItemObjectType = ServiceContractItemPrdcssr.ServiceDocumentItemObjectType
                                                                                        and ServiceOrderItem.ServiceDocumentItemObjectType = 'BUS2000137'
                                                                                        
*/
    left outer to one join I_ServiceDocumentPredecessor   as ServiceDocumentPredecessor on  ServiceOrder.ServiceDocumentUUID                       = ServiceDocumentPredecessor.ServiceDocumentUUID
                                                                                        and ServiceOrder.ServiceObjectType                         = ServiceDocumentPredecessor.ServiceObjectType
                                                                                        and ServiceDocumentPredecessor.ServiceDocPrdcssrBusObjType = 'BUS2000112'

  association [0..1] to E_ServiceDocumentItem as _ServiceDocItemExt  on  $projection.ServiceObjectType   = _ServiceDocItemExt.ServiceCategory
                                                                     and $projection.ServiceDocument     = _ServiceDocItemExt.ServiceOrderItem
                                                                     and $projection.ServiceDocumentItem = _ServiceDocItemExt.ServiceLineExternalID

  association [0..1] to E_ServiceDocument     as _ServiceDocumentExt on  $projection.ServiceObjectType = _ServiceDocumentExt.ServiceCategory
                                                                     and $projection.ServiceDocument   = _ServiceDocumentExt.ServiceOrder


{
      /* Service Order Item Keys  */
      @ObjectModel.foreignKey.association: '_ServiceObjType'
  key ServiceOrderItem.ServiceObjectType,
      @ObjectModel.foreignKey.association: '_ServiceDocument'
  key ServiceOrderItem.ServiceDocument,
  key ServiceOrderItem.ServiceDocumentItem,

      /* Header Details */
      ServiceOrder.ServiceDocumentUUID,
      ServiceOrder.ServiceDocumentCharUUID,
      ServiceOrder.ServiceDocumentDescription,
      @Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
      ServiceOrder.ServiceDocNetAmount,
      ServiceOrder.PurchaseOrderByCustomer,
      ServiceOrder.ServiceDocumentStatus,
      @Semantics.booleanIndicator: true
      ServiceOrder.ServiceDocumentIsReleased,
      @Semantics.booleanIndicator: true
      ServiceOrder.ServiceDocumentIsQuotation,
      @Semantics.booleanIndicator: true
      ServiceOrder.ServiceDocumentHasError,
      //      ServiceOrderItem.SrvcDocItmDeliveryStatus,

      //      ServiceOrderItem.SrvcDocItmGoodsIssueStatus,

      @Semantics.booleanIndicator: true
      ServiceOrder.ServiceDocIsReleasedForBilling,
      @Semantics.booleanIndicator: true
      ServiceOrder.ServiceDocumentIsRejected,
      //      ServiceOrderItem.QuotationIsAccepted,

      ServiceOrder.ServiceDocBillingStatus,
      ServiceOrder.ServiceDocumentIsOpen,
      ServiceOrder.BusinessActivityCategory,
      ServiceOrder.ServiceDocChangedDateTime,
      ServiceOrder.ServiceDocCreationDateTime,
      ServiceOrder.ServiceDocumentUrgency,
      ServiceOrder.ServiceDocumentImpact,
      ServiceOrder.ServiceDocumentProblemCategory,
      ServiceOrder.RecommendedServicePriority,
      ServiceOrder.ServiceEscalationLevel,
      ServiceOrder.ServiceRisk,
      ServiceOrder.RequestedServiceStartDate,
      ServiceOrder.RequestedServiceEndDate,

      /* Item Details */
      ServiceOrderItem.ServiceDocumentItemPriority,
      ServiceOrderItem.ServiceDocumentType,
      ServiceOrderItem.ServiceDocumentItemUUID,
      ServiceOrderItem.ServiceDocumentItemCharUUID,
      ServiceOrderItem.ServiceDocumentItemObjectType,
      ServiceOrderItem.ParentServiceDocumentItemUUID,
      ServiceOrderItem.PostingDate,
      ServiceOrderItem.ProfitCenter,
      ServiceOrderItem.ControllingArea,
      ServiceOrderItem.ProfitCenterDeterminationDate,
      ServiceOrderItem.ServiceDocItemCategory,
      ServiceOrderItem.OriginallyRequestedProduct,
      ServiceOrderItem.Product,
      ServiceOrderItem.PlannedServiceStartDateTime,
      ServiceOrderItem.PlannedServiceEndDateTime,
      ServiceOrderItem.SrvcOrderConfirmationRelevance,

      /* Item - Cumulated Value */
      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
      ServiceOrderItem.InvoiceAmountInInvoiceDocCrcy,
      @Semantics: { quantity : {unitOfMeasure: 'ServiceDocItemQuantityUnit'} }
      ServiceOrderItem.SrvcDocItmRequestedQuantity,
      @Semantics: { quantity : {unitOfMeasure: 'ServiceDocItemQuantityUnit'} }
      ServiceOrderItem.InvoiceQuantity,
      @Semantics: { quantity : {unitOfMeasure: 'ServiceDocItemQuantityUnit'} }
      ServiceOrderItem.SrvcDocItmDeliveredQuantity,
      @Semantics: { quantity : {unitOfMeasure: 'ServiceDocItemQuantityUnit'} }
      ServiceOrderItem.SrvcDocItmReleasedQuantity,
      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
      ServiceOrderItem.SrvcDocItmReldAmtInTransCrcy,

      /* Item - Schedule Line */
      @DefaultAggregation: #SUM
      @Semantics: { quantity : {unitOfMeasure: 'ServiceDocItemQuantityUnit'} }
      ServiceOrderItem.ServiceDocumentItemQuantity,

      /* Item - Product */
      ServiceOrderItem.SrvcDocItmOrdToBaseQtyNmrtr,
      ServiceOrderItem.SrvcDocItmOrdToBaseQtyDnmntr,
      ServiceOrderItem.OrderToBaseQuantityExponent,
      @ObjectModel.foreignKey.association: '_SalesUnit'
      @Semantics.unitOfMeasure:true
      ServiceOrderItem.ServiceDocItemQuantityUnit,
      @ObjectModel.foreignKey.association: '_BaseUnit_2'
      @Semantics.unitOfMeasure:true
      ServiceOrderItem.SrvcDocItemBaseQuantityUnit,

      /* Partner  */
      ServiceOrderItem.ServiceTeam,
      ServiceOrderItem.SoldToParty,
      ServiceOrderItem.SoldToPartyCountry,
      ServiceOrderItem.SoldToPartyRegion,
      ServiceOrderItem.ResponsibleEmployee,
      ServiceOrderItem.ContactPerson,

      /* Pricing Parameter Set */
      @ObjectModel.foreignKey.association: '_TransactionCurrency'
      @Semantics.currencyCode:true
      ServiceOrderItem.TransactionCurrency,
      @Semantics.currencyCode:true
      ServiceOrderItem.StatisticsCurrency,
      ServiceOrderItem.ExchangeRateType,
      ServiceOrderItem.ExchangeRateDate,
      ServiceOrderItem.AccountingExchangeRate,
      ServiceOrderItem.CustomerGroup,
      ServiceOrderItem.BillableControl,

      /* Billing Set */
      ServiceOrderItem.BillingBlockReason,

      /* Item - Sales Set */
      ServiceOrderItem.AdditionalCustomerGroup1,
      ServiceOrderItem.AdditionalCustomerGroup2,
      ServiceOrderItem.AdditionalCustomerGroup3,
      ServiceOrderItem.AdditionalCustomerGroup4,
      ServiceOrderItem.AdditionalCustomerGroup5,

      /* Organization Unit Set */
      ServiceOrderItem.SalesOrganizationOrgUnitID,
      ServiceOrderItem.SalesOfficeOrgUnitID,
      ServiceOrderItem.SalesGroupOrgUnitID,
      ServiceOrderItem.DistributionChannel,
      ServiceOrderItem.Division,
      ServiceOrderItem.ServiceOrganization,
      ServiceOrderItem.ResponsibleSalesOrganization,
      ServiceOrderItem.ResponsibleServiceOrganization,

      /* Organizational units with the S/4 SD codes */
      ServiceOrderItem.SalesOrganization,
      ServiceOrderItem.SalesOffice,
      ServiceOrderItem.SalesGroup,

      /* Item - Service */
      ServiceOrderItem.ServiceDurationUnit,
      ServiceOrderItem.ServiceDuration,

      /* Status */
      ServiceOrderItem.ServiceDocumentItemStatus,
      ServiceOrderItem.ServiceDocumentItemIsReleased,
      ServiceOrderItem.ServiceDocumentItemIsQuotation,
      ServiceOrderItem.ServiceDocumentItemHasError,
      ServiceOrderItem.SrvcDocItmDeliveryStatus,
      ServiceOrderItem.SrvcDocItmGoodsIssueStatus,
      ServiceOrderItem.ServiceDocItemBillingStatus,
      ServiceOrderItem.SrvcDocItmIsReleasedForBilling,
      ServiceOrderItem.ServiceDocumentItemIsRejected,
      ServiceOrderItem.ServiceDocumentItemIsOpen,
      ServiceOrderItem.QuotationIsAccepted,

      /* Item - Pricing */
      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
      ServiceOrderItem.ServiceDocumentItemNetAmount,
      @DefaultAggregation: #SUM
      @Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
      ServiceOrderItem.ServiceDocItemGrossAmount,

      /* Item Product */
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: 'SrvcMaterialPricingGroup'
      ServiceOrderItem.ProductGroup,
      ServiceOrderItem.ProductGroup                             as SrvcMaterialPricingGroup,
      ServiceOrderItem.ProductGroup1,
      ServiceOrderItem.ProductGroup2,
      ServiceOrderItem.ProductGroup3,
      ServiceOrderItem.ProductGroup4,
      ServiceOrderItem.ProductGroup5,
      ServiceOrderItem.ProductHierarchy,

      /* Service Subject */
      //      ServiceOrderItem.ServiceSchema1Category1UUID,

      //      ServiceOrderItem.ServiceSchema1Category2UUID,

      //      ServiceOrderItem.ServiceSchema1Category3UUID,

      //      ServiceOrderItem.ServiceSchema1Category4UUID,

      //      ServiceOrderItem.ServiceSchema1Category5UUID,

      //      ServiceOrderItem.ServiceSchema1Category6UUID,

      //      ServiceOrderItem.ServiceSchema1Category7UUID,

      //      ServiceOrderItem.ServiceSchema1Category8UUID,

      //      ServiceOrderItem.ServiceSchema1Category9UUID,

      //      ServiceOrderItem.ServiceSchema1Category10UUID,

      //      ServiceOrderItem.SrvcCatztnSchema1,

      //      ServiceOrderItem.SrvcCatztnSchemaCategory1,

      //

      //      ServiceOrderItem.ServiceSchema2Category1UUID,

      //      ServiceOrderItem.ServiceSchema2Category2UUID,

      //      ServiceOrderItem.ServiceSchema2Category3UUID,

      //      ServiceOrderItem.ServiceSchema2Category4UUID,

      //      ServiceOrderItem.ServiceSchema2Category5UUID,

      //      ServiceOrderItem.ServiceSchema2Category6UUID,

      //      ServiceOrderItem.ServiceSchema2Category7UUID,

      //      ServiceOrderItem.ServiceSchema2Category8UUID,

      //      ServiceOrderItem.ServiceSchema2Category9UUID,

      //      ServiceOrderItem.ServiceSchema2Category10UUID,

      //      ServiceOrderItem.SrvcCatztnSchema2,

      //      ServiceOrderItem.SrvcCatztnSchemaCategory2,


      /* Reference Object Details */
      ServiceOrdItemRefObj.ServiceRefObjectSequenceNumber,
      ServiceOrdItemRefObj.ServiceReferenceObjectType,
      ServiceOrdItemRefObj.ServiceReferenceObjectUUID,
      ServiceOrdItemRefObj.ProductID,
      ServiceOrdItemRefObj.SrvcRefObjIsMainObject,
      ServiceOrdItemRefObj.ProductUUID,
      ServiceOrdItemRefObj.SerialNumber,
      ServiceOrdItemRefObj.Equipment,
      ServiceOrdItemRefObj.FunctionalLocation,

      /* Predecessor fields */
      ServiceDocumentPredecessor.ServiceDocumentRelationUUID,
      ServiceDocumentPredecessor.ServiceDocRltnSequenceNumber,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: 'SrvcContrPredecessorUUID'
      ServiceDocumentPredecessor.ServiceDocumentPredecessorUUID,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: 'SrvcContrPrdcssrBusObjType'
      ServiceDocumentPredecessor.ServiceDocPrdcssrBusObjType,
      ServiceDocumentPredecessor.ServiceDocumentPredecessorUUID as SrvcContrPredecessorUUID,
      ServiceDocumentPredecessor.ServiceDocPrdcssrBusObjType    as SrvcContrPrdcssrBusObjType,
      ServiceDocumentItemPrdcssr.ServiceDocumentItmRelationUUID,
      ServiceDocumentItemPrdcssr.ServiceDocItmRltnSqncNumber,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: 'SrvcContrItmPrdcssrCharUUID'
      ServiceDocumentItemPrdcssr.ServiceDocItmPrdcssrCharUUID,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: 'SrvcContrItmPrdcssrBusObjType'
      ServiceDocumentItemPrdcssr.ServiceDocItmPrdcssrBusObjType,
      ServiceDocumentItemPrdcssr.ServiceDocItmPrdcssrCharUUID   as SrvcContrItmPrdcssrCharUUID,
      ServiceDocumentItemPrdcssr.ServiceDocItmPrdcssrBusObjType as SrvcContrItmPrdcssrBusObjType,

/* Changes removed
      @API.element.releaseState: #DEPRECATED
      ServiceDocumentPredecessor.ServiceDocumentRelationUUID,
      @API.element.releaseState: #DEPRECATED
      ServiceDocumentPredecessor.ServiceDocRltnSequenceNumber,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: 'SrvcContrPredecessorUUID'
      ServiceDocumentPredecessor.ServiceDocumentPredecessorUUID,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: 'SrvcContrPrdcssrBusObjType'
      ServiceDocumentPredecessor.ServiceDocPrdcssrBusObjType,
      ServiceDocumentPredecessor.ServiceDocumentPredecessorUUID as SrvcContrPredecessorUUID,
      ServiceDocumentPredecessor.ServiceDocPrdcssrBusObjType    as SrvcContrPrdcssrBusObjType,
      @API.element.releaseState: #DEPRECATED
      ServiceDocumentItemPrdcssr.ServiceDocumentItmRelationUUID,
      @API.element.releaseState: #DEPRECATED
      ServiceDocumentItemPrdcssr.ServiceDocItmRltnSqncNumber,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: 'SrvcContrItmPrdcssrCharUUID'
      ServiceDocumentItemPrdcssr.ServiceDocItmPrdcssrCharUUID,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: 'SrvcContrItmPrdcssrBusObjType'
      ServiceDocumentItemPrdcssr.ServiceDocItmPrdcssrBusObjType,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: 'SrvcContrItmPrdcssrCharUUID_2'
      ServiceDocumentItemPrdcssr.ServiceDocItmPrdcssrCharUUID   as SrvcContrItmPrdcssrCharUUID,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: 'SrvcContrItmPrdcssrBusObjType_2'
      ServiceDocumentItemPrdcssr.ServiceDocItmPrdcssrBusObjType as SrvcContrItmPrdcssrBusObjType,
      ServiceContractItemPrdcssr.ServiceDocItmPrdcssrCharUUID   as SrvcContrItmPrdcssrCharUUID_2,
      ServiceContractItemPrdcssr.ServiceDocItmPrdcssrBusObjType as SrvcContrItmPrdcssrBusObj_2,
*/

      /* Solution Order */
      ServiceOrderItem.RefBusinessSolutionOrder,
      ServiceOrderItem.RefBusinessSolutionOrderItem,

      /*  Associations  */
      /* Keys */
      _ServiceObjType,
      _ServiceDocument,

      /* Item - Product */
      _BaseUnit_2,
      _SalesUnit,

      /* Pricing Parameter Set */
      _TransactionCurrency

}
where
      ServiceOrderItem.ServiceObjectType = 'BUS2000116'
  and ServiceOrderItem.ServiceDocumentItemIsQuotation != 'X'
  and ServiceOrder.ServiceDocumentIsQuotation != 'X'
  and ServiceOrderItem.ServiceDocumentTemplateType is initial