C_ServiceContractItemDEX

DDL: C_SERVICECONTRACTITEMDEX Type: view_entity CONSUMPTION Package: CRMS4_ANALYTICS_DEX

Data Extraction for Service Contract

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

Data Sources (1)

SourceAliasJoin Type
I_ServiceDocumentItemEnhcd ServiceContractItem 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 (13)

NameValueLevelField
EndUserText.label Data Extraction for Service Contract view
VDM.viewType #CONSUMPTION view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
Analytics.dataCategory #FACT view
Analytics.dataExtraction.enabled true view
Analytics.technicalName CSRVCCONTRITMDEX view
AccessControl.authorizationCheck #CHECK view
ObjectModel.representativeKey ServiceDocumentItem view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.sapObjectNodeType.name ServiceContractItem view
Metadata.ignorePropagatedAnnotations true view

Fields (142)

KeyFieldSource TableSource FieldDescription
KEY ServiceObjectType I_ServiceDocumentItemEnhcd ServiceObjectType
KEY ServiceDocument I_ServiceDocumentItemEnhcd ServiceDocument
KEY ServiceDocumentItem I_ServiceDocumentItemEnhcd ServiceDocumentItem
ServiceDocumentUUID ServiceContract ServiceDocumentUUID
ServiceDocumentCharUUID ServiceContract ServiceDocumentCharUUID
ServiceDocumentDescription ServiceContract ServiceDocumentDescription
ServiceDocNetAmount ServiceContract ServiceDocNetAmount
PurchaseOrderByCustomer ServiceContract PurchaseOrderByCustomer
ServiceDocumentStatus ServiceContract ServiceDocumentStatus
ServiceDocumentIsReleased ServiceContract ServiceDocumentIsReleased
ServiceDocumentIsQuotation ServiceContract ServiceDocumentIsQuotation
ServiceDocumentHasError ServiceContract ServiceDocumentHasError
ServiceDocIsReleasedForBilling ServiceContract ServiceDocIsReleasedForBilling
ServiceDocumentIsRejected ServiceContract ServiceDocumentIsRejected
ServiceDocBillingStatus ServiceContract ServiceDocBillingStatus
ServiceDocumentIsOpen ServiceContract ServiceDocumentIsOpen
BusinessActivityCategory ServiceContract BusinessActivityCategory
ServiceDocChangedDateTime ServiceContract ServiceDocChangedDateTime
ServiceDocCreationDateTime ServiceContract ServiceDocCreationDateTime
RecommendedServicePriority ServiceContract RecommendedServicePriority
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
SrvcDocItmPostingDateTime
SrvcDocItmValdtyStartDateTime I_ServiceDocumentItemEnhcd SrvcDocItmValdtyStartDateTime
SrvcDocItmValdtyEndDateTime I_ServiceDocumentItemEnhcd SrvcDocItmValdtyEndDateTime
ProfitCenter I_ServiceDocumentItemEnhcd ProfitCenter
ControllingArea I_ServiceDocumentItemEnhcd ControllingArea
ProfitCenterDeterminationDate I_ServiceDocumentItemEnhcd ProfitCenterDeterminationDate
ServiceDocItemCategory I_ServiceDocumentItemEnhcd ServiceDocItemCategory
OriginallyRequestedProduct I_ServiceDocumentItemEnhcd OriginallyRequestedProduct
Product I_ServiceDocumentItemEnhcd Product
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
ServiceEmployee I_ServiceDocumentItemEnhcd ServiceEmployee
ShipToParty I_ServiceDocumentItemEnhcd ShipToParty
BillToParty I_ServiceDocumentItemEnhcd BillToParty
PayerParty I_ServiceDocumentItemEnhcd PayerParty
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
PaymentTerms I_ServiceDocumentItemEnhcd PaymentTerms
PaymentMethod I_ServiceDocumentItemEnhcd PaymentMethod
WBSElementInternalID I_ServiceDocumentItemEnhcd WBSElementInternalID
SEPAMandate I_ServiceDocumentItemEnhcd SEPAMandate
SrvcSEPAMandateRelevance I_ServiceDocumentItemEnhcd SrvcSEPAMandateRelevance
BillingBlockReason I_ServiceDocumentItemEnhcd BillingBlockReason
AdditionalCustomerGroup1 I_ServiceDocumentItemEnhcd AdditionalCustomerGroup1
AdditionalCustomerGroup2 I_ServiceDocumentItemEnhcd AdditionalCustomerGroup2
AdditionalCustomerGroup3 I_ServiceDocumentItemEnhcd AdditionalCustomerGroup3
AdditionalCustomerGroup4 I_ServiceDocumentItemEnhcd AdditionalCustomerGroup4
AdditionalCustomerGroup5 I_ServiceDocumentItemEnhcd AdditionalCustomerGroup5
ServiceDocItemRejectionReason I_ServiceDocumentItemEnhcd ServiceDocItemRejectionReason
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
ServiceContrItemStartDateTime I_ServiceDocumentItemEnhcd ServiceContrItemStartDateTime
ServiceContrItemEndDateTime I_ServiceDocumentItemEnhcd ServiceContrItemEndDateTime
SrvcContrItemRnwlDuration I_ServiceDocumentItemEnhcd SrvcContrItemRnwlDuration
SrvcContrItemRnwlDurationUnit I_ServiceDocumentItemEnhcd SrvcContrItemRnwlDurationUnit
SrvcContrItemExtensionDuration I_ServiceDocumentItemEnhcd SrvcContrItemExtensionDuration
SrvcContrItemExtnDurationUnit I_ServiceDocumentItemEnhcd SrvcContrItemExtnDurationUnit
ServiceDurationUnit I_ServiceDocumentItemEnhcd ServiceDurationUnit
ServiceDuration I_ServiceDocumentItemEnhcd ServiceDuration
ResponseProfile I_ServiceDocumentItemEnhcd ResponseProfile
ServiceProfile I_ServiceDocumentItemEnhcd ServiceProfile
ServiceDocumentItemStatus I_ServiceDocumentItemEnhcd ServiceDocumentItemStatus
ServiceDocumentItemIsReleased I_ServiceDocumentItemEnhcd ServiceDocumentItemIsReleased
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
ServiceDocumentItemNetAmount I_ServiceDocumentItemEnhcd ServiceDocumentItemNetAmount
ServiceDocItemGrossAmount I_ServiceDocumentItemEnhcd ServiceDocItemGrossAmount
SrvcMaterialPricingGroup I_ServiceDocumentItemEnhcd SrvcMaterialPricingGroup
ProductGroup1 I_ServiceDocumentItemEnhcd ProductGroup1
ProductGroup2 I_ServiceDocumentItemEnhcd ProductGroup2
ProductGroup3 I_ServiceDocumentItemEnhcd ProductGroup3
ProductGroup4 I_ServiceDocumentItemEnhcd ProductGroup4
ProductGroup5 I_ServiceDocumentItemEnhcd ProductGroup5
ProductHierarchy I_ServiceDocumentItemEnhcd ProductHierarchy
BillingPlanIsFinalized I_ServiceDocumentItemEnhcd BillingPlanIsFinalized
ServiceRefObjectSequenceNumber ServiceContractItemRefObj ServiceRefObjectSequenceNumber
ServiceReferenceObjectType ServiceContractItemRefObj ServiceReferenceObjectType
ServiceReferenceObjectUUID ServiceContractItemRefObj ServiceReferenceObjectUUID
ProductID ServiceContractItemRefObj ProductID
SrvcRefObjIsMainObject ServiceContractItemRefObj SrvcRefObjIsMainObject
ProductUUID ServiceContractItemRefObj ProductUUID
SerialNumber ServiceContractItemRefObj SerialNumber
Equipment ServiceContractItemRefObj Equipment
FunctionalLocation ServiceContractItemRefObj FunctionalLocation
SrvcQtanPredecessorUUID
SrvcQtanPrdcssrBusObjType
ServiceDocumentItmRelationUUID ServiceDocumentItemPrdcssr ServiceDocumentItmRelationUUID
ServiceDocItmRltnSqncNumber ServiceDocumentItemPrdcssr ServiceDocItmRltnSqncNumber
SrvcQtanItmPrdcssrCharUUID ServiceDocumentItemPrdcssr ServiceDocItmPrdcssrCharUUID
SrvcQtanItmPrdcssrBusObjType ServiceDocumentItemPrdcssr ServiceDocItmPrdcssrBusObjType
ServiceDocumentItemCanclnParty I_ServiceDocumentItemEnhcd ServiceDocumentItemCanclnParty
ServiceDocumentItmCanclnReason I_ServiceDocumentItemEnhcd ServiceDocumentItmCanclnReason
SrvcDocItmCanclnProcedure I_ServiceDocumentItemEnhcd SrvcDocItmCanclnProcedure
RefBusinessSolutionOrder I_ServiceDocumentItemEnhcd RefBusinessSolutionOrder
RefBusinessSolutionOrderItem I_ServiceDocumentItemEnhcd RefBusinessSolutionOrderItem
_ServiceObjType I_ServiceDocumentItemEnhcd _ServiceObjType
_ServiceDocument I_ServiceDocumentItemEnhcd _ServiceDocument
_BaseUnit_2 I_ServiceDocumentItemEnhcd _BaseUnit_2
_SalesUnit I_ServiceDocumentItemEnhcd _SalesUnit
_TransactionCurrency I_ServiceDocumentItemEnhcd _TransactionCurrency
@EndUserText.label: 'Data Extraction for Service Contract'
@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: 'BUS2000112'}],
                    table: 'crms4d_serv_i', role: #MAIN,
                    viewElement: ['ServiceObjectType', 'ServiceDocument', 'ServiceDocumentItem'],
                    tableElement: ['objtype_h', 'object_id', 'number_int']
                },
                {
                    filter: [{operator: #EQ, tableElement: 'objtype_h', value: 'BUS2000112'}],
                    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: 'BUS2000112'}],
                    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', value: 'BUS2000112'}],

                    table: 'crmd_brelvonai', role: #LEFT_OUTER_TO_ONE_JOIN,
                    viewElement: ['ServiceDocumentItmRelationUUID', 'ServiceDocItmRltnSqncNumber'],
                   tableElement: ['relationid', 'posno']
                }
            ]
        }
    }
 }
