P_ServiceOrderBpfPrdcssr

DDL: P_SERVICEORDERBPFPRDCSSR Type: view_entity COMPOSITE

Process Flow for Predecessor Service Transactions

P_ServiceOrderBpfPrdcssr is a Composite CDS View that provides data about "Process Flow for Predecessor Service Transactions" in SAP S/4HANA. It reads from 2 data sources (I_ServiceDocumentSuccessor, C_SrvcDocDocumentFlow) and exposes 9 fields with key fields ServiceDocument, ServiceDocumentRelationUUID, CustMgmtPrdcssrTransactionKey.

Data Sources (2)

SourceAliasJoin Type
I_ServiceDocumentSuccessor _PredecessorSuccessor inner
C_SrvcDocDocumentFlow _ServiceOrder from

Annotations (8)

NameValueLevelField
AccessControl.authorizationCheck #NOT_REQUIRED view
EndUserText.label Process Flow for Predecessor Service Transactions view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.serviceQuality #X view
ObjectModel.usageType.sizeCategory #S view
ObjectModel.usageType.dataClass #MIXED view
VDM.private true view
VDM.viewType #COMPOSITE view

Fields (9)

KeyFieldSource TableSource FieldDescription
KEY ServiceDocument C_SrvcDocDocumentFlow ServiceDocument
KEY ServiceDocumentRelationUUID C_SrvcDocDocumentFlow ServiceDocumentRelationUUID
KEY CustMgmtPrdcssrTransactionKey C_SrvcDocDocumentFlow CustMgmtPrdcssrTransactionKey
ServiceOrder C_SrvcDocDocumentFlow ServiceOrder
SrvcMgmtObjectUUID C_SrvcDocDocumentFlow SrvcMgmtObjectUUID
PrecedingDocument C_SrvcDocDocumentFlow CustMgmtPrdcssrTransactionKey
PrecedingDocumentCategory
SubsequentDocument
SubsequentDocumentCategory
@AbapCatalog.viewEnhancementCategory: [#NONE]
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Process Flow for Predecessor Service Transactions'
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.usageType:{
    serviceQuality: #X,
    sizeCategory: #S,
    dataClass: #MIXED
}
@VDM.private: true
@VDM: {
  viewType: #COMPOSITE
}
define view entity P_ServiceOrderBpfPrdcssr
  as select from C_SrvcDocDocumentFlow      as _ServiceOrder
    inner join   I_ServiceDocumentSuccessor as _PredecessorSuccessor on  _ServiceOrder.SrvcMgmtObjectUUID                   = _PredecessorSuccessor.ServiceDocumentUUID
                                                                     and _ServiceOrder.ServiceDocumentRelationUUID          = _PredecessorSuccessor.ServiceDocumentRelationUUID
                                                                     and _ServiceOrder.ReltdSrvcDocIsPredecessor            = 'X'
                                                                     and _PredecessorSuccessor.ServiceDocumentSuccessorUUID is not null
{
  key _ServiceOrder.ServiceDocument,
  key _ServiceOrder.ServiceDocumentRelationUUID,
  key _ServiceOrder.CustMgmtPrdcssrTransactionKey,
      _ServiceOrder.ServiceOrder,
      _ServiceOrder.SrvcMgmtObjectUUID,
      _ServiceOrder.CustMgmtPrdcssrTransactionKey as PrecedingDocument,
      concat(_ServiceOrder.PrdcssrSuccssrDocObjectType,_ServiceOrder.ServiceDocumentIsQuotation)  as PrecedingDocumentCategory,
      _PredecessorSuccessor._ServiceDoc.ServiceDocument as SubsequentDocument,
      concat(_PredecessorSuccessor.ServiceDocSuccessorBusObjType,_PredecessorSuccessor._ServiceDoc.ServiceDocumentIsQuotation) as SubsequentDocumentCategory
//      _PredecessorSuccessor.ServiceDocumentSuccessorUUID    as ServiceDocumentSuccessorUUID, //Not Required

//      _ServiceOrder.ServiceObjectType //Not Required

//      


}
where _ServiceOrder.ReltdSrvcDocIsPredecessor = 'X'
and(
       _ServiceOrder.PrdcssrSuccssrDocObjectType   = 'BUS2000116'
    or _ServiceOrder.PrdcssrSuccssrDocObjectType   = 'BUS2000117'
    or _ServiceOrder.PrdcssrSuccssrDocObjectType   = 'BUS2000172'
    or _ServiceOrder.PrdcssrSuccssrDocObjectType   = 'VBRK'
  )


//Added for predecessors which are not part of _Servicedoc association for get Predecessor's Successor. But since only Sol Order , 

//Service Quotation are only considered. No need to add below part

  
  
//

//union select from C_SrvcDocDocumentFlow      as _ServiceOrder

//    inner join   I_ServiceDocumentSuccessor as _PredecessorSuccessor on  _ServiceOrder.SrvcMgmtObjectUUID                   = _PredecessorSuccessor.ServiceDocumentUUID

//                                                                     and _ServiceOrder.ServiceDocumentRelationUUID          = _PredecessorSuccessor.ServiceDocumentRelationUUID

//                                                                     and _ServiceOrder.ReltdSrvcDocIsPredecessor            = 'X'

//                                                                     and _PredecessorSuccessor.ServiceDocumentSuccessorUUID is null

//{

//  key _ServiceOrder.ServiceDocument,

//  key _ServiceOrder.ServiceDocumentRelationUUID,

//  key _ServiceOrder.CustMgmtPrdcssrTransactionKey,

//      _ServiceOrder.ServiceOrder,

//      _ServiceOrder.SrvcMgmtObjectUUID,

//      _ServiceOrder.CustMgmtPrdcssrTransactionKey as PrecedingDocument,

//      _ServiceOrder.PrdcssrSuccssrDocObjectType as PrecedingDocumentCategory,

//      substring(_PredecessorSuccessor.ServiceDocSuccessor, 1, 10) as SubsequentDocument,

//      _PredecessorSuccessor.ServiceDocSuccessorBusObjType as SubsequentDocumentCategory,

//      _PredecessorSuccessor.ServiceDocumentSuccessorUUID    as ServiceDocumentSuccessorUUID, //Not Required

//      _ServiceOrder.ServiceObjectType //Not Required

//      

//

//}

//where _ServiceOrder.ReltdSrvcDocIsPredecessor = 'X'

//and(

//       _ServiceOrder.PrdcssrSuccssrDocObjectType   = 'BUS2000116'

//    or _ServiceOrder.PrdcssrSuccssrDocObjectType   = 'BUS2000117'

//    or _ServiceOrder.PrdcssrSuccssrDocObjectType   = 'BUS2000172'

//    or _ServiceOrder.PrdcssrSuccssrDocObjectType   = 'VBRK'

//  )