I_ServiceDocumentRefObject

DDL: I_SERVICEDOCUMENTREFOBJECT Type: view BASIC

Reference Object of Service Transaction

I_ServiceDocumentRefObject is a Basic CDS View (Fact) that provides data about "Reference Object of Service Transaction" in SAP S/4HANA. It reads from 1 data source (crms4d_refobj) and exposes 17 fields with key fields ServiceObjectType, ServiceDocument, ServiceDocumentItem, ServiceRefObjectSequenceNumber. It has 4 associations to related views.

Data Sources (1)

SourceAliasJoin Type
crms4d_refobj crms4d_refobj from

Associations (4)

CardinalityTargetAliasCondition
[0..1] I_Equipment _Equipment $projection.Equipment = _Equipment.Equipment
[0..1] I_Product _Product $projection.ProductID = _Product.Product
[0..1] I_FunctionalLocation _FunctionalLocation $projection.FunctionalLocation = _FunctionalLocation.FunctionalLocation
[1] I_SrvcReferenceObjectType _SrvcReferenceObjectType $projection.ServiceReferenceObjectType = _SrvcReferenceObjectType.ServiceReferenceObjectType

Annotations (14)

NameValueLevelField
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Reference Object of Service Transaction view
VDM.viewType #BASIC view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
Analytics.dataCategory #FACT view
Analytics.dataExtraction.enabled true view
AccessControl.authorizationCheck #PRIVILEGED_ONLY view
AbapCatalog.sqlViewName ISERVDOCREFOBJ view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
Metadata.ignorePropagatedAnnotations true view

Fields (17)

KeyFieldSource TableSource FieldDescription
KEY ServiceObjectType objtype_h
KEY ServiceDocument object_id
KEY ServiceDocumentItem number_int
KEY ServiceRefObjectSequenceNumber counter
ServiceReferenceObjectType type_object
ServiceReferenceObjectUUID guid_object
ProductID product_id
SrvcRefObjIsMainObject main_object
ProductUUID product_guid
SerialNumber serial_number
Equipment equipment_id
FunctionalLocation functional_location_id
ReferenceProduct ref_product_id
_SrvcReferenceObjectType _SrvcReferenceObjectType
_Equipment _Equipment
_Product _Product
_FunctionalLocation _FunctionalLocation
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Reference Object of Service Transaction'
@VDM: {
  viewType: #BASIC,
  lifecycle.contract.type: #PUBLIC_LOCAL_API
}

@Analytics: {
    dataCategory: #FACT,
    dataExtraction: {
        enabled: true,
        delta.changeDataCapture: {
            mapping:[
                {
//                   filter: [{operator: #EQ, tableElement: 'objtype_a', value: 'BUS2000%'}],

                    table: 'crms4d_refobj', role: #MAIN,
                    viewElement: ['ServiceObjectType', 'ServiceDocument', 'ServiceDocumentItem', 'ServiceRefObjectSequenceNumber'],
                    tableElement: ['objtype_h', 'object_id', 'number_int', 'counter']
                }
            ]
        }
    }
 }

@AccessControl: {
  authorizationCheck: #PRIVILEGED_ONLY,
  personalData.blocking: #('TRANSACTIONAL_DATA')
}
@AbapCatalog: {
  sqlViewName: 'ISERVDOCREFOBJ',
  compiler.compareFilter: true,
  preserveKey: true
}
@ObjectModel: {
//   representativeKey: 'ServiceDocumentItem',

   usageType: {
     dataClass:      #TRANSACTIONAL,
     serviceQuality: #C,
     sizeCategory:   #XL
   },
   supportedCapabilities: [#CDS_MODELING_ASSOCIATION_TARGET, #SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE, #EXTRACTION_DATA_SOURCE]
}
//@Analytics.dataCategory: #DIMENSION

//@Metadata.allowExtensions:true

@Metadata.ignorePropagatedAnnotations: true

define view I_ServiceDocumentRefObject 
  as select from crms4d_refobj 
  association [0..1] to I_Equipment               as _Equipment               on $projection.Equipment = _Equipment.Equipment
  association [0..1] to I_Product                 as _Product                 on $projection.ProductID = _Product.Product
  association [0..1] to I_FunctionalLocation      as _FunctionalLocation      on $projection.FunctionalLocation = _FunctionalLocation.FunctionalLocation
  association [1]    to I_SrvcReferenceObjectType as _SrvcReferenceObjectType on $projection.ServiceReferenceObjectType = _SrvcReferenceObjectType.ServiceReferenceObjectType

{
  key objtype_h              as ServiceObjectType,
  key object_id              as ServiceDocument,
  key number_int             as ServiceDocumentItem,
  key counter                as ServiceRefObjectSequenceNumber,

      @ObjectModel.foreignKey.association: '_SrvcReferenceObjectType'
      type_object            as ServiceReferenceObjectType,
      guid_object            as ServiceReferenceObjectUUID,

      @ObjectModel.foreignKey.association: '_Product'
      product_id             as ProductID,

      main_object            as SrvcRefObjIsMainObject,
      product_guid           as ProductUUID,
      serial_number          as SerialNumber,

      @ObjectModel.foreignKey.association: '_Equipment'
      equipment_id           as Equipment,

      @ObjectModel.foreignKey.association: '_FunctionalLocation'
      functional_location_id as FunctionalLocation,
      
      ref_product_id         as ReferenceProduct,

      _SrvcReferenceObjectType,
      _Equipment,
      _Product,
      _FunctionalLocation
}