R_ServiceOrderTemplateItemTP

DDL: R_SERVICEORDERTEMPLATEITEMTP Type: view_entity TRANSACTIONAL Package: CRMS4_SERVICEORDERTEMPL_RAP

Service Order Template Item - TP

R_ServiceOrderTemplateItemTP is a Transactional CDS View that provides data about "Service Order Template Item - TP" in SAP S/4HANA. It reads from 1 data source (I_ServiceDocumentItemEnhcd) and exposes 32 fields with key fields ServiceOrderTemplate, ServiceOrderTemplateItem. It has 8 associations to related views. Part of development package CRMS4_SERVICEORDERTEMPL_RAP.

Data Sources (1)

SourceAliasJoin Type
I_ServiceDocumentItemEnhcd I_ServiceDocumentItemEnhcd from

Associations (8)

CardinalityTargetAliasCondition
[0..1] I_StatusObjectUUIDStatus _SrvcOrdTmplItmStatus $projection.ServiceOrderTemplateItemUUID = _SrvcOrdTmplItmStatus.StatusObjectUUID and ( _SrvcOrdTmplItmStatus.StatusCode = 'I1002' or _SrvcOrdTmplItmStatus.StatusCode = 'I1003' or _SrvcOrdTmplItmStatus.StatusCode = 'I1004' or _SrvcOrdTmplItmStatus.StatusCode = 'I1005' ) and _SrvcOrdTmplItmStatus.StatusIsActive = 'X'
[0..1] E_ServiceDocumentItem _Extension _Extension.ServiceCategory = 'BUS2000116' and $projection.ServiceOrderTemplate = _Extension.ServiceOrderItem and $projection.ServiceOrderTemplateItem = _Extension.ServiceLineExternalID
[0..*] R_SrvcOrdTmplItmRefObjectTP _SrvcOrdTmplItmRefObjectTP
[0..*] R_SrvcOrdTmplItemUserStatusTP _SrvcOrdTmplItemUserStatusTP
[0..*] R_SrvcOrdTmplItemPartnerTP _SrvcOrdTmplItmPartnerTP
[0..*] R_SrvcOrdTmplItemLongTextTP _SrvcOrdTmplItemLongTextTP
[0..*] R_SrvcOrdTmplItemAppointmentTP _SrvcOrdTmplItemAppointmentTP
[0..*] R_SrvcOrdTmplItemDurationTP _SrvcOrdTmplItemDurationTP

Annotations (10)

NameValueLevelField
AccessControl.authorizationCheck #MANDATORY view
VDM.viewType #TRANSACTIONAL view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view
Metadata.ignorePropagatedAnnotations true view
EndUserText.label Service Order Template Item - TP view
ObjectModel.sapObjectNodeType.name ServiceOrderTemplateItem view
ObjectModel.representativeKey ServiceOrderTemplateItem view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view

Fields (32)

