A_ServiceOrderTemplate

DDL: A_SERVICEORDERTEMPLATE Type: view COMPOSITE

Service Order Template

A_ServiceOrderTemplate is a Composite CDS View that provides data about "Service Order Template" in SAP S/4HANA. It reads from 1 data source (I_ServiceDocumentEnhcd) and exposes 31 fields with key field ServiceOrderTemplate. It has 9 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_ServiceDocumentEnhcd ServiceOrderTemplate from

Associations (9)

CardinalityTargetAliasCondition
[0..*] A_ServiceOrderTemplateItem _Item $projection.ServiceOrderTemplate = _Item.ServiceOrderTemplate
[0..*] A_ServiceOrderTmplPersonResp _PersonResponsible $projection.ServiceOrderTemplate = _PersonResponsible.ServiceOrderTemplate
[0..*] A_ServiceOrderTmplRefObject _ReferenceObject $projection.ServiceOrderTemplate = _ReferenceObject.ServiceOrderTemplate
[0..*] A_ServiceOrderTmplText _Text $projection.ServiceOrderTemplate = _Text.ServiceOrderTemplate
[0..1] E_ServiceDocument _Extension _Extension.ServiceCategory = 'BUS2000116' and $projection.ServiceOrderTemplate = _Extension.ServiceOrder
[0..*] A_SrvcOrdTmplUserStatus _SrvcOrdTmplUserStatus $projection.ServiceOrderTemplate = _SrvcOrdTmplUserStatus.ServiceOrderTemplate
[0..*] A_SrvcOrdTmplPartner _Partner $projection.ServiceOrderTemplate = _Partner.ServiceOrderTemplate
[0..*] A_SrvcOrdTmplDuration _Duration $projection.ServiceOrderTemplate = _Duration.ServiceOrderTemplate
[0..*] A_SrvcOrdTmplAppointment _Appointment $projection.ServiceOrderTemplate = _Appointment.ServiceOrderTemplate

Annotations (15)

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

Fields (31)

