I_BlockFuncForEntProject

DDL: I_BLOCKFUNCFORENTPROJECT SQL: IROJBLOCKFUNC Type: view COMPOSITE Package: PS_BLOCK_FUNCTIONS

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 (R_EnterpriseProject) and exposes 2 fields with key field ProjectUUID. Part of development package PS_BLOCK_FUNCTIONS.

Data Sources (1)

SourceAliasJoin Type
R_EnterpriseProject Project from

Annotations (10)

NameValueLevelField
AbapCatalog.sqlViewName IROJBLOCKFUNC view
AbapCatalog.compiler.compareFilter 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 R_EnterpriseProject ProjectUUID
ParentObjectUUID R_EnterpriseProject ProjectSummaryTaskUUID
@AbapCatalog.sqlViewName: 'IROJBLOCKFUNC'
@AbapCatalog.compiler.compareFilter: 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           R_EnterpriseProject     as Project
    left outer to one join I_EntProjElmntBlockFunc as EntProjTimeRecgIsBlkd          on  Project.ProjectSummaryTaskUUID                 = EntProjTimeRecgIsBlkd.ParentObjectUUID
                                                                                     and EntProjTimeRecgIsBlkd.EntProjElementFunctionID = 'S001'
    left outer to one join I_EntProjElmntBlockFunc as EntProjStaffExpensePostgIsBlkd on  Project.ProjectSummaryTaskUUID                          = EntProjStaffExpensePostgIsBlkd.ParentObjectUUID
                                                                                     and EntProjStaffExpensePostgIsBlkd.EntProjElementFunctionID = 'S003'
    left outer to one join I_EntProjElmntBlockFunc as EntProjServicePostingIsBlkd    on  Project.ProjectSummaryTaskUUID                       = EntProjServicePostingIsBlkd.ParentObjectUUID
                                                                                     and EntProjServicePostingIsBlkd.EntProjElementFunctionID = 'S002'
    left outer to one join I_EntProjElmntBlockFunc as EntProjOtherExpensePostgIsBlkd on  Project.ProjectSummaryTaskUUID                          = EntProjOtherExpensePostgIsBlkd.ParentObjectUUID
                                                                                     and EntProjOtherExpensePostgIsBlkd.EntProjElementFunctionID = 'S004'
    left outer to one join I_EntProjElmntBlockFunc as EntProjProcurementIsBlkd       on  Project.ProjectSummaryTaskUUID                    = EntProjProcurementIsBlkd.ParentObjectUUID
                                                                                     and EntProjProcurementIsBlkd.EntProjElementFunctionID = 'S005'

{


  key  Project.ProjectUUID,
       Project.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
  Project.ProjectCategory <> '7';