A_ServiceOrderTemplateItem

DDL: A_SERVICEORDERTEMPLATEITEM Type: view COMPOSITE

Service Order Template Items

A_ServiceOrderTemplateItem is a Composite CDS View that provides data about "Service Order Template Items" in SAP S/4HANA. It reads from 1 data source (I_ServiceDocumentItemEnhcd) and exposes 26 fields with key fields ServiceOrderTemplate, ServiceOrderTemplateItem. It has 8 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_ServiceDocumentItemEnhcd ServiceOrderTemplateItem from

Associations (8)

CardinalityTargetAliasCondition
[0..*] A_ServiceOrderTmplItemRefObj _ReferenceObject $projection.ServiceOrderTemplate = _ReferenceObject.ServiceOrderTemplate and $projection.ServiceOrderTemplateItem = _ReferenceObject.ServiceOrderTemplateItem
[0..*] A_ServiceOrderTmplItemText _Text $projection.ServiceOrderTemplate = _Text.ServiceOrderTemplate and $projection.ServiceOrderTemplateItem = _Text.ServiceOrderTemplateItem
[1] A_ServiceOrderTemplate _ServiceOrderTemplate $projection.ServiceOrderTemplate = _ServiceOrderTemplate.ServiceOrderTemplate
[0..1] E_ServiceDocumentItem _Extension _Extension.ServiceCategory = 'BUS2000116' and $projection.ServiceOrderTemplate = _Extension.ServiceOrderItem and $projection.ServiceOrderTemplateItem = _Extension.ServiceLineExternalID
[0..*] A_SrvcOrdTmplItemUserStatus _SrvcOrdTmplItemUserStatus $projection.ServiceOrderTemplate = _SrvcOrdTmplItemUserStatus.ServiceOrderTemplate and $projection.ServiceOrderTemplateItem = _SrvcOrdTmplItemUserStatus.ServiceOrderTemplateItem
[0..*] A_SrvcOrdTmplItemPartner _Partner $projection.ServiceOrderTemplate = _Partner.ServiceOrderTemplate and $projection.ServiceOrderTemplateItem = _Partner.ServiceOrderTemplateItem
[0..*] A_SrvcOrdTmplItemDuration _Duration $projection.ServiceOrderTemplate = _Duration.ServiceOrderTemplate and $projection.ServiceOrderTemplateItem = _Duration.ServiceOrderTemplateItem
[0..*] A_SrvcOrdTmplItemAppointment _Appointment $projection.ServiceOrderTemplate = _Appointment.ServiceOrderTemplate and $projection.ServiceOrderTemplateItem = _Appointment.ServiceOrderTemplateItem

Annotations (15)

NameValueLevelField
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Service Order Template Items view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #PUBLIC_REMOTE_API view
AbapCatalog.sqlViewName ASRVORDTMPLITM view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
ObjectModel.createEnabled true view
ObjectModel.updateEnabled true view
ObjectModel.deleteEnabled true view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XXL view
Metadata.ignorePropagatedAnnotations true view

Fields (26)

KeyFieldSource TableSource FieldDescription
KEY ServiceOrderTemplate ServiceDocument
KEY ServiceOrderTemplateItem ServiceDocumentItem
ServiceOrderTemplateItemUUID ServiceDocumentItemUUID
SrvcOrdTmplItmDescription ServiceDocumentItemDescription
ServiceObjectType ServiceObjectType
ServiceDocumentItemObjectType ServiceDocumentItemObjectType
Language Language
Product OriginallyRequestedProduct
Quantity ServiceDocumentItemQuantity
QuantityUnit ServiceDocItemQuantityUnit
SrvcOrdTmplItmCategory ServiceDocItemCategory
SrvcDocItmValdtyStartDateTime SrvcDocItmValdtyStartDateTime
SrvcDocItmValdtyEndDateTime SrvcDocItmValdtyEndDateTime
PersonResponsible ResponsibleEmployee
SrvcOrdTmplItmIsReleased ServiceDocumentItemIsReleased
ParentServiceOrderTemplateItem _ParentServiceDocItem ServiceDocumentItem
SrvcDocItmPartReferenceItem SrvcDocItmPartReferenceItem
SrvcDocItmApptReferenceItem SrvcDocItmApptReferenceItem
SrvcDocItmApptRefObjectUUID SrvcDocItmApptRefObjectUUID
_ReferenceObject _ReferenceObject
_Text _Text
_ServiceOrderTemplate _ServiceOrderTemplate
_SrvcOrdTmplItemUserStatus _SrvcOrdTmplItemUserStatus
_Partner _Partner
_Duration _Duration
_Appointment _Appointment
@ClientHandling.algorithm:#SESSION_VARIABLE
@EndUserText.label: 'Service Order Template Items'
@VDM: {
  viewType: #COMPOSITE,
  lifecycle.contract.type: #PUBLIC_REMOTE_API
}
@AbapCatalog: {
  sqlViewName: 'ASRVORDTMPLITM',
  compiler.compareFilter: true,
  preserveKey: true
}

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

}
@ObjectModel: {
   createEnabled: true,
   updateEnabled: true,
   deleteEnabled: true,
   usageType: {
     dataClass:      #TRANSACTIONAL,
     serviceQuality: #C,
     sizeCategory:   #XXL
   }
}
@Metadata.ignorePropagatedAnnotations: true

