P_EntProjectBlockFunc

DDL: P_ENTPROJECTBLOCKFUNC SQL: PROJBLOCKFUNC Type: view COMPOSITE Package: PS_BLOCK_FUNCTIONS

Private view for project header block posting

P_EntProjectBlockFunc is a Composite CDS View that provides data about "Private view for project header block posting" in SAP S/4HANA. It reads from 1 data source (I_PPM_Project) and exposes 6 fields with key field ProjectUUID. Part of development package PS_BLOCK_FUNCTIONS.

Data Sources (1)

SourceAliasJoin Type
I_PPM_Project ProjectElement from

Annotations (10)

NameValueLevelField
AbapCatalog.sqlViewName PROJBLOCKFUNC view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
AccessControl.authorizationCheck #CHECK view
VDM.viewType #COMPOSITE view
VDM.private true view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.sizeCategory #L view
ClientHandling.algorithm #SESSION_VARIABLE view

Fields (6)

KeyFieldSource TableSource FieldDescription
KEY ProjectUUID I_PPM_Project ProjectUUID
ParentObjectUUID I_PPM_Project ProjectSummaryTaskUUID
EntProjTimeRecgIsBlkd EntProjTimeRecgIsBlkd EntProjElementFunctionIsBlkd
EntProjStaffExpensePostgIsBlkd EntProjStaffExpensePostgIsBlkd EntProjElementFunctionIsBlkd
EntProjServicePostingIsBlkd EntProjServicePostingIsBlkd EntProjElementFunctionIsBlkd
EntProjOtherExpensePostgIsBlkd EntProjOtherExpensePostgIsBlkd EntProjElementFunctionIsBlkd
@AbapCatalog.sqlViewName: 'PROJBLOCKFUNC'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl.authorizationCheck: #CHECK

@VDM: {
    viewType: #COMPOSITE,
    private: true
}
@ObjectModel: {
  
   usageType: {
     serviceQuality:  #D,
     dataClass:       #MIXED,
     sizeCategory:    #L
    }
}
@ClientHandling.algorithm: #SESSION_VARIABLE 
 define view P_EntProjectBlockFunc as select from I_PPM_Project 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'
  
{

   
  key  ProjectElement.ProjectUUID,
  ProjectElement.ProjectSummaryTaskUUID as ParentObjectUUID,
    
    EntProjTimeRecgIsBlkd.EntProjElementFunctionIsBlkd      as EntProjTimeRecgIsBlkd ,    
    EntProjStaffExpensePostgIsBlkd.EntProjElementFunctionIsBlkd   as EntProjStaffExpensePostgIsBlkd ,    
    EntProjServicePostingIsBlkd.EntProjElementFunctionIsBlkd   as EntProjServicePostingIsBlkd ,    
    EntProjOtherExpensePostgIsBlkd.EntProjElementFunctionIsBlkd     as EntProjOtherExpensePostgIsBlkd

   
};