C_PPM_TaskPredecessor

DDL: C_PPM_TASKPREDECESSOR SQL: CPPMTASKPREDEC Type: view CONSUMPTION

Task Predecessor

C_PPM_TaskPredecessor is a Consumption CDS View that provides data about "Task Predecessor" in SAP S/4HANA. It reads from 3 data sources (I_PPM_SingleResponsibleForObj, I_PPM_TaskRelationship, I_PPM_TaskText) and exposes 15 fields with key fields TaskUUID, SuccessorTaskUUID. It has 5 associations to related views.

Data Sources (3)

SourceAliasJoin Type
I_PPM_SingleResponsibleForObj bupa left_outer
I_PPM_TaskRelationship rel from
I_PPM_TaskText text left_outer

Associations (5)

CardinalityTargetAliasCondition
[0..*] I_PPM_AuthznByUsrH _AuthUser _AuthUser.ReferencedObjectUUID = $projection.ReferencedObjectUUID and _AuthUser.UserID = $session.user and ( _AuthUser.Activity = 'Admin' or _AuthUser.Activity = 'Write' or _AuthUser.Activity = 'Read' )
[0..*] I_PPM_AuthznBySubstitH _AuthSubst _AuthSubst.ReferencedObjectUUID = $projection.ReferencedObjectUUID and _AuthSubst.UserID = $session.user and ( _AuthSubst.Activity = 'Admin' or _AuthSubst.Activity = 'Write' or _AuthSubst.Activity = 'Read' )
[0..*] I_PPM_AuthznByUserRoleH _AuthRole _AuthRole.ReferencedObjectUUID = $projection.ReferencedObjectUUID and _AuthRole.UserID = $session.user and ( _AuthRole.Activity = 'Admin' or _AuthRole.Activity = 'Write' or _AuthRole.Activity = 'Read' )
[0..*] I_PPM_AuthznByUsrGrpH _AuthGroup _AuthGroup.ReferencedObjectUUID = $projection.ReferencedObjectUUID and _AuthGroup.UserID = $session.user and ( _AuthGroup.Activity = 'Admin' or _AuthGroup.Activity = 'Write' or _AuthGroup.Activity = 'Read' )
[0..1] I_UnitOfMeasure _PercentageUnitOfMeasure _PercentageUnitOfMeasure.UnitOfMeasure = '%'

Annotations (14)

NameValueLevelField
EndUserText.label Task Predecessor view
VDM.viewType #CONSUMPTION view
AbapCatalog.sqlViewName CPPMTASKPREDEC view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #REQUIRED view
Search.searchable false view
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view
UI.headerInfo.typeName Project Task view
UI.headerInfo.typeNamePlural Project Tasks view
Consumption.semanticObject ProjectTask view

Fields (15)

KeyFieldSource TableSource FieldDescription
KEY TaskUUID
KEY SuccessorTaskUUID
ObjectName I_PPM_TaskText ObjectName Object name
ReferencedObjectUUID I_PPM_TaskRelationship PredecessorTaskUUID
clientNULL1FAILendasLatestFinishDate Latest Finish
PercentageOfCompletion
BusinessPartnerName I_PPM_SingleResponsibleForObj BusinessPartnerName Responsible
BusinessPartnerUUID I_PPM_SingleResponsibleForObj BusinessPartnerUUID UUID
CompletionUnit _PercentageUnitOfMeasure UnitOfMeasure Unit Protected Qty
EPPMSettingsDefaultValue EPPMSettingsDefaultValue
_BusinessUser I_PPM_SingleResponsibleForObj _BusinessUser
_AuthUser _AuthUser
_AuthSubst _AuthSubst
_AuthRole _AuthRole
_AuthGroup _AuthGroup

Derived SQL interpretation, reconstructed from the parsed view metadata (data sources, associations, and field mappings). SAP annotations are omitted and the structure is reformulated as SQL — this is a functional approximation, not the verbatim SAP source.

-- Derived SQL interpretation of CDS view C_PPM_TaskPredecessor.
-- Reconstructed from parsed metadata (data sources, associations, fields).
-- SAP annotations are omitted and the structure is reformulated as SQL;
-- this is a functional approximation, not the verbatim SAP source. Some join
-- conditions may be unavailable and a few CDS constructs are kept as-is.
-- SQL view name: CPPMTASKPREDEC

