R_ServiceContractTemplateTP

DDL: R_SERVICECONTRACTTEMPLATETP Type: view_entity TRANSACTIONAL Package: CRMS4_SRVC_CONTR_TEMPLATE_RAP

Service Contract Template - TP

R_ServiceContractTemplateTP is a Transactional CDS View that provides data about "Service Contract Template - TP" in SAP S/4HANA. It reads from 1 data source (I_ServiceDocumentEnhcd) and exposes 41 fields with key field ServiceContractTemplate. It has 10 associations to related views. Part of development package CRMS4_SRVC_CONTR_TEMPLATE_RAP.

Data Sources (1)

SourceAliasJoin Type
I_ServiceDocumentEnhcd I_ServiceDocumentEnhcd from

Associations (10)

CardinalityTargetAliasCondition
[0..1] I_StatusObjectUUIDStatus _SrvcContrTmplStatus $projection.ServiceContractTemplateUUID = _SrvcContrTmplStatus.StatusObjectUUID and _SrvcContrTmplStatus.StatusCode between 'I1002' and 'I1005' and _SrvcContrTmplStatus.StatusIsActive = 'X'
[1] I_ServiceDocumentStatusText _ServiceDocumentStatusText $projection.SrvcContrTmplStatus = _ServiceDocumentStatusText.ServiceDocumentStatus and _ServiceDocumentStatusText.Language = $session.system_language
[0..1] I_SrvcDocDurationUnitText _SrvcDocDurationUnitText $projection.SrvcContrDurationUnit = _SrvcDocDurationUnitText.SrvcDocDurationUnit and _SrvcDocDurationUnitText.Language = $session.system_language
[0..1] I_ServiceDocErrorStatusText _SrvcDocErrorStatusText $projection.ServiceDocumentHasError = _SrvcDocErrorStatusText.ServiceDocumentHasError and _SrvcDocErrorStatusText.ServiceDocumentHasError = 'X' and _SrvcDocErrorStatusText.Language = $session.system_language
[0..1] R_SrvcContrTmplDurationTP _SrvcContrTmplDurationTP $projection.ServiceContractTemplate = _SrvcContrTmplDurationTP.ServiceContractTemplate and _SrvcContrTmplDurationTP.SrvcDocDurationType = 'CONTDURA'
[0..1] I_BusinessPartner _ResponsibleEmployee $projection.RespEmployeeBusinessPartnerId = _ResponsibleEmployee.BusinessPartner
[0..1] E_ServiceDocument _ServiceDocumentExt $projection.ServiceObjectType = _ServiceDocumentExt.ServiceCategory and $projection.ServiceContractTemplate = _ServiceDocumentExt.ServiceOrder
[0..1] I_UnitOfMeasure _SrvcContrTmplDurnUnit $projection.SrvcContrDurationUnitSAPCode = _SrvcContrTmplDurnUnit.UnitOfMeasure
[0..*] R_SrvcContrTmplItemTP _Item
[0..*] R_SrvcContrTmplLongTextTP _LongText

Annotations (10)

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

Fields (41)