KeyFieldSource TableSource FieldDescription
KEY ServiceOrderTemplate ServiceDocument
KEY ServiceOrderTemplateItem ServiceDocumentItem
ServiceOrderTemplateItemUUID ServiceDocumentItemUUID
SrvcOrdTmplItmDescription ServiceDocumentItemDescription
ServiceObjectType ServiceObjectType
SrvcOrdTmplItmCategory ServiceDocItemCategory
ServiceDocumentItemObjectType ServiceDocumentItemObjectType
Language Language
SrvcOrdTmplItmValdtyStrtDteTme SrvcDocItmValdtyStartDateTime
SrvcOrdTmplItmValdtyEndDteTme SrvcDocItmValdtyEndDateTime
ServiceDocItemChangedDateTime ServiceDocItemChangedDateTime
ServiceDocItemCreationDateTime ServiceDocItemCreationDateTime
ServiceDocItemCreatedByUser ServiceDocItemCreatedByUser
ServiceDocItemChangedByUser ServiceDocItemChangedByUser
Product Product
Quantity ServiceDocumentItemQuantity
QuantityUnit ServiceDocItemQuantityUnit
ParentServiceOrderTemplateItem _ParentServiceDocItem ServiceDocumentItem
SrvcDocItmPartReferenceItem SrvcDocItmPartReferenceItem
SrvcDocItmApptReferenceItem SrvcDocItmApptReferenceItem
SrvcDocItmApptRefObjectUUID SrvcDocItmApptRefObjectUUID
_ServiceOrderTemplateTP _ServiceOrderTemplateTP
_ServiceObjType _ServiceObjType
_ServiceDocument _ServiceDocument
_SrvcOrdTmplItmStatus _SrvcOrdTmplItmStatus
_SrvcOrdTmplItmRefObjectTP _SrvcOrdTmplItmRefObjectTP
_SrvcOrdTmplItemUserStatusTP _SrvcOrdTmplItemUserStatusTP
_SrvcOrdTmplItmPartnerTP _SrvcOrdTmplItmPartnerTP
_SrvcOrdTmplItemLongTextTP _SrvcOrdTmplItemLongTextTP
_SrvcOrdTmplItemAppointmentTP _SrvcOrdTmplItemAppointmentTP
_SrvcOrdTmplItemDurationTP _SrvcOrdTmplItemDurationTP
_Product _Product
@AccessControl: {
  authorizationCheck: #MANDATORY,
  personalData.blocking: #('TRANSACTIONAL_DATA')
}
@VDM: {
  viewType: #TRANSACTIONAL,
  lifecycle.contract.type: #SAP_INTERNAL_API
}
@Metadata:
{
  ignorePropagatedAnnotations: true
}

