R_SrvcOrdUserStatusTP

DDL: R_SRVCORDUSERSTATUSTP Type: view_entity TRANSACTIONAL

Service Order User Status - TP

R_SrvcOrdUserStatusTP is a Transactional CDS View that provides data about "Service Order User Status - TP" in SAP S/4HANA. It reads from 3 data sources (I_ServiceDocument, I_SrvcMgmtObjectStatus, P_StatusObjectWithGUID) and exposes 6 fields with key fields ServiceOrder, UserStatus. It has 2 associations to related views.

Data Sources (3)

SourceAliasJoin Type
I_ServiceDocument ServiceOrder inner
I_SrvcMgmtObjectStatus ServiceOrderStatus from
P_StatusObjectWithGUID StatusObject inner

Associations (2)

CardinalityTargetAliasCondition
[0..1] I_StatusCode _StatusCode $projection.UserStatus = _StatusCode.StatusCode and $projection.StatusProfile = _StatusCode.StatusProfile
[0..1] I_StatusProfile _StatusProfile $projection.StatusProfile = _StatusProfile.StatusProfile

Annotations (8)

NameValueLevelField
AccessControl.authorizationCheck #CHECK view
VDM.viewType #TRANSACTIONAL view
VDM.lifecycle.contract.type #SAP_INTERNAL_API view
Metadata.ignorePropagatedAnnotations true view
EndUserText.label Service Order User Status - TP view
ObjectModel.usageType.serviceQuality #B view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #TRANSACTIONAL view

Fields (6)

KeyFieldSource TableSource FieldDescription
KEY ServiceOrder I_ServiceDocument ServiceDocument
KEY UserStatus I_SrvcMgmtObjectStatus SrvcMgmtObjectStatus
StatusProfile P_StatusObjectWithGUID StatusProfile
_StatusCode _StatusCode
_StatusProfile _StatusProfile
_ServiceOrderTP _ServiceOrderTP
@AccessControl: {
  authorizationCheck: #CHECK,
  personalData.blocking: #('TRANSACTIONAL_DATA')
}
@VDM: {
  viewType: #TRANSACTIONAL,
  lifecycle.contract.type: #SAP_INTERNAL_API
}
@Metadata:
{
  ignorePropagatedAnnotations: true
}
@EndUserText.label: 'Service Order User Status - TP'
@ObjectModel: {
  semanticKey: ['ServiceOrder'],
  usageType: {serviceQuality: #B, sizeCategory: #L, dataClass: #TRANSACTIONAL}
}
define view entity R_SrvcOrdUserStatusTP
  as select from I_SrvcMgmtObjectStatus as ServiceOrderStatus
  inner join     P_StatusObjectWithGUID as StatusObject     on  ServiceOrderStatus.SrvcMgmtObjectUUID = StatusObject.StatusObjectUUID 
  inner join     I_ServiceDocument      as ServiceOrder     on  ServiceOrderStatus.SrvcMgmtObjectUUID = ServiceOrder.ServiceDocumentUUID
                                                            and ServiceOrder.ServiceObjectType        = 'BUS2000116'
                                                            and ServiceOrder.ServiceDocumentIsQuotation  is initial
                                                            and ServiceOrder.ServiceDocumentTemplateType is initial                                                            
                                                            and ServiceOrderStatus.SrvcMgmtObjectStatus like 'E%'  
                                                            and ServiceOrderStatus.SrvcMgmtObjectStatusIsInactive = ' '

  association        to parent R_ServiceOrderTP as _ServiceOrderTP on  $projection.ServiceOrder = _ServiceOrderTP.ServiceOrder

  association [0..1] to I_StatusCode            as _StatusCode     on  $projection.UserStatus    = _StatusCode.StatusCode
                                                                   and $projection.StatusProfile = _StatusCode.StatusProfile

  association [0..1] to I_StatusProfile         as _StatusProfile  on  $projection.StatusProfile = _StatusProfile.StatusProfile

{

  key ServiceOrder.ServiceDocument as ServiceOrder,

      @ObjectModel.foreignKey.association: '_StatusCode'
  key ServiceOrderStatus.SrvcMgmtObjectStatus as UserStatus,

      @ObjectModel.foreignKey.association: '_StatusProfile'
      StatusObject.StatusProfile,

      /* Associations */ 
      _StatusCode,
      _StatusProfile,
      _ServiceOrderTP

}