C_ServiceQuotationItemDEX

DDL: C_SERVICEQUOTATIONITEMDEX Type: view_entity CONSUMPTION Package: CRMS4_ANALYTICS_DEX

Data Extraction for Srvc Quotation Item

C_ServiceQuotationItemDEX is a Consumption CDS View (Fact) that provides data about "Data Extraction for Srvc Quotation Item" in SAP S/4HANA. It reads from 1 data source (I_ServiceDocumentItemEnhcd) and exposes 47 fields with key fields ServiceObjectType, ServiceDocument, ServiceDocumentItem. It has 1 association to related views. Part of development package CRMS4_ANALYTICS_DEX.

Data Sources (1)

SourceAliasJoin Type
I_ServiceDocumentItemEnhcd ServiceQuotationItem from

Associations (1)

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

Annotations (12)

NameValueLevelField
EndUserText.label Data Extraction for Srvc Quotation Item view
VDM.viewType #CONSUMPTION view
Analytics.technicalName CSRVCQTANITMDEX view
Analytics.dataCategory #FACT view
Analytics.dataExtraction.enabled true view
AccessControl.authorizationCheck #MANDATORY view
ObjectModel.representativeKey ServiceDocumentItem view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.sapObjectNodeType.name ServiceQuotationItem view
Metadata.ignorePropagatedAnnotations true view

Fields (47)

KeyFieldSource TableSource FieldDescription
KEY ServiceObjectType I_ServiceDocumentItemEnhcd ServiceObjectType
KEY ServiceDocument I_ServiceDocumentItemEnhcd ServiceDocument
KEY ServiceDocumentItem I_ServiceDocumentItemEnhcd ServiceDocumentItem
ServiceDocumentType I_ServiceDocumentItemEnhcd ServiceDocumentType
ServiceDocumentItemDescription I_ServiceDocumentItemEnhcd ServiceDocumentItemDescription
ServiceDocumentItemIsRejected I_ServiceDocumentItemEnhcd ServiceDocumentItemIsRejected
SoldToParty I_ServiceDocumentItemEnhcd SoldToParty
ShipToParty I_ServiceDocumentItemEnhcd ShipToParty
RespEmployeeBusinessPartnerId I_ServiceDocumentItemEnhcd ResponsibleEmployee
RespyMgmtGlobalTeamID
SalesOrganization I_ServiceDocumentItemEnhcd SalesOrganization
DistributionChannel I_ServiceDocumentItemEnhcd DistributionChannel
Division I_ServiceDocumentItemEnhcd Division
SalesOffice I_ServiceDocumentItemEnhcd SalesOffice
SalesGroup I_ServiceDocumentItemEnhcd SalesGroup
PaymentTerms I_ServiceDocumentItemEnhcd PaymentTerms
TransactionCurrency I_ServiceDocumentItemEnhcd TransactionCurrency
Product I_ServiceDocumentItemEnhcd Product
ServiceDocumentItemQuantity I_ServiceDocumentItemEnhcd ServiceDocumentItemQuantity
ServiceDocItemQuantityUnit I_ServiceDocumentItemEnhcd ServiceDocItemQuantityUnit
ServiceDuration I_ServiceDocumentItemEnhcd ServiceDuration
ServiceDurationUnit I_ServiceDocumentItemEnhcd ServiceDurationUnit
ServiceDocumentItemIsQuotation I_ServiceDocumentItemEnhcd ServiceDocumentItemIsQuotation
TimeSheetOvertimeCategory I_ServiceDocumentItemEnhcd TimeSheetOvertimeCategory
ServiceDocumentItemStatus I_ServiceDocumentItemEnhcd ServiceDocumentItemStatus
ServiceDocItemCategory I_ServiceDocumentItemEnhcd ServiceDocItemCategory
ServiceDocItemGrossAmount I_ServiceDocumentItemEnhcd ServiceDocItemGrossAmount
ServiceDocumentItemNetAmount I_ServiceDocumentItemEnhcd ServiceDocumentItemNetAmount
ServiceDocumentItemTaxAmount I_ServiceDocumentItemEnhcd ServiceDocumentItemTaxAmount
ServiceDocItemRejectionReason I_ServiceDocumentItemEnhcd ServiceDocItemRejectionReason
ParentServiceQuotationItem
ServiceDocumentItemObjectType I_ServiceDocumentItemEnhcd ServiceDocumentItemObjectType
ReferenceServiceContract
ReferenceServiceContractItem
SerialNumber ServiceQtanItemRefObj SerialNumber
Equipment ServiceQtanItemRefObj Equipment
SrvcQtanItemFunctionalLocation
ProductID ServiceQtanItemRefObj ProductID
_ServiceObjType I_ServiceDocumentItemEnhcd _ServiceObjType
_ServiceDocumentType I_ServiceDocumentItemEnhcd _ServiceDocumentType
_PaymentTerms I_ServiceDocumentItemEnhcd _PaymentTerms
_TransactionCurrency I_ServiceDocumentItemEnhcd _TransactionCurrency
_SalesUnit I_ServiceDocumentItemEnhcd _SalesUnit
_ServiceDocOvertimeCat I_ServiceDocumentItemEnhcd _ServiceDocOvertimeCat
_ServiceDocItemCategory I_ServiceDocumentItemEnhcd _ServiceDocItemCategory
_SrvcDocItmLifecycleStatus I_ServiceDocumentItemEnhcd _SrvcDocItmLifecycleStatus
_ServiceDocItemRejectionReason I_ServiceDocumentItemEnhcd _ServiceDocItemRejectionReason
@EndUserText.label: 'Data Extraction for Srvc Quotation Item'
@VDM: {
  viewType: #CONSUMPTION
  // lifecycle.contract.type: #PUBLIC_LOCAL_API

}

