I_BlockFuncForEntProject

DDL: I_BLOCKFUNCFORENTPROJECT SQL: IROJBLOCKFUNC Type: view COMPOSITE

Basic view for block function calculation

I_BlockFuncForEntProject is a Composite CDS View that provides data about "Basic view for block function calculation" in SAP S/4HANA. It reads from 1 data source (I_PPM_ProjectSummaryTask) and exposes 2 fields with key field ProjectUUID.

Data Sources (1)

SourceAliasJoin Type
I_PPM_ProjectSummaryTask ProjectElement from

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName IROJBLOCKFUNC view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #NOT_REQUIRED view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
VDM.viewType #COMPOSITE view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.sizeCategory #L view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Basic view for block function calculation view

Fields (2)

KeyFieldSource TableSource FieldDescription
KEY ProjectUUID I_PPM_ProjectSummaryTask ProjectUUID
ParentObjectUUID I_PPM_ProjectSummaryTask ProjectSummaryTaskUUID
@AbapCatalog.sqlViewName: 'IROJBLOCKFUNC'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@AccessControl.personalData.blocking:  #BLOCKED_DATA_EXCLUDED
@VDM: {
    viewType: #COMPOSITE
}
@ObjectModel: {
  
   usageType: {
     serviceQuality:  #C,
     dataClass:       #MIXED,
     sizeCategory:    #L
    }
}
@ClientHandling.algorithm: #SESSION_VARIABLE 
@EndUserText.label: 'Basic view for block function calculation'
 define view I_BlockFuncForEntProject as select from I_PPM_ProjectSummaryTask as ProjectElement
    left outer to one join I_EntProjElmntBlockFunc as EntProjTimeRecgIsBlkd 
        on      ProjectElement.ProjectSummaryTaskUUID = EntProjTimeRecgIsBlkd.ParentObjectUUID
         and    EntProjTimeRecgIsBlkd.EntProjElementFunctionID      = 'S001'
    left outer to one join I_EntProjElmntBlockFunc as EntProjStaffExpensePostgIsBlkd 
        on      ProjectElement.ProjectSummaryTaskUUID = EntProjStaffExpensePostgIsBlkd.ParentObjectUUID
         and    EntProjStaffExpensePostgIsBlkd.EntProjElementFunctionID   = 'S003'
    left outer to one join I_EntProjElmntBlockFunc as EntProjServicePostingIsBlkd 
        on      ProjectElement.ProjectSummaryTaskUUID = EntProjServicePostingIsBlkd.ParentObjectUUID
         and    EntProjServicePostingIsBlkd.EntProjElementFunctionID   = 'S002'
    left outer to one join I_EntProjElmntBlockFunc as EntProjOtherExpensePostgIsBlkd 
        on      ProjectElement.ProjectSummaryTaskUUID = EntProjOtherExpensePostgIsBlkd.ParentObjectUUID
         and    EntProjOtherExpensePostgIsBlkd.EntProjElementFunctionID     = 'S004'
    left outer to one join I_EntProjElmntBlockFunc as EntProjProcurementIsBlkd 
        on      ProjectElement.ProjectSummaryTaskUUID = EntProjProcurementIsBlkd.ParentObjectUUID
         and    EntProjProcurementIsBlkd.EntProjElementFunctionID     = 'S005'     
  
{

   
  key  ProjectElement.ProjectUUID,
  ProjectElement.ProjectSummaryTaskUUID as ParentObjectUUID,
    
case 
    when EntProjTimeRecgIsBlkd.EntProjElementFunctionIsBlkd is null
              then ' '
          else EntProjTimeRecgIsBlkd.EntProjElementFunctionIsBlkd
      end  as EntProjTimeRecgIsBlkd,
     
      
          case 
    when EntProjStaffExpensePostgIsBlkd.EntProjElementFunctionIsBlkd is null
              then ' '
          else EntProjStaffExpensePostgIsBlkd.EntProjElementFunctionIsBlkd
      end  as EntProjStaffExpensePostgIsBlkd,
      
          case 
    when EntProjServicePostingIsBlkd.EntProjElementFunctionIsBlkd is null
              then ' '
          else EntProjServicePostingIsBlkd.EntProjElementFunctionIsBlkd
      end  as EntProjServicePostingIsBlkd,
      
          case 
    when EntProjOtherExpensePostgIsBlkd.EntProjElementFunctionIsBlkd is null
              then ' '
          else EntProjOtherExpensePostgIsBlkd.EntProjElementFunctionIsBlkd
      end  as EntProjOtherExpensePostgIsBlkd, 
      
           case 
    when EntProjProcurementIsBlkd.EntProjElementFunctionIsBlkd is null
              then ' '
          else EntProjProcurementIsBlkd.EntProjElementFunctionIsBlkd
      end  as EntProjPurchasingIsBlkd
   
}  
where
ProjectElement.ProjectCategory <> '7'
;