KeyFieldSource TableSource FieldDescription
KEY ServiceOrderTemplate ServiceDocument
ServiceOrderTemplateUUID ServiceDocumentUUID
ServiceOrderTemplateType ServiceDocumentType
ServiceObjectType ServiceObjectType
SrvcOrdTmplDescription ServiceDocumentDescription
ServiceDocumentTemplateType ServiceDocumentTemplateType
SrvcDocTemplateSearchTermText SrvcDocTemplateSearchTermText
Language Language
ServiceDocumentPriority ServiceDocumentPriority
SrvcDocTmplValdtyStartDateTime SrvcDocTmplValdtyStartDateTime
SrvcDocTmplValdtyEndDateTime SrvcDocTmplValdtyEndDateTime
SrvcOrdTmplIsReleased ServiceDocumentIsReleased
ServiceOrderType ServiceObjectType
ServiceDocumentType ServiceDocumentType
SalesOrganizationOrgUnitID SalesOrganizationOrgUnitID
SalesOrganization SalesOrganization
SalesOfficeOrgUnitID SalesOfficeOrgUnitID
SalesGroupOrgUnitID SalesGroupOrgUnitID
EnterpriseServiceOrganization EnterpriseServiceOrganization
DistributionChannel DistributionChannel
Division Division
SalesOffice SalesOffice
SalesGroup SalesGroup
_Item _Item
_PersonResponsible _PersonResponsible
_ReferenceObject _ReferenceObject
_Text _Text
_SrvcOrdTmplUserStatus _SrvcOrdTmplUserStatus
_Partner _Partner
_Duration _Duration
_Appointment _Appointment
@ClientHandling.algorithm:#SESSION_VARIABLE
@EndUserText.label: 'Service Order Template'
@VDM: {
  viewType: #COMPOSITE,
  lifecycle.contract.type: #PUBLIC_REMOTE_API
}
@AbapCatalog: {
  sqlViewName: 'ASRVORDTMPL',
  compiler.compareFilter: true,
  preserveKey: true

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

@ObjectModel: {
   representativeKey: 'ServiceOrderTemplate',
   createEnabled: true,
   updateEnabled: true,
   usageType: {
     dataClass:      #TRANSACTIONAL,
     serviceQuality: #C,
     sizeCategory:   #L
   }
}
@Metadata.ignorePropagatedAnnotations: true

define view A_ServiceOrderTemplate
  as select from I_ServiceDocumentEnhcd as ServiceOrderTemplate

  association [0..*] to A_ServiceOrderTemplateItem   as _Item                  on  $projection.ServiceOrderTemplate = _Item.ServiceOrderTemplate
  association [0..*] to A_ServiceOrderTmplPersonResp as _PersonResponsible     on  $projection.ServiceOrderTemplate = _PersonResponsible.ServiceOrderTemplate

  association [0..*] to A_ServiceOrderTmplRefObject  as _ReferenceObject       on  $projection.ServiceOrderTemplate = _ReferenceObject.ServiceOrderTemplate
  association [0..*] to A_ServiceOrderTmplText       as _Text                  on  $projection.ServiceOrderTemplate = _Text.ServiceOrderTemplate

  //Extensibility

  association [0..1] to E_ServiceDocument            as _Extension             on  _Extension.ServiceCategory       = 'BUS2000116'
                                                                               and $projection.ServiceOrderTemplate = _Extension.ServiceOrder

  association [0..*] to A_SrvcOrdTmplUserStatus      as _SrvcOrdTmplUserStatus on  $projection.ServiceOrderTemplate = _SrvcOrdTmplUserStatus.ServiceOrderTemplate

  association [0..*] to A_SrvcOrdTmplPartner         as _Partner               on  $projection.ServiceOrderTemplate = _Partner.ServiceOrderTemplate

  association [0..*] to A_SrvcOrdTmplDuration        as _Duration              on  $projection.ServiceOrderTemplate = _Duration.ServiceOrderTemplate

  association [0..*] to A_SrvcOrdTmplAppointment     as _Appointment           on  $projection.ServiceOrderTemplate = _Appointment.ServiceOrderTemplate

{

  key  ServiceDocument            as ServiceOrderTemplate,
       ServiceDocumentUUID        as ServiceOrderTemplateUUID,
       @ObjectModel.sapObjectNodeTypeReference: 'ServiceDocumentType'
       ServiceDocumentType        as ServiceOrderTemplateType,
       ServiceObjectType,

       ServiceDocumentDescription as SrvcOrdTmplDescription,
       ServiceDocumentTemplateType,
       SrvcDocTemplateSearchTermText,

       Language,
       @ObjectModel.sapObjectNodeTypeReference: 'ServiceDocumentPriority'
       ServiceDocumentPriority,
       SrvcDocTmplValdtyStartDateTime,
       SrvcDocTmplValdtyEndDateTime,

       /* STATUS */
       ServiceDocumentIsReleased  as SrvcOrdTmplIsReleased,
       //case ServiceDocumentStatus

       //when 'C' then 'X'

       //else ''

       //end                        as SrvcOrdTmplIsCompleted,


       case ServiceDocumentIsOpen
       when '' then
       case ServiceDocumentIsReleased
       when '' then 'X' else ''
       end
       else ''
       end                        as SrvcOrdTmplIsCompleted,

       ServiceObjectType          as ServiceOrderType,
       ServiceDocumentType,

       /* ORG */
       /********************************************************/
       /*********  OP Specific Fields **************************/
       @feature: 'BF:API_FULLSCOPE'
       SalesOrganizationOrgUnitID,

       SalesOrganization,

       @feature: 'BF:API_FULLSCOPE'
       SalesOfficeOrgUnitID,

       @feature: 'BF:API_FULLSCOPE'
       SalesGroupOrgUnitID,

       @feature: 'BF:API_FULLSCOPE'
       @ObjectModel.sapObjectNodeTypeReference: 'EnterpriseServiceOrganization'
       EnterpriseServiceOrganization,
       /********************************************************/
       DistributionChannel,
       @ObjectModel.sapObjectNodeTypeReference: 'Division'
       Division,
       SalesOffice,
       SalesGroup,

       //Associations

       _Item,
       _PersonResponsible,
       _ReferenceObject,
       _Text,
       _SrvcOrdTmplUserStatus,
       //@feature: 'BF:API_FULLSCOPE'

       _Partner,
       _Duration,
       _Appointment
}
where
      ServiceObjectType           = 'BUS2000116' // Service Process

  and ServiceDocumentIsQuotation  is initial
  and ServiceDocumentTemplateType is not initial
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_SERVICEDOCUMENTENHCD"
],
"ASSOCIATED":
[
"A_SERVICEORDERTEMPLATEITEM",
"A_SERVICEORDERTMPLPERSONRESP",
"A_SERVICEORDERTMPLREFOBJECT",
"A_SERVICEORDERTMPLTEXT",
"A_SRVCORDTMPLAPPOINTMENT",
"A_SRVCORDTMPLDURATION",
"A_SRVCORDTMPLPARTNER",
"A_SRVCORDTMPLUSERSTATUS",
"E_SERVICEDOCUMENT"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/