CREATE VIEW C_PPM_TaskPredecessor AS
SELECT
  bintohex(rel.PredecessorTaskUUID) AS TaskUUID,
  bintohex(rel.SuccessorTaskUUID) AS SuccessorTaskUUID,
  text.ObjectName AS ObjectName,
  rel.PredecessorTaskUUID AS ReferencedObjectUUID,
  case when rel._PredecessorTask.ProjectElementDuration = 0 and rel._PredecessorTask.StartConstraintDateTime = rel._PredecessorTask.LatestStartDateTime then tstmp_to_dats( rel._PredecessorTask.LatestStartDateTime, abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL' ) when rel._PredecessorTask.ProjectElementDuration = 0 and rel._PredecessorTask.FinishConstraintDateTime = rel._PredecessorTask.LatestStartDateTime then dats_add_days( tstmp_to_dats( rel._PredecessorTask.LatestFinishDateTime, abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL' ), -1, 'FAIL') when rel._PredecessorTask.ProjectElementDuration = 0 then dats_add_days( tstmp_to_dats( rel._PredecessorTask.LatestFinishDateTime, abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL' ), -1, 'FAIL') else dats_add_days( tstmp_to_dats( rel._PredecessorTask.LatestFinishDateTime, abap_system_timezone( $session.client,'NULL' ), $session.client, 'NULL' ), -1, 'FAIL') end as LatestFinishDate AS clientNULL1FAILendasLatestFinishDate,
  cast(rel._PredecessorTask.PercentageOfCompletion as abap.int1) AS PercentageOfCompletion,
  bupa.BusinessPartnerName AS BusinessPartnerName,
  bupa.BusinessPartnerUUID AS BusinessPartnerUUID,
  _PercentageUnitOfMeasure.UnitOfMeasure AS CompletionUnit,
  EPPMSettingsDefaultValue,
  bupa._BusinessUser AS _BusinessUser
FROM I_PPM_TaskRelationship AS rel
LEFT OUTER JOIN I_PPM_SingleResponsibleForObj AS bupa ON /* join condition not captured in parsed metadata */
LEFT OUTER JOIN I_PPM_TaskText AS text ON /* join condition not captured in parsed metadata */
LEFT OUTER JOIN I_PPM_AuthznByUsrH AS _AuthUser ON _AuthUser.ReferencedObjectUUID = ReferencedObjectUUID AND _AuthUser.UserID = $session.user AND ( _AuthUser.Activity = 'Admin' OR _AuthUser.Activity = 'Write' OR _AuthUser.Activity = 'Read' )  -- association [0..*]
LEFT OUTER JOIN I_PPM_AuthznBySubstitH AS _AuthSubst ON _AuthSubst.ReferencedObjectUUID = ReferencedObjectUUID AND _AuthSubst.UserID = $session.user AND ( _AuthSubst.Activity = 'Admin' OR _AuthSubst.Activity = 'Write' OR _AuthSubst.Activity = 'Read' )  -- association [0..*]
LEFT OUTER JOIN I_PPM_AuthznByUserRoleH AS _AuthRole ON _AuthRole.ReferencedObjectUUID = ReferencedObjectUUID AND _AuthRole.UserID = $session.user AND ( _AuthRole.Activity = 'Admin' OR _AuthRole.Activity = 'Write' OR _AuthRole.Activity = 'Read' )  -- association [0..*]
LEFT OUTER JOIN I_PPM_AuthznByUsrGrpH AS _AuthGroup ON _AuthGroup.ReferencedObjectUUID = ReferencedObjectUUID AND _AuthGroup.UserID = $session.user AND ( _AuthGroup.Activity = 'Admin' OR _AuthGroup.Activity = 'Write' OR _AuthGroup.Activity = 'Read' )  -- association [0..*]
LEFT OUTER JOIN I_UnitOfMeasure AS _PercentageUnitOfMeasure ON _PercentageUnitOfMeasure.UnitOfMeasure = '%'  -- association [0..1]
;