I_BlockFuncForEntProjElmnt

DDL: I_BLOCKFUNCFORENTPROJELMNT SQL: IBLOCKFUNC Type: view COMPOSITE

Basic view for block function calculation

I_BlockFuncForEntProjElmnt 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_ProjectTask) and exposes 4 fields with key field TaskUUID.

Data Sources (1)

SourceAliasJoin Type
I_PPM_ProjectTask ProjectElement from

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName IBLOCKFUNC 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 #D 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 (4)

KeyFieldSource TableSource FieldDescription
KEY TaskUUID I_PPM_ProjectTask TaskUUID
ProjectUUID I_PPM_ProjectTask ProjectUUID
ObjectType I_PPM_ProjectTask ObjectType
IsProjectMilestone I_PPM_ProjectTask IsProjectMilestone
@AbapCatalog.sqlViewName: 'IBLOCKFUNC'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #NOT_REQUIRED
@AccessControl.personalData.blocking:  #BLOCKED_DATA_EXCLUDED
@VDM: {
    viewType: #COMPOSITE
}
@ObjectModel: {
  
   usageType: {
     serviceQuality:  #D,
     dataClass:       #MIXED,
     sizeCategory:    #L
    }
}
@ClientHandling.algorithm: #SESSION_VARIABLE 
@EndUserText.label: 'Basic view for block function calculation'
// This view not to be used for customer access

 define view I_BlockFuncForEntProjElmnt as select from I_PPM_ProjectTask as ProjectElement
    left outer to one join I_EntProjElmntBlockFunc as EntProjTimeRecgIsBlkd 
        on      ProjectElement.TaskUUID = EntProjTimeRecgIsBlkd.ParentObjectUUID
         and    EntProjTimeRecgIsBlkd.EntProjElementFunctionID      = 'S001'
    left outer to one join I_EntProjElmntBlockFunc as EntProjStaffExpensePostgIsBlkd 
        on      ProjectElement.TaskUUID = EntProjStaffExpensePostgIsBlkd.ParentObjectUUID
         and    EntProjStaffExpensePostgIsBlkd.EntProjElementFunctionID   = 'S003'
    left outer to one join I_EntProjElmntBlockFunc as EntProjServicePostingIsBlkd 
        on      ProjectElement.TaskUUID = EntProjServicePostingIsBlkd.ParentObjectUUID
         and    EntProjServicePostingIsBlkd.EntProjElementFunctionID   = 'S002'
    left outer to one join I_EntProjElmntBlockFunc as EntProjOtherExpensePostgIsBlkd 
        on      ProjectElement.TaskUUID = EntProjOtherExpensePostgIsBlkd.ParentObjectUUID
         and    EntProjOtherExpensePostgIsBlkd.EntProjElementFunctionID     = 'S004'  
    left outer to one join I_EntProjElmntBlockFunc as EntProjProcurementIsBlkd 
        on      ProjectElement.TaskUUID = EntProjProcurementIsBlkd.ParentObjectUUID
         and    EntProjProcurementIsBlkd.EntProjElementFunctionID     = 'S005'     
{

   
    key  ProjectElement.TaskUUID as TaskUUID,
    ProjectElement.ProjectUUID as ProjectUUID,
    
    ProjectElement.ObjectType as ObjectType,
    ProjectElement.IsProjectMilestone as IsProjectMilestone,
    
    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
IsProjectMilestone <> 'X' ;

            

/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ENTPROJELMNTBLOCKFUNC",
"I_PPM_PROJECTTASK"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/