P_PurchaseRequisitionWorkItem

DDL: P_PURCHASEREQUISITIONWORKITEM SQL: PPURREQWI Type: view COMPOSITE Package: VDM_MM_PUR_PR

Private View for Purchase Requistion Workitem

P_PurchaseRequisitionWorkItem is a Composite CDS View that provides data about "Private View for Purchase Requistion Workitem" in SAP S/4HANA. It reads from 1 data source (I_WorkflowTask) and exposes 7 fields with key field WorkflowTaskInternalID. It has 1 association to related views. Part of development package VDM_MM_PUR_PR.

Data Sources (1)

SourceAliasJoin Type
I_WorkflowTask I_WorkflowTask from

Associations (1)

CardinalityTargetAliasCondition
[1..1] I_WorkflowTaskApplObject _WorkflowTaskApplObject _WorkflowTaskApplObject.WorkflowTaskInternalID = $projection.WorkflowTaskInternalID association[1..1] to P_PURREQWRKITM_RECEPIENT as _recepient on _recepient.WorkflowTaskInternalID = $projection.WorkflowTaskInternalID and _recepient.WorkflowTaskRecipient = $session.user

Annotations (9)

NameValueLevelField
AbapCatalog.sqlViewName PPURREQWI view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #NOT_REQUIRED view
VDM.viewType #COMPOSITE view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #L view
ObjectModel.usageType.dataClass #MIXED view
VDM.private true view

Fields (7)

KeyFieldSource TableSource FieldDescription
KEY WorkflowTaskInternalID WorkflowTaskInternalID
TechnicalWrkflwObjectType _WorkflowTaskApplObject TechnicalWrkflwObjectType
TechnicalWrkflwObject _WorkflowTaskApplObject TechnicalWrkflwObject
WorkflowTaskRecipient _recepient WorkflowTaskRecipient
WorkflowTaskType WorkflowTaskType
WorkflowTaskStatus WorkflowTaskStatus
_TaskRecipient _TaskRecipient
@AbapCatalog.sqlViewName: 'PPURREQWI'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@VDM.viewType: #COMPOSITE
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #L
@ObjectModel.usageType.dataClass: #MIXED
@VDM.private: true
//@EndUserText.label: 'View for Purchase Requistion Workitem'

define view P_PurchaseRequisitionWorkItem as select from I_WorkflowTask  
association [1..1] to  I_WorkflowTaskApplObject as _WorkflowTaskApplObject 
 on _WorkflowTaskApplObject.WorkflowTaskInternalID = $projection.WorkflowTaskInternalID
association[1..1] to P_PURREQWRKITM_RECEPIENT as _recepient
on  _recepient.WorkflowTaskInternalID = $projection.WorkflowTaskInternalID
and _recepient.WorkflowTaskRecipient  = $session.user
{
  key WorkflowTaskInternalID,
  
  case _WorkflowTaskApplObject.SAPBusinessObjectNodeKey1
  when ''
  then cast(substring(_WorkflowTaskApplObject.TechnicalWrkflwObject, 1 , 10) as banfn)
  else 
  cast(_WorkflowTaskApplObject.SAPBusinessObjectNodeKey1 as banfn) 
  end as PurchaseRequisition,
  
  case _WorkflowTaskApplObject.SAPBusinessObjectNodeKey2 
  when ''
  then cast(substring(_WorkflowTaskApplObject.TechnicalWrkflwObject, 11 , 15) as bnfpo)
  else 
  cast(_WorkflowTaskApplObject.SAPBusinessObjectNodeKey2 as bnfpo) 
  end as PurchaseRequisitionItem,  
  
  case _WorkflowTaskApplObject.TechnicalWrkflwObjectType
  when 'BUS2105001'
  then cast('X' as boolean) 
  when 'CL_MM_PUR_WF_OBJECT_PR'
  then cast('X' as boolean)
  when 'CL_MM_PUR_WF_OBJECT_CPR'
  then cast('X' as boolean)  
  else cast(' ' as boolean) 
  end as PurReqnHdrWrkflwApprovalIsActv,  
  
  case _WorkflowTaskApplObject.TechnicalWrkflwObjectType
  when 'BUS2009001' 
  then cast('X' as boolean)
  when 'CL_MM_PUR_WF_OBJECT_PR_ITEM'
  then cast('X' as boolean)
  when 'CL_MM_PUR_WF_OBJECT_CPR_ITM'  
  then cast('X' as boolean) 
  else cast('' as boolean) 
  end as PurReqnItmWrkflwApprvlIsActv,     
      
  _WorkflowTaskApplObject.TechnicalWrkflwObjectType as TechnicalWrkflwObjectType,
  _WorkflowTaskApplObject.TechnicalWrkflwObject as TechnicalWrkflwObject, 
//  case 

//       //Assigned User (within the same team)

//       when _TaskRecipient[1:WorkflowTaskRecipient =  $session.user 

//                         and WorkflowTaskSubstitutedUser = '' ].WorkflowTaskRecipient <> ''

//           then _TaskRecipient[1:WorkflowTaskRecipient =  $session.user 

//                             and WorkflowTaskSubstitutedUser = '' ].WorkflowTaskRecipient 

//       

//       //Substitute user (from different team)     

//       when _TaskRecipient[1:WorkflowTaskRecipient =  $session.user 

//                         and WorkflowTaskSubstitutedUser <> '' ].WorkflowTaskRecipient <> ''

//           then _TaskRecipient[1:WorkflowTaskRecipient =  $session.user 

//                             and WorkflowTaskSubstitutedUser <> '' ].WorkflowTaskRecipient

//       

//       //Normal Scenario

//       else _TaskRecipient[1:WorkflowTaskRecipient =  $session.user 

//                         and WorkflowTaskSubstitutedUser = '' ].WorkflowTaskRecipient

//                          

//  end as WorkflowTaskRecipient,

  _recepient.WorkflowTaskRecipient as WorkflowTaskRecipient,
  WorkflowTaskType,
  WorkflowTaskStatus,
  _TaskRecipient
}
where ( _WorkflowTaskApplObject.TechnicalWrkflwObjectType  = 'BUS2009001'or 
 _WorkflowTaskApplObject.TechnicalWrkflwObjectType  = 'BUS2105001' or 
 _WorkflowTaskApplObject.TechnicalWrkflwObjectType  = 'CL_MM_PUR_WF_OBJECT_CPR'or 
 _WorkflowTaskApplObject.TechnicalWrkflwObjectType  = 'CL_MM_PUR_WF_OBJECT_CPR_ITM' or 
 _WorkflowTaskApplObject.TechnicalWrkflwObjectType  = 'CL_MM_PUR_WF_OBJECT_PR'or  
 _WorkflowTaskApplObject.TechnicalWrkflwObjectType = 'CL_MM_PUR_WF_OBJECT_PR_ITEM' ) and 
WorkflowTaskType = 'W' and 
_WorkflowTaskApplObject.WorkflowObjectRole = '01' and 
( WorkflowTaskStatus = 'READY' or WorkflowTaskStatus = 'SELECTED' )