I_ProjectDemandWorkPackageText
Textual information for work packages including project data
I_ProjectDemandWorkPackageText is a Composite CDS View that provides data about "Textual information for work packages including project data" in SAP S/4HANA. It reads from 1 data source (R_PPM_ProjectTask) and exposes 25 fields with key field ProjectElementUUID. It has 3 associations to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| R_PPM_ProjectTask | Element | from |
Associations (3)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_EnterpriseProjectElement | _ProjectElement | $projection.ProjectElementUUID = _ProjectElement.ProjectElementUUID |
| [1..1] | I_EnterpriseProject | _Project | $projection.ProjectUUID = _Project.ProjectUUID |
| [0..*] | I_PPM_ProcessingStatusText | _StatusText | $projection.ProcessingStatus = _StatusText.ProcessingStatus |
Annotations (15)
| Name | Value | Level | Field |
|---|---|---|---|
| EndUserText.label | Textual information for work packages including project data | view | |
| AbapCatalog.sqlViewName | IPRJDMNWPGTXT | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.dataMaintenance | #RESTRICTED | view | |
| AbapCatalog.preserveKey | true | view | |
| VDM.viewType | #COMPOSITE | view | |
| VDM.lifecycle.contract.type | #SAP_INTERNAL_API | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| AccessControl.personalData.blocking | #BLOCKED_DATA_EXCLUDED | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| ObjectModel.representativeKey | ProjectElementUUID | view | |
| ObjectModel.dataCategory | #TEXT | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ObjectModel.usageType.sizeCategory | #L | view |
Fields (25)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ProjectElementUUID | R_PPM_ProjectTask | ProjectElementUUID | WBS Element |
| ProjectElement | WBS Element | |||
| ProjectElementDescription | R_PPM_ProjectTask | ProjectElementDescription | WBS Element Description | |
| PlannedStartDate | R_PPM_ProjectTask | PlannedStartDate | ||
| PlannedEndDate | R_PPM_ProjectTask | PlannedEndDate | ||
| WBSElementInternalID | R_PPM_ProjectTask | WBSElementInternalID | ||
| ProjectUUID | R_PPM_ProjectTask | ProjectUUID | ProjectUUID | |
| Project | ||||
| ProjectInternalID | R_PPM_ProjectTask | ProjectInternalID | ||
| ProjectDescription | Project Description | |||
| ProjectStartDate | ||||
| ProjectEndDate | ||||
| ControllingArea | R_PPM_ProjectTask | ControllingArea | ||
| ProfitCenter | R_PPM_ProjectTask | ProfitCenter | ||
| CompanyCode | R_PPM_ProjectTask | CompanyCode | ||
| ResponsibleCostCenter | R_PPM_ProjectTask | ResponsibleCostCenter | ||
| Plant | R_PPM_ProjectTask | Plant | ||
| FunctionalArea | R_PPM_ProjectTask | FunctionalArea | ||
| ProcessingStatus | R_PPM_ProjectTask | ProcessingStatus | ||
| _Project | _Project | |||
| _ProjectElement | _ProjectElement | |||
| _ProcessingStatus | _ProcessingStatus | |||
| _StatusText | _StatusText | |||
| _ControllingArea | R_PPM_ProjectTask | _ControllingArea | ||
| _ProfitCenter | R_PPM_ProjectTask | _ProfitCenter |
@EndUserText.label: 'Textual information for work packages including project data'
@AbapCatalog: {
sqlViewName: 'IPRJDMNWPGTXT',
compiler.compareFilter: true,
dataMaintenance: #RESTRICTED,
preserveKey:true
}
@VDM: {
viewType: #COMPOSITE,
lifecycle.contract.type: #SAP_INTERNAL_API
}
@AccessControl: {
authorizationCheck: #CHECK,
personalData.blocking: #BLOCKED_DATA_EXCLUDED
}
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel: {
semanticKey: [ 'ProjectElement' ],
representativeKey: 'ProjectElementUUID',
dataCategory: #TEXT,
usageType: {
serviceQuality: #C,
dataClass: #MIXED,
sizeCategory: #L
}
}
define view I_ProjectDemandWorkPackageText as
select from R_PPM_ProjectTask as Element
association [1..1] to I_EnterpriseProjectElement as _ProjectElement on $projection.ProjectElementUUID = _ProjectElement.ProjectElementUUID
association [1..1] to I_EnterpriseProject as _Project on $projection.ProjectUUID = _Project.ProjectUUID
association [0..*] to I_PPM_ProcessingStatusText as _StatusText on $projection.ProcessingStatus = _StatusText.ProcessingStatus
{
@UI.facet: [
{
purpose: #QUICK_VIEW,
type: #FIELDGROUP_REFERENCE,
targetQualifier: 'WPPOPOVER'
}
]
// @UI.hidden: true
@UI.textArrangement: #TEXT_ONLY
@ObjectModel.text.element: 'ProjectElementDescription'
@EndUserText.label: 'WBS Element'
key Element.ProjectElementUUID,
@UI.textArrangement: #TEXT_FIRST
@ObjectModel.text.element: 'ProjectElementDescription'
@EndUserText.label: 'WBS Element'
@UI: {
fieldGroup: [{ qualifier:'WPPOPOVER', position: 10}]
}
cast( Element.ProjectElement as tv_proj_dmnd_wrkpkg preserving type ) as ProjectElement,
@Semantics.text: true
@EndUserText.label: 'WBS Element Description'
@EndUserText.quickInfo: 'WBS Element Description'
@UI: {
fieldGroup: [{ qualifier:'WPPOPOVER', position: 20}]
}
Element.ProjectElementDescription,
@UI: {
fieldGroup: [{ qualifier:'WPPOPOVER', position: 30}]
}
Element.PlannedStartDate,
@UI: {
fieldGroup: [{ qualifier:'WPPOPOVER', position: 40}]
}
Element.PlannedEndDate,
Element.WBSElementInternalID,
@EndUserText.label: 'ProjectUUID'
Element.ProjectUUID as ProjectUUID,
cast( Element._EnterpriseProject.Project as tv_proj_dmnd_project preserving type ) as Project,
Element.ProjectInternalID,
@Semantics.text: true
@EndUserText.label: 'Project Description'
Element._EnterpriseProject.ProjectDescription as ProjectDescription,
Element._EnterpriseProject.ProjectStartDate,
Element._EnterpriseProject.ProjectEndDate,
// Only for auth check
@Consumption.hidden: true
Element.ControllingArea,
@Consumption.hidden: true
@UI: {
fieldGroup: [{ qualifier:'WPPOPOVER', position: 50}]
}
Element.ProfitCenter,
//CE2308 - Further fields added for auth check
@Consumption.hidden: true
Element.CompanyCode,
@Consumption.hidden: true
Element.ResponsibleCostCenter,
@Consumption.hidden: true
Element.Plant,
@Consumption.hidden: true
Element.FunctionalArea,
// Used in value help for object selecton only
@Consumption.hidden: true
@ObjectModel.foreignKey.association: '_ProcessingStatus'
@ObjectModel.text.association: '_StatusText'
Element.ProcessingStatus,
_Project,
_ProjectElement,
_ProcessingStatus,
_StatusText,
Element._ControllingArea,
Element._ProfitCenter
} where Element._EnterpriseProject.ProjectCategory = '6'
and Element.WBSElementInternalID <> '00000000' // not a milestone
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- 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