C_PPM_TaskPredecessor
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)
| Source | Alias | Join Type |
|---|---|---|
| I_PPM_SingleResponsibleForObj | bupa | left_outer |
| I_PPM_TaskRelationship | rel | from |
| I_PPM_TaskText | text | left_outer |
Associations (5)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [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)
| Name | Value | Level | Field |
|---|---|---|---|
| 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)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| 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]
;
Learn More
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- CDS View Annotations — A Complete Guide
- What Is a CDS View in SAP S/4HANA?
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA
- BSEG to ACDOCA: The Universal Journal Migration
- Business Partner Migration: KNA1/LFA1 to BUT000
- Material Document Migration: MSEG/MKPF to MATDOC
- How to Find the Right CDS View for an SAP Table
- BW Extractor to CDS View Migration Guide
- S/4HANA CDS View Deprecation: What You Need to Know
- ABAP CDS View Tutorial — From Basics to Real-World Examples
- RAP and CDS Views — Building Transactional Apps in SAP S/4HANA
- Sales Document Status Migration: VBUP/VBUK Removal in S/4HANA
- CO Tables in S/4HANA: COEP, COBK, COSS, COSP to ACDOCA