define view A_ServiceOrderTemplateItem
  as select from I_ServiceDocumentItemEnhcd as ServiceOrderTemplateItem


  association [0..*] to A_ServiceOrderTmplItemRefObj as _ReferenceObject           on  $projection.ServiceOrderTemplate     = _ReferenceObject.ServiceOrderTemplate
                                                                                   and $projection.ServiceOrderTemplateItem = _ReferenceObject.ServiceOrderTemplateItem

  association [0..*] to A_ServiceOrderTmplItemText   as _Text                      on  $projection.ServiceOrderTemplate     = _Text.ServiceOrderTemplate
                                                                                   and $projection.ServiceOrderTemplateItem = _Text.ServiceOrderTemplateItem

  association [1]    to A_ServiceOrderTemplate       as _ServiceOrderTemplate      on  $projection.ServiceOrderTemplate = _ServiceOrderTemplate.ServiceOrderTemplate

  //Extensibility

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

  association [0..*] to A_SrvcOrdTmplItemUserStatus  as _SrvcOrdTmplItemUserStatus on  $projection.ServiceOrderTemplate     = _SrvcOrdTmplItemUserStatus.ServiceOrderTemplate
                                                                                   and $projection.ServiceOrderTemplateItem = _SrvcOrdTmplItemUserStatus.ServiceOrderTemplateItem

  association [0..*] to A_SrvcOrdTmplItemPartner     as _Partner                   on  $projection.ServiceOrderTemplate     = _Partner.ServiceOrderTemplate
                                                                                   and $projection.ServiceOrderTemplateItem = _Partner.ServiceOrderTemplateItem

  association [0..*] to A_SrvcOrdTmplItemDuration    as _Duration                  on  $projection.ServiceOrderTemplate     = _Duration.ServiceOrderTemplate
                                                                                   and $projection.ServiceOrderTemplateItem = _Duration.ServiceOrderTemplateItem

  association [0..*] to A_SrvcOrdTmplItemAppointment as _Appointment               on  $projection.ServiceOrderTemplate     = _Appointment.ServiceOrderTemplate
                                                                                   and $projection.ServiceOrderTemplateItem = _Appointment.ServiceOrderTemplateItem
{

      /* ORDERADM_I */
  key ServiceDocument                           as ServiceOrderTemplate,
  key ServiceDocumentItem                       as ServiceOrderTemplateItem,
      ServiceDocumentItemUUID                   as ServiceOrderTemplateItemUUID,
      ServiceDocumentItemDescription            as SrvcOrdTmplItmDescription,
      ServiceObjectType,
      ServiceDocumentItemObjectType,
      Language,
      OriginallyRequestedProduct                as Product,
      @Semantics: { quantity : {unitOfMeasure: 'QuantityUnit'} }
      ServiceDocumentItemQuantity               as Quantity,
      ServiceDocItemQuantityUnit                as QuantityUnit,
      @ObjectModel.sapObjectNodeTypeReference: 'ServiceDocumentItemCategory'
      ServiceDocItemCategory                    as SrvcOrdTmplItmCategory,
      SrvcDocItmValdtyStartDateTime,
      SrvcDocItmValdtyEndDateTime,
      ResponsibleEmployee                       as PersonResponsible,
      /* STATUS */
      ServiceDocumentItemIsReleased             as SrvcOrdTmplItmIsReleased,
      _ParentServiceDocItem.ServiceDocumentItem as ParentServiceOrderTemplateItem,

      //case ServiceDocumentItemStatus

      //when 'C' then 'X'

      //else ''

      //end                                       as SrvcOrdTmplItmIsCompleted,


      case ServiceDocumentItemIsOpen
       when '' then
       case ServiceDocumentItemIsReleased
       when '' then 'X' else ''
       end
       else ''
       end                                      as SrvcOrdTmplItmIsCompleted,

      //Inheritance of complex set

      @ObjectModel.readOnly: true
      SrvcDocItmPartReferenceItem,
      @ObjectModel.readOnly: true
      SrvcDocItmApptReferenceItem,
      @ObjectModel.readOnly: true
      SrvcDocItmApptRefObjectUUID,

      //Associations

      _ReferenceObject,
      _Text,
      _ServiceOrderTemplate,
      _SrvcOrdTmplItemUserStatus,
      //@feature: 'BF:API_FULLSCOPE'

      _Partner,
      _Duration,
      _Appointment

}

where
      ServiceObjectType              = 'BUS2000116' //  Service Process

  and ServiceDocumentItemIsQuotation is initial
  and ServiceDocumentTemplateType    is not initial
  and RefInHouseRepairIsExisting     is initial
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_SERVICEDOCUMENTITEMENHCD"
],
"ASSOCIATED":
[
"A_SERVICEORDERTEMPLATE",
"A_SERVICEORDERTMPLITEMREFOBJ",
"A_SERVICEORDERTMPLITEMTEXT",
"A_SRVCORDTMPLITEMAPPOINTMENT",
"A_SRVCORDTMPLITEMDURATION",
"A_SRVCORDTMPLITEMPARTNER",
"A_SRVCORDTMPLITEMUSERSTATUS",
"E_SERVICEDOCUMENTITEM"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/