@EndUserText.label: 'Service Order Template Item - TP'
@ObjectModel: {
  sapObjectNodeType.name: 'ServiceOrderTemplateItem',
  semanticKey: ['ServiceOrderTemplateItem'],
  representativeKey: 'ServiceOrderTemplateItem',
   usageType: {dataClass:      #TRANSACTIONAL,
                serviceQuality: #C,
                sizeCategory:   #L}
}
define view entity R_ServiceOrderTemplateItemTP
  as select from I_ServiceDocumentItemEnhcd
  association        to parent R_ServiceOrderTemplateTP as _ServiceOrderTemplateTP on  $projection.ServiceOrderTemplate = _ServiceOrderTemplateTP.ServiceOrderTemplate
  association [0..1] to I_StatusObjectUUIDStatus        as _SrvcOrdTmplItmStatus   on  $projection.ServiceOrderTemplateItemUUID = _SrvcOrdTmplItmStatus.StatusObjectUUID
                                                                                   and (
                                                                                      _SrvcOrdTmplItmStatus.StatusCode          = 'I1002'
                                                                                      or _SrvcOrdTmplItmStatus.StatusCode       = 'I1003'
                                                                                      or _SrvcOrdTmplItmStatus.StatusCode       = 'I1004'
                                                                                      or _SrvcOrdTmplItmStatus.StatusCode       = 'I1005'
                                                                                    )
                                                                                   and _SrvcOrdTmplItmStatus.StatusIsActive     = 'X'
  //! Extensibility support

  association [0..1] to E_ServiceDocumentItem           as _Extension              on  _Extension.ServiceCategory           = 'BUS2000116'
                                                                                   and $projection.ServiceOrderTemplate     = _Extension.ServiceOrderItem
                                                                                   and $projection.ServiceOrderTemplateItem = _Extension.ServiceLineExternalID

  composition [0..*] of R_SrvcOrdTmplItmRefObjectTP     as _SrvcOrdTmplItmRefObjectTP
  composition [0..*] of R_SrvcOrdTmplItemUserStatusTP   as _SrvcOrdTmplItemUserStatusTP
  composition [0..*] of R_SrvcOrdTmplItemPartnerTP      as _SrvcOrdTmplItmPartnerTP
  composition [0..*] of R_SrvcOrdTmplItemLongTextTP     as _SrvcOrdTmplItemLongTextTP
  composition [0..*] of R_SrvcOrdTmplItemAppointmentTP  as _SrvcOrdTmplItemAppointmentTP
  composition [0..*] of R_SrvcOrdTmplItemDurationTP     as _SrvcOrdTmplItemDurationTP
{
      // Administrative Fields

      @ObjectModel.foreignKey.association: '_ServiceDocument'
  key ServiceDocument                                       as ServiceOrderTemplate,
  key ServiceDocumentItem                                   as ServiceOrderTemplateItem,

      ServiceDocumentItemUUID                               as ServiceOrderTemplateItemUUID,
      ServiceDocumentItemDescription                        as SrvcOrdTmplItmDescription,

      @ObjectModel.foreignKey.association: '_ServiceObjType'
      ServiceObjectType,

      @ObjectModel.sapObjectNodeTypeReference: 'ServiceDocumentItemCategory'
      ServiceDocItemCategory                                as SrvcOrdTmplItmCategory,

      ServiceDocumentItemObjectType,
      Language,

      @Semantics.dateTime:true
      SrvcDocItmValdtyStartDateTime                         as SrvcOrdTmplItmValdtyStrtDteTme,

      @Semantics.dateTime:true
      SrvcDocItmValdtyEndDateTime                           as SrvcOrdTmplItmValdtyEndDteTme,

      @Semantics.dateTime:true
      ServiceDocItemChangedDateTime,

      @Semantics.dateTime:true
      ServiceDocItemCreationDateTime,

//      ResponsibleEmployee                                   as RespEmployeeBusinessPartnerId,


      ServiceDocItemCreatedByUser,
      ServiceDocItemChangedByUser,

      //      OriginallyRequestedProduct                            as Product,


      @ObjectModel.foreignKey.association: '_Product'
      Product,

      @Semantics: { quantity : {unitOfMeasure: 'QuantityUnit'} }
      ServiceDocumentItemQuantity                           as Quantity,
      ServiceDocItemQuantityUnit                            as QuantityUnit,


      _ParentServiceDocItem.ServiceDocumentItem             as ParentServiceOrderTemplateItem,
      // Status

      cast( case _SrvcOrdTmplItmStatus.StatusCode
      when 'I1002' then 'X'
      else ' '
      end                  as   xfeld preserving type     ) as SrvcOrdTmplItmIsNew,
      cast( case _SrvcOrdTmplItmStatus.StatusCode
      when 'I1003' then 'X'
      else ' '
      end                  as   xfeld preserving type     ) as SrvcOrdTmplItmIsInProcess,
      cast( case _SrvcOrdTmplItmStatus.StatusCode
      when 'I1004' then 'X'
      else ' '
      end                  as   xfeld preserving type     ) as SrvcOrdTmplItmIsReleased,
      cast( case _SrvcOrdTmplItmStatus.StatusCode
      when 'I1005' then 'X'
      else ' '
      end                  as   xfeld preserving type     ) as SrvcOrdTmplItmIsCompleted,


      //Inheritance of complex set

      SrvcDocItmPartReferenceItem,
      SrvcDocItmApptReferenceItem,
      SrvcDocItmApptRefObjectUUID,

      //Associations

      _ServiceOrderTemplateTP,
      _ServiceObjType,
      _ServiceDocument,
      _SrvcOrdTmplItmStatus,
      _SrvcOrdTmplItmRefObjectTP,
      _SrvcOrdTmplItemUserStatusTP,
      _SrvcOrdTmplItmPartnerTP,
      _SrvcOrdTmplItemLongTextTP,
      _SrvcOrdTmplItemAppointmentTP,
      _SrvcOrdTmplItemDurationTP,
      _Product

}
where
      ServiceObjectType              = 'BUS2000116' //  Service Process

  and ServiceDocumentItemIsQuotation is initial
  and ServiceDocumentTemplateType    is not initial