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.
@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 viewnot to be used for customer access
defineview I_BlockFuncForEntProjElmnt asselectfrom I_PPM_ProjectTask as ProjectElement
leftouter to one join I_EntProjElmntBlockFunc as EntProjTimeRecgIsBlkd
on ProjectElement.TaskUUID = EntProjTimeRecgIsBlkd.ParentObjectUUID
and EntProjTimeRecgIsBlkd.EntProjElementFunctionID = 'S001'
leftouter to one join I_EntProjElmntBlockFunc as EntProjStaffExpensePostgIsBlkd
on ProjectElement.TaskUUID = EntProjStaffExpensePostgIsBlkd.ParentObjectUUID
and EntProjStaffExpensePostgIsBlkd.EntProjElementFunctionID = 'S003'
leftouter to one join I_EntProjElmntBlockFunc as EntProjServicePostingIsBlkd
on ProjectElement.TaskUUID = EntProjServicePostingIsBlkd.ParentObjectUUID
and EntProjServicePostingIsBlkd.EntProjElementFunctionID = 'S002'
leftouter to one join I_EntProjElmntBlockFunc as EntProjOtherExpensePostgIsBlkd
on ProjectElement.TaskUUID = EntProjOtherExpensePostgIsBlkd.ParentObjectUUID
and EntProjOtherExpensePostgIsBlkd.EntProjElementFunctionID = 'S004'
leftouter 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,
casewhen EntProjTimeRecgIsBlkd.EntProjElementFunctionIsBlkd isnullthen ' '
else EntProjTimeRecgIsBlkd.EntProjElementFunctionIsBlkd
endas EntProjTimeRecgIsBlkd,
casewhen EntProjStaffExpensePostgIsBlkd.EntProjElementFunctionIsBlkd isnullthen ' '
else EntProjStaffExpensePostgIsBlkd.EntProjElementFunctionIsBlkd
endas EntProjStaffExpensePostgIsBlkd,
casewhen EntProjServicePostingIsBlkd.EntProjElementFunctionIsBlkd isnullthen ' '
else EntProjServicePostingIsBlkd.EntProjElementFunctionIsBlkd
endas EntProjServicePostingIsBlkd,
casewhen EntProjOtherExpensePostgIsBlkd.EntProjElementFunctionIsBlkd isnullthen ' '
else EntProjOtherExpensePostgIsBlkd.EntProjElementFunctionIsBlkd
endas EntProjOtherExpensePostgIsBlkd,
casewhen EntProjProcurementIsBlkd.EntProjElementFunctionIsBlkd isnullthen ' '
else EntProjProcurementIsBlkd.EntProjElementFunctionIsBlkd
endas EntProjPurchasingIsBlkd
}
where
IsProjectMilestone <> 'X' ;
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_ENTPROJELMNTBLOCKFUNC",
"I_PPM_PROJECTTASK"
],
"ASSOCIATED":
[],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/