@Analytics.technicalName: 'CSRVCCONTRITMDEX'
@AccessControl: {
  authorizationCheck: #CHECK,
  personalData.blocking: #('TRANSACTIONAL_DATA')
}
@ObjectModel: {
  representativeKey: 'ServiceDocumentItem',
   usageType: {
     dataClass:      #TRANSACTIONAL,
     serviceQuality: #D,
     sizeCategory:   #XL
   },
   supportedCapabilities: [#EXTRACTION_DATA_SOURCE]
}
@ObjectModel.sapObjectNodeType.name: 'ServiceContractItem'
@Metadata.ignorePropagatedAnnotations: true

/*

  Service Contract Extractor
  Note:
    1. Service Contract Items along with some Header fields are projected
    2. BW extracts all projected fields and performance is not relevant
    3. Out of box predecessor UUID fields are projected which indicates Service Quotation only.
        For any other predecessor types you may have to join explicitly!

*/

define view entity C_ServiceContractItemDEX
  as select from           I_ServiceDocumentItemEnhcd   as ServiceContractItem
    left outer to one join I_ServiceDocumentEnhcd       as ServiceContract            on  ServiceContract.ServiceObjectType     = 'BUS2000112'
                                                                                      and ServiceContractItem.ServiceObjectType = 'BUS2000112'
                                                                                      and ServiceContractItem.ServiceDocument   = ServiceContract.ServiceDocument

    left outer to one join I_ServiceDocumentRefObject   as ServiceContractItemRefObj  on  ServiceContractItemRefObj.ServiceObjectType      = 'BUS2000112'
                                                                                      and ServiceContractItemRefObj.ServiceDocument        = ServiceContractItem.ServiceDocument
                                                                                      and ServiceContractItemRefObj.ServiceDocumentItem    = ServiceContractItem.ServiceDocumentItem
                                                                                      and ServiceContractItemRefObj.SrvcRefObjIsMainObject = 'X'

    left outer to one join P_SrvcQtanItmFUPSrvcContrItm as ServiceDocumentItemPrdcssr on  ServiceContractItem.ServiceDocumentItemCharUUID   = ServiceDocumentItemPrdcssr.ServiceDocumentItemCharUUID
                                                                                      and ServiceContractItem.ServiceDocumentItemObjectType = ServiceDocumentItemPrdcssr.ServiceDocumentItemObjectType


  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 ServiceContractItem.ServiceObjectType,
      @ObjectModel.foreignKey.association: '_ServiceDocument'
  key ServiceContractItem.ServiceDocument,
  key ServiceContractItem.ServiceDocumentItem,

      /* Header Details */
      ServiceContract.ServiceDocumentUUID,
      @Semantics.uuid
      ServiceContract.ServiceDocumentCharUUID,
      ServiceContract.ServiceDocumentDescription,
      @Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
      ServiceContract.ServiceDocNetAmount,
      ServiceContract.PurchaseOrderByCustomer,
      ServiceContract.ServiceDocumentStatus,
      @Semantics.booleanIndicator: true
      ServiceContract.ServiceDocumentIsReleased,
      @Semantics.booleanIndicator: true
      ServiceContract.ServiceDocumentIsQuotation,
      @Semantics.booleanIndicator: true
      ServiceContract.ServiceDocumentHasError,
      @Semantics.booleanIndicator: true
      ServiceContract.ServiceDocIsReleasedForBilling,
      @Semantics.booleanIndicator: true
      ServiceContract.ServiceDocumentIsRejected,
      ServiceContract.ServiceDocBillingStatus,
      @Semantics.booleanIndicator: true
      ServiceContract.ServiceDocumentIsOpen,
      ServiceContract.BusinessActivityCategory,
      ServiceContract.ServiceDocChangedDateTime,
      ServiceContract.ServiceDocCreationDateTime,
      ServiceContract.RecommendedServicePriority,

      /* Item Details */
      ServiceContractItem.ServiceDocumentItemPriority,
      ServiceContractItem.ServiceDocumentType,
      ServiceContractItem.ServiceDocumentItemUUID,
      @Semantics.uuid
      ServiceContractItem.ServiceDocumentItemCharUUID,
      ServiceContractItem.ServiceDocumentItemObjectType,
      ServiceContractItem.ParentServiceDocumentItemUUID,
      ServiceContractItem.PostingDate,
      @Semantics.dateTime:true
      cast(ServiceContractItem.SrvcDocItmPostingDateTime as crms4_order_date_time preserving type ) as SrvcDocItmPostingDateTime,
      ServiceContractItem.SrvcDocItmValdtyStartDateTime,
      ServiceContractItem.SrvcDocItmValdtyEndDateTime,
      ServiceContractItem.ProfitCenter,
      ServiceContractItem.ControllingArea,
      ServiceContractItem.ProfitCenterDeterminationDate,
      ServiceContractItem.ServiceDocItemCategory,
      ServiceContractItem.OriginallyRequestedProduct,
      ServiceContractItem.Product,

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

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

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

      /* Partner  */
      ServiceContractItem.ServiceTeam,
      ServiceContractItem.SoldToParty,
      ServiceContractItem.SoldToPartyCountry,
      ServiceContractItem.SoldToPartyRegion,
      ServiceContractItem.ResponsibleEmployee,
      ServiceContractItem.ContactPerson,
      ServiceContractItem.ServiceEmployee,
      ServiceContractItem.ShipToParty,
      ServiceContractItem.BillToParty,
      ServiceContractItem.PayerParty,

      /* Pricing Parameter Set */
      @ObjectModel.foreignKey.association: '_TransactionCurrency'
      ServiceContractItem.TransactionCurrency,
      ServiceContractItem.StatisticsCurrency,
      ServiceContractItem.ExchangeRateType,
      ServiceContractItem.ExchangeRateDate,
      ServiceContractItem.AccountingExchangeRate,
      ServiceContractItem.CustomerGroup,
      ServiceContractItem.BillableControl,
      ServiceContractItem.PaymentTerms,
      ServiceContractItem.PaymentMethod,
      ServiceContractItem.WBSElementInternalID,
      ServiceContractItem.SEPAMandate,
      ServiceContractItem.SrvcSEPAMandateRelevance,
      
      /* Billing Set */
      ServiceContractItem.BillingBlockReason,

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

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

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

      /* Date */
      @Semantics.dateTime:true
      ServiceContractItem.ServiceContrItemStartDateTime,
      @Semantics.dateTime:true
      ServiceContractItem.ServiceContrItemEndDateTime,
      @Semantics: { quantity : {unitOfMeasure: 'SrvcContrItemRnwlDurationUnit'} }
      ServiceContractItem.SrvcContrItemRnwlDuration,
      ServiceContractItem.SrvcContrItemRnwlDurationUnit,
      @Semantics: { quantity : {unitOfMeasure: 'SrvcContrItemExtnDurationUnit'} }
      ServiceContractItem.SrvcContrItemExtensionDuration,
      ServiceContractItem.SrvcContrItemExtnDurationUnit,

      /* Item - Service */
      ServiceContractItem.ServiceDurationUnit,
      @Semantics.quantity.unitOfMeasure: 'SrvcDocItemBaseQuantityUnit' 
      ServiceContractItem.ServiceDuration,
      ServiceContractItem.ResponseProfile,
      ServiceContractItem.ServiceProfile,

      /* Status */
      ServiceContractItem.ServiceDocumentItemStatus,
      @Semantics.booleanIndicator: true
      ServiceContractItem.ServiceDocumentItemIsReleased,
      @Semantics.booleanIndicator: true
      ServiceContractItem.ServiceDocumentItemHasError,
      ServiceContractItem.SrvcDocItmDeliveryStatus,
      ServiceContractItem.SrvcDocItmGoodsIssueStatus,
      ServiceContractItem.ServiceDocItemBillingStatus,
      @Semantics.booleanIndicator: true
      ServiceContractItem.SrvcDocItmIsReleasedForBilling,
      @Semantics.booleanIndicator: true
      ServiceContractItem.ServiceDocumentItemIsRejected,
      @Semantics.booleanIndicator: true
      ServiceContractItem.ServiceDocumentItemIsOpen,
      // ServiceContractItem.QuotationIsAccepted, ...Not in Excel


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

      /* Item Product */
      ServiceContractItem.SrvcMaterialPricingGroup,
      ServiceContractItem.ProductGroup1,
      ServiceContractItem.ProductGroup2,
      ServiceContractItem.ProductGroup3,
      ServiceContractItem.ProductGroup4,
      ServiceContractItem.ProductGroup5,
      ServiceContractItem.ProductHierarchy,
      
      /* Item Billing Plan */
      ServiceContractItem.BillingPlanIsFinalized,

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

      ServiceDocumentItemPrdcssr._ServiceDocItm.ServiceDocumentUUID as SrvcQtanPredecessorUUID,
      ServiceDocumentItemPrdcssr._ServiceDocItm.ServiceObjectType   as SrvcQtanPrdcssrBusObjType,

      ServiceDocumentItemPrdcssr.ServiceDocumentItmRelationUUID,
      ServiceDocumentItemPrdcssr.ServiceDocItmRltnSqncNumber,
      ServiceDocumentItemPrdcssr.ServiceDocItmPrdcssrCharUUID       as SrvcQtanItmPrdcssrCharUUID,
      ServiceDocumentItemPrdcssr.ServiceDocItmPrdcssrBusObjType     as SrvcQtanItmPrdcssrBusObjType,

      /* Cancellation */
      ServiceContractItem.ServiceDocumentItemCanclnParty,
      ServiceContractItem.ServiceDocumentItmCanclnReason,
      ServiceContractItem.SrvcDocItmCanclnProcedure,

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

      /*  Associations  */
      /* Keys */
      ServiceContractItem._ServiceObjType,
      ServiceContractItem._ServiceDocument,

      /* Item - Product */
      ServiceContractItem._BaseUnit_2,
      ServiceContractItem._SalesUnit,

      /* Pricing Parameter Set */
      ServiceContractItem._TransactionCurrency
      
}
where
      ServiceContractItem.ServiceObjectType           = 'BUS2000112'
  and ServiceContractItem.ServiceDocumentTemplateType is initial