@Analytics: {
  technicalName: 'CSRVCQTANITMDEX',
  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_refobj', role: #LEFT_OUTER_TO_ONE_JOIN,
                    viewElement: ['ServiceObjectType', 'ServiceDocument'],
                    tableElement: ['objtype_h', 'object_id']
                } ]  }   }   }

@AccessControl: {
  authorizationCheck: #MANDATORY,
  personalData.blocking: #('TRANSACTIONAL_DATA')
}

@ObjectModel: {
  representativeKey: 'ServiceDocumentItem',
   usageType: {
     dataClass:      #TRANSACTIONAL,
     serviceQuality: #D,
     sizeCategory:   #XL
   },
   supportedCapabilities: [#EXTRACTION_DATA_SOURCE]
}

@ObjectModel.sapObjectNodeType.name: 'ServiceQuotationItem'
@Metadata.ignorePropagatedAnnotations: true

define view entity C_ServiceQuotationItemDEX
  as select from           I_ServiceDocumentItemEnhcd     as ServiceQuotationItem
    left outer to one join I_ServiceDocumentRefObject     as ServiceQtanItemRefObj      on  ServiceQtanItemRefObj.ServiceObjectType      = 'BUS2000116'
                                                                                        and ServiceQtanItemRefObj.ServiceDocument        = ServiceQuotationItem.ServiceDocument
                                                                                        and ServiceQtanItemRefObj.ServiceDocumentItem    = ServiceQuotationItem.ServiceDocumentItem
                                                                                        and ServiceQtanItemRefObj.SrvcRefObjIsMainObject = 'X'

    left outer to one join I_ServiceDocumentItemPrdcssr_2 as ServiceDocumentItemPrdcssr on  ServiceQuotationItem.ServiceDocumentItemCharUUID   = ServiceDocumentItemPrdcssr.ServiceDocumentItemCharUUID
                                                                                        and ServiceQuotationItem.ServiceDocumentItemObjectType = ServiceDocumentItemPrdcssr.ServiceDocumentItemObjectType
                                                                                        and ServiceQuotationItem.ServiceDocumentItemObjectType = 'BUS2000137'

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



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

      //      ServiceQuotationItem.ServiceDocumentItemCharUUID,

      @ObjectModel.foreignKey.association: '_ServiceDocumentType'
      ServiceQuotationItem.ServiceDocumentType,
      ServiceQuotationItem.ServiceDocumentItemDescription,
      
      @Semantics.booleanIndicator: true
      ServiceQuotationItem.ServiceDocumentItemIsRejected,
      
      ServiceQuotationItem.SoldToParty,
      ServiceQuotationItem.ShipToParty,
      ServiceQuotationItem.ResponsibleEmployee                         as RespEmployeeBusinessPartnerId,
      ServiceQuotationItem._ServiceTeamHeader.RespyMgmtGlobalTeamID,

      /* Organizational units with the S/4 SD codes */
      ServiceQuotationItem.SalesOrganization,
      ServiceQuotationItem.DistributionChannel,
      ServiceQuotationItem.Division,
      ServiceQuotationItem.SalesOffice,
      ServiceQuotationItem.SalesGroup,

      @ObjectModel.foreignKey.association: '_PaymentTerms'
      ServiceQuotationItem.PaymentTerms,
      @ObjectModel.foreignKey.association: '_TransactionCurrency'
      ServiceQuotationItem.TransactionCurrency,
      ServiceQuotationItem.Product,
      @Semantics: { quantity : {unitOfMeasure: 'ServiceDocItemQuantityUnit'} }
      ServiceQuotationItem.ServiceDocumentItemQuantity,
      @ObjectModel.foreignKey.association: '_SalesUnit'
      ServiceQuotationItem.ServiceDocItemQuantityUnit,
      @Semantics.quantity.unitOfMeasure: 'ServiceDurationUnit'
      ServiceQuotationItem.ServiceDuration,
      ServiceQuotationItem.ServiceDurationUnit,
      @Semantics.booleanIndicator: true
      ServiceQuotationItem.ServiceDocumentItemIsQuotation,
      @ObjectModel.foreignKey.association: '_ServiceDocOvertimeCat'
      ServiceQuotationItem.TimeSheetOvertimeCategory,
      @ObjectModel.foreignKey.association: '_SrvcDocItmLifecycleStatus'
      ServiceQuotationItem.ServiceDocumentItemStatus,
      @ObjectModel.foreignKey.association: '_ServiceDocItemCategory'
      ServiceQuotationItem.ServiceDocItemCategory,
      @Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
      ServiceQuotationItem.ServiceDocItemGrossAmount,
      @Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
      ServiceQuotationItem.ServiceDocumentItemNetAmount,
      @Semantics: { amount : {currencyCode: 'TransactionCurrency'} }
      ServiceQuotationItem.ServiceDocumentItemTaxAmount,
      @ObjectModel.foreignKey.association: '_ServiceDocItemRejectionReason'
      ServiceQuotationItem.ServiceDocItemRejectionReason,
      ServiceQuotationItem._ParentServiceDocItem_2.ServiceDocumentItem as ParentServiceQuotationItem,
      //@ObjectModel.foreignKey.association: '_ServiceObjType'

      ServiceQuotationItem.ServiceDocumentItemObjectType,
      ServiceDocumentItemPrdcssr._ServiceDocItm.ServiceDocument        as ReferenceServiceContract,
      ServiceDocumentItemPrdcssr._ServiceDocItm.ServiceDocumentItem    as ReferenceServiceContractItem,


      /* Reference Object Details */
      //ServiceQtanItemRefObj.SrvcRefObjIsMainObject,

      ServiceQtanItemRefObj.SerialNumber,
      ServiceQtanItemRefObj.Equipment,
      cast ( ServiceQtanItemRefObj.FunctionalLocation as functionallocation preserving type )                         as SrvcQtanItemFunctionalLocation,
      ServiceQtanItemRefObj.ProductID,

      ServiceQuotationItem._ServiceObjType,
      ServiceQuotationItem._ServiceDocumentType,
      ServiceQuotationItem._PaymentTerms,
      ServiceQuotationItem._TransactionCurrency,
      ServiceQuotationItem._SalesUnit,
      ServiceQuotationItem._ServiceDocOvertimeCat,
      ServiceQuotationItem._ServiceDocItemCategory,
      ServiceQuotationItem._SrvcDocItmLifecycleStatus,
      ServiceQuotationItem._ServiceDocItemRejectionReason
}
where
      ServiceQuotationItem.ServiceObjectType              = 'BUS2000116'
  and ServiceQuotationItem.ServiceDocumentItemIsQuotation = 'X'