I_BlockFuncForEntProjElmnt

DDL: I_BLOCKFUNCFORENTPROJELMNT SQL: IBLOCKFUNC Type: view COMPOSITE Package: PS_BLOCK_FUNCTIONS

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 (R_EnterpriseProjectElement) and exposes 4 fields with key field TaskUUID. Part of development package PS_BLOCK_FUNCTIONS.

Data Sources (1)

SourceAliasJoin Type
R_EnterpriseProjectElement ProjectElement from

Annotations (10)

NameValueLevelField
AbapCatalog.sqlViewName IBLOCKFUNC 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 #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 R_EnterpriseProjectElement ProjectElementUUID
ProjectUUID R_EnterpriseProjectElement ProjectUUID
ObjectType R_EnterpriseProjectElement EntProjectElementObjectType
IsProjectMilestone R_EnterpriseProjectElement IsProjectMilestone
@AbapCatalog.sqlViewName: 'IBLOCKFUNC'
@AbapCatalog.compiler.compareFilter: 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           R_EnterpriseProjectElement as ProjectElement
    left outer to one join I_EntProjElmntBlockFunc    as EntProjTimeRecgIsBlkd          on  ProjectElement.ProjectElementUUID              = EntProjTimeRecgIsBlkd.ParentObjectUUID
                                                                                        and EntProjTimeRecgIsBlkd.EntProjElementFunctionID = 'S001'
    left outer to one join I_EntProjElmntBlockFunc    as EntProjStaffExpensePostgIsBlkd on  ProjectElement.ProjectElementUUID                       = EntProjStaffExpensePostgIsBlkd.ParentObjectUUID
                                                                                        and EntProjStaffExpensePostgIsBlkd.EntProjElementFunctionID = 'S003'
    left outer to one join I_EntProjElmntBlockFunc    as EntProjServicePostingIsBlkd    on  ProjectElement.ProjectElementUUID                    = EntProjServicePostingIsBlkd.ParentObjectUUID
                                                                                        and EntProjServicePostingIsBlkd.EntProjElementFunctionID = 'S002'
    left outer to one join I_EntProjElmntBlockFunc    as EntProjOtherExpensePostgIsBlkd on  ProjectElement.ProjectElementUUID                       = EntProjOtherExpensePostgIsBlkd.ParentObjectUUID
                                                                                        and EntProjOtherExpensePostgIsBlkd.EntProjElementFunctionID = 'S004'
    left outer to one join I_EntProjElmntBlockFunc    as EntProjProcurementIsBlkd       on  ProjectElement.ProjectElementUUID                 = EntProjProcurementIsBlkd.ParentObjectUUID
                                                                                        and EntProjProcurementIsBlkd.EntProjElementFunctionID = 'S005'
{


  key  ProjectElement.ProjectElementUUID          as TaskUUID,
       ProjectElement.ProjectUUID                 as ProjectUUID,

       ProjectElement.EntProjectElementObjectType 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
  ProjectElement.IsProjectMilestone <> 'X';