KeyFieldSource TableSource FieldDescription
KEY ServiceContractTemplate ServiceDocument
ServiceObjectType ServiceObjectType
ServiceContractTemplateType ServiceDocumentType
ServiceDocumentTemplateType ServiceDocumentTemplateType
ServiceContractTemplateUUID ServiceDocumentUUID
SrvcContrTmplDescription ServiceDocumentDescription
Language Language
PostingDate PostingDate
SrvcContrTmplValdtyStrtDteTime SrvcDocTmplValdtyStartDateTime
SrvcContrTmplValdtyEndDateTime SrvcDocTmplValdtyEndDateTime
SrvcContrDuration _SrvcContrTmplDurationTP SrvcDocDurationValue
SrvcContrDurationUnit _SrvcContrTmplDurationTP SrvcDocDurationUnit
SrvcContrDurationUnitSAPCode _SrvcContrTmplDurationTP SrvcDocDurationUnitSAPCode
ServiceDocCreationDateTime ServiceDocCreationDateTime
ServiceDocChangedDateTime ServiceDocChangedDateTime
ServiceDocumentCreatedByUser ServiceDocumentCreatedByUser
ServiceDocumentChangedByUser ServiceDocumentChangedByUser
RespEmployeeBusinessPartnerId ResponsibleEmployee
SrvcContrTmplStatus ServiceDocumentStatus
SalesOrganization SalesOrganization
SalesOffice SalesOffice
SalesGroup SalesGroup
DistributionChannel DistributionChannel
Division Division
SalesOrganizationOrgUnitID SalesOrganizationOrgUnitID
SalesOfficeOrgUnitID SalesOfficeOrgUnitID
SalesGroupOrgUnitID SalesGroupOrgUnitID
ServiceOrganization ServiceOrganization
PurchaseOrderByCustomer PurchaseOrderByCustomer
CustomerPurchaseOrderDate CustomerPurchaseOrderDate
_ServiceDocumentType _ServiceDocumentType
_ServiceObjType _ServiceObjType
_ResponsibleEmployee _ResponsibleEmployee
_SrvcContrTmplDurationTP _SrvcContrTmplDurationTP
_SrvcDocDurationUnitText _SrvcDocDurationUnitText
_SrvcContrTmplStatus _SrvcContrTmplStatus
_ServiceDocumentStatusText _ServiceDocumentStatusText
_SrvcDocErrorStatusText _SrvcDocErrorStatusText
_SrvcContrTmplDurnUnit _SrvcContrTmplDurnUnit
_Item _Item
_LongText _LongText
@AccessControl: {
  authorizationCheck: #MANDATORY,
  personalData.blocking: #('TRANSACTIONAL_DATA')
}
@VDM: {
  viewType: #TRANSACTIONAL,
  lifecycle.contract.type: #SAP_INTERNAL_API
}
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.sapObjectNodeType.name: 'ServiceContractTemplate'
@ObjectModel: {
  semanticKey: ['ServiceContractTemplate'],
  representativeKey: 'ServiceContractTemplate',
  usageType: {dataClass:      #TRANSACTIONAL,
              serviceQuality: #C,
              sizeCategory:   #L}
}

@EndUserText.label: 'Service Contract Template - TP'

define root view entity R_ServiceContractTemplateTP
  as select from I_ServiceDocumentEnhcd

  association [0..1] to I_StatusObjectUUIDStatus    as _SrvcContrTmplStatus       on  $projection.ServiceContractTemplateUUID =       _SrvcContrTmplStatus.StatusObjectUUID
                                                                                  and _SrvcContrTmplStatus.StatusCode         between 'I1002' and 'I1005'
                                                                                  and _SrvcContrTmplStatus.StatusIsActive     =       'X'

  association [1]    to I_ServiceDocumentStatusText as _ServiceDocumentStatusText on  $projection.SrvcContrTmplStatus     = _ServiceDocumentStatusText.ServiceDocumentStatus
                                                                                  and _ServiceDocumentStatusText.Language = $session.system_language

  association [0..1] to I_SrvcDocDurationUnitText   as _SrvcDocDurationUnitText   on  $projection.SrvcContrDurationUnit   = _SrvcDocDurationUnitText.SrvcDocDurationUnit
                                                                                  and _SrvcDocDurationUnitText.Language = $session.system_language

  association [0..1] to I_ServiceDocErrorStatusText as _SrvcDocErrorStatusText    on  $projection.ServiceDocumentHasError             = _SrvcDocErrorStatusText.ServiceDocumentHasError
                                                                                  and _SrvcDocErrorStatusText.ServiceDocumentHasError = 'X'
                                                                                  and _SrvcDocErrorStatusText.Language                = $session.system_language

  association [0..1] to R_SrvcContrTmplDurationTP   as _SrvcContrTmplDurationTP   on  $projection.ServiceContractTemplate = _SrvcContrTmplDurationTP.ServiceContractTemplate
                                                                                  and _SrvcContrTmplDurationTP.SrvcDocDurationType = 'CONTDURA'

  association [0..1] to I_BusinessPartner           as _ResponsibleEmployee       on  $projection.RespEmployeeBusinessPartnerId = _ResponsibleEmployee.BusinessPartner

  association [0..1] to E_ServiceDocument           as _ServiceDocumentExt        on  $projection.ServiceObjectType       = _ServiceDocumentExt.ServiceCategory
                                                                                  and $projection.ServiceContractTemplate = _ServiceDocumentExt.ServiceOrder
  
  association [0..1] to I_UnitOfMeasure             as _SrvcContrTmplDurnUnit     on  $projection.SrvcContrDurationUnitSAPCode = _SrvcContrTmplDurnUnit.UnitOfMeasure
  
  composition [0..*] of R_SrvcContrTmplItemTP       as _Item
  
  composition [0..*] of R_SrvcContrTmplLongTextTP   as _LongText

{

  key ServiceDocument                                    as ServiceContractTemplate,

      @ObjectModel.foreignKey.association: '_ServiceObjType'
      ServiceObjectType,
      @ObjectModel.foreignKey.association: '_ServiceDocumentType'
      ServiceDocumentType                                as ServiceContractTemplateType,
      ServiceDocumentTemplateType,
      ServiceDocumentUUID                                as ServiceContractTemplateUUID,
      ServiceDocumentDescription                         as SrvcContrTmplDescription,

      Language,

      PostingDate,

      // Validity

      @Semantics.dateTime:true
      SrvcDocTmplValdtyStartDateTime                     as SrvcContrTmplValdtyStrtDteTime,
      @Semantics.dateTime:true
      SrvcDocTmplValdtyEndDateTime                       as SrvcContrTmplValdtyEndDateTime,
      
      cast( tstmp_to_dats( SrvcDocTmplValdtyStartDateTime,
          abap_system_timezone( $session.client,'NULL' ),
          $session.client,
          'NULL' ) as crms4_created_on preserving type ) as SrvcDocTmplValidityStartDate,
      cast( tstmp_to_dats( SrvcDocTmplValdtyEndDateTime,
          abap_system_timezone( $session.client,'NULL' ),
          $session.client,
          'NULL' ) as crms4_created_on preserving type ) as SrvcDocTmplValidityEndDate,

      // Duration

      _SrvcContrTmplDurationTP.SrvcDocDurationValue         as SrvcContrDuration,
      _SrvcContrTmplDurationTP.SrvcDocDurationUnit          as SrvcContrDurationUnit,
      _SrvcContrTmplDurationTP.SrvcDocDurationUnitSAPCode   as SrvcContrDurationUnitSAPCode,

      // Administrative fields

      ServiceDocCreationDateTime,
      ServiceDocChangedDateTime,
      ServiceDocumentCreatedByUser,
      ServiceDocumentChangedByUser,

      // Responsibile employee

      @ObjectModel.foreignKey.association: '_ResponsibleEmployee'
      ResponsibleEmployee                                as RespEmployeeBusinessPartnerId,

      // Life cycle status

      @Semantics.booleanIndicator: true
      cast( case _SrvcContrTmplStatus.StatusCode
          when 'I1002' then 'X' else ' '
      end as xfeld preserving type )                     as SrvcContrTmplIsNew,
      @Semantics.booleanIndicator: true
      cast( case _SrvcContrTmplStatus.StatusCode
          when 'I1003' then 'X' else ' '
      end as xfeld preserving type )                     as SrvcContrTmplIsInProcess,
      @Semantics.booleanIndicator: true
      cast( case _SrvcContrTmplStatus.StatusCode
          when 'I1004' then 'X' else ' '
      end as xfeld preserving type )                     as SrvcContrTmplIsReleased,
      @Semantics.booleanIndicator: true
      cast( case _SrvcContrTmplStatus.StatusCode
          when 'I1005' then 'X' else ' '
      end as xfeld preserving type )                     as SrvcContrTmplIsCompleted,

      ServiceDocumentStatus                              as SrvcContrTmplStatus,

      // Error status

      @Semantics.booleanIndicator: true
      cast( ServiceDocumentHasError
          as xfeld preserving type )                     as ServiceDocumentHasError,
      case ServiceDocumentHasError
          when 'X' then 1 else 0
      end                                                as SrvcContrErrStsCriticality,

      // Organiztion

      SalesOrganization,
      SalesOffice,
      SalesGroup,
      DistributionChannel,
      Division,
      SalesOrganizationOrgUnitID,
      SalesOfficeOrgUnitID,
      SalesGroupOrgUnitID,
      ServiceOrganization,
      
      // Reference

      PurchaseOrderByCustomer,
      CustomerPurchaseOrderDate,

      // Associations

      _ServiceDocumentType,
      _ServiceObjType,
      _ResponsibleEmployee,
      _SrvcContrTmplDurationTP,
      _SrvcDocDurationUnitText,
      _SrvcContrTmplStatus,
      _ServiceDocumentStatusText,
      _SrvcDocErrorStatusText,
      _SrvcContrTmplDurnUnit,
      _Item,
      _LongText

}
where
      ServiceObjectType = 'BUS2000112'
  and ServiceDocumentTemplateType != ''