C_EntProjectBriefHeaderTP
Enterprise Project Brief Header
C_EntProjectBriefHeaderTP is a Consumption CDS View that provides data about "Enterprise Project Brief Header" in SAP S/4HANA. It reads from 1 data source (I_EnterpriseProjectTP_2) and exposes 51 fields with key field ProjectUUID. It has 2 associations to related views. It is exposed through 1 OData service (UI_ENTPROJECTBRIEF).
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_EnterpriseProjectTP_2 | I_EnterpriseProjectTP_2 | projection |
Associations (2)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..*] | C_EnterpriseProjectBriefCost | _ProjectCostLineItem | _ProjectCostLineItem.ProjectInternalID = $projection.ProjectInternalID |
| [0..1] | C_PPM_ProjectMemberContactCard | _Manager | _Manager.BusinessPartnerUUID = $projection.businesspartneruuid |
Annotations (10)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #CHECK | view | |
| AccessControl.personalData.blocking | #BLOCKED_DATA_EXCLUDED | view | |
| EndUserText.label | Enterprise Project Brief Header | view | |
| Metadata.allowExtensions | true | view | |
| VDM.viewType | #CONSUMPTION | view | |
| ObjectModel.representativeKey | ProjectUUID | view | |
| ObjectModel.usageType.serviceQuality | #D | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| Search.searchable | true | view |
OData Services (1)
| Service | Binding | Version | Contract | Release |
|---|---|---|---|---|
| UI_ENTPROJECTBRIEF | UI_ENTPROJECTBRIEF | V2 | C1 | NOT_RELEASED |
Fields (51)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ProjectUUID | ProjectUUID | ||
| ProjectSummaryTaskUUID | ProjectSummaryTaskUUID | |||
| ProjectInternalID | ProjectInternalID | |||
| WBSElementInternalID | WBSElementInternalID | |||
| Project | PROJECT | Project | ||
| ProjectDescription | ProjectDescription | |||
| OverallProjectStatus | ||||
| StatusTrend | ||||
| OverallProjectStsCriticality | ||||
| StatusTrendCriticality | ||||
| OverallProjectStatusSort | ||||
| StatusTrendSort | ||||
| StatusDescription | ||||
| StatusTrendDescription | ||||
| NextRelevantMlstnDate | _NextRlvtMilestone | NextRelevantMlstnDate | ||
| NextRelevantMlstnName | _NextRlvtMilestone | NextRelevantMlstnName | ||
| NextEssentialMlstnDate | _NextEsnlMilestone | NextEssentialMlstnDate | ||
| NextEssentialMlstnName | _NextEsnlMilestone | NextEssentialMlstnName | ||
| ProjectStartDate | ProjectStartDate | |||
| ProjectEndDate | ProjectEndDate | |||
| ActualStartDate | ActualStartDate | |||
| ActualEndDate | ActualEndDate | |||
| ProcessingStatus | ProcessingStatus | |||
| PriorityCode | PriorityCode | |||
| EnterpriseProjectType | EnterpriseProjectType | |||
| EntProjectObjectWorkflowStatus | _EntProjWorkflowOverview | EntProjectObjectWorkflowStatus | ||
| EntProjObjWorkflowStatusText | _EntProjWorkflowOverview | EntProjObjWorkflowStatusText | ||
| GlobalCurrency | _ControllingArea | ControllingAreaCurrency | ||
| BusinessPartnerUUID | ||||
| PersonFullName | ||||
| virtualIsMyProjectabap_boolean | ||||
| curr252 | ||||
| curr252 | ||||
| curr252 | ||||
| curr252 | ||||
| curr252 | ||||
| char1 | ||||
| ProjectCategory | ProjectCategory | |||
| EntProjectIsConfidential | EntProjectIsConfidential | |||
| EnterpriseProjectServiceOrg | EnterpriseProjectServiceOrg | |||
| ProjectProfileCode | ProjectProfileCode | |||
| CompanyCode | CompanyCode | |||
| Plant | Plant | |||
| FunctionalArea | FunctionalArea | |||
| ResponsibleCostCenter | ResponsibleCostCenter | |||
| ProfitCenter | ProfitCenter | |||
| ControllingArea | ControllingArea | |||
| _Manager | _Manager | |||
| _ProjectCostLineItem | _ProjectCostLineItem | |||
| _EnterpriseProjectTypeText | _EnterpriseProjectTypeText | |||
| _EnterpriseProjectForUser | _EnterpriseProjectForUser |
@AccessControl: {
authorizationCheck: #CHECK,
personalData.blocking: #BLOCKED_DATA_EXCLUDED
}
@EndUserText.label: 'Enterprise Project Brief Header'
@Metadata.allowExtensions: true
@VDM: {
viewType: #CONSUMPTION
}
@VDM.usage.type:[#TRANSACTIONAL_PROCESSING_SERVICE]
@ObjectModel: {
semanticKey: [ 'ProjectUUID'],
representativeKey: 'ProjectUUID',
alternativeKey: [ { id : 'ProjectSummaryTaskUUID', uniqueness: #UNIQUE } ],
usageType: {
serviceQuality: #D,
dataClass: #MIXED,
sizeCategory: #L
}
}
@UI.presentationVariant:[ {
requestAtLeast: [ 'EntProjectIsDraftMigrated' ]
} ]
@Search.searchable: true
define root view entity C_EntProjectBriefHeaderTP
provider contract transactional_query
as projection on I_EnterpriseProjectTP_2 as PROJECT
association [0..*] to C_EnterpriseProjectBriefCost as _ProjectCostLineItem on _ProjectCostLineItem.ProjectInternalID = $projection.ProjectInternalID
association [0..1] to C_PPM_ProjectMemberContactCard as _Manager on _Manager.BusinessPartnerUUID = $projection.businesspartneruuid
{
@UI.hidden: true
key ProjectUUID,
@UI.hidden: true
ProjectSummaryTaskUUID,
@UI.hidden: true
ProjectInternalID,
@UI.hidden: true
WBSElementInternalID,
// Semantic Identification
@ObjectModel.text.element: [ 'ProjectDescription' ]
@Search.defaultSearchElement: true
@Consumption.valueHelpDefinition: [{ entity : {name: 'C_EnterpriseProjectVH', element: 'Project' }}]
PROJECT.Project,
@EndUserText: { label: 'Project Name', quickInfo: 'Project Name' }
ProjectDescription,
@ObjectModel.text.element:['StatusDescription']
_StatusAreaData[ IsOverallStatus = 'X' ].StatusAreaStatus as OverallProjectStatus,
@ObjectModel.text.element:['StatusTrendDescription']
_StatusAreaData[ IsOverallStatus = 'X' ].StatusTrend,
_StatusAreaData[ IsOverallStatus = 'X' ]._StatusAreaStatus.Criticality as OverallProjectStsCriticality,
_StatusAreaData[ IsOverallStatus = 'X' ]._StatusAreaTrend.Criticality as StatusTrendCriticality,
@UI.hidden: true
_StatusAreaData[ IsOverallStatus = 'X' ]._StatusAreaCode.SortField as OverallProjectStatusSort,
@UI.hidden: true
_StatusAreaData[ IsOverallStatus = 'X' ]._StatusAreaTrend.SortField as StatusTrendSort,
@UI.hidden: true
_StatusAreaData[ IsOverallStatus = 'X' ]._StatusAreaStatus.StatusDescription,
@UI.hidden: true
_StatusAreaData[ IsOverallStatus = 'X' ]._StatusAreaTrend.StatusTrendDescription,
_NextRlvtMilestone.NextRelevantMlstnDate,
_NextRlvtMilestone.NextRelevantMlstnName,
_NextEsnlMilestone.NextEssentialMlstnDate,
_NextEsnlMilestone.NextEssentialMlstnName,
ProjectStartDate,
ProjectEndDate,
ActualStartDate,
ActualEndDate,
@ObjectModel.text.element:['ProcessingStatusText']
@UI.textArrangement: #TEXT_ONLY
@Consumption.valueHelpDefinition: [{ entity : {name: 'I_PPM_ProjectProcgStatusVH', element: 'ProcessingStatus' } }]
ProcessingStatus,
@UI.hidden: true
_ProcessingStatusText.ProcessingStatusText as ProcessingStatusText : localized,
@Consumption.valueHelpDefinition: [{ entity : {name: 'C_EnterpriseProjectPriorityVH', element: 'PriorityCode' } }]
PriorityCode,
@ObjectModel.text.element:['ProjectTypeName']
@Consumption.valueHelpDefinition: [{ entity : {name: 'I_Projecttype', element: 'ProjectType' } }]
EnterpriseProjectType,
//Workflow status fields
@ObjectModel.text.element:['EntProjObjWorkflowStatusText']
_EntProjWorkflowOverview.EntProjectObjectWorkflowStatus as EntProjectObjectWorkflowStatus,
_EntProjWorkflowOverview.EntProjObjWorkflowStatusText as EntProjObjWorkflowStatusText,
@UI.hidden: true
_ControllingArea.ControllingAreaCurrency as GlobalCurrency,
@Consumption.filter.hidden: true
@UI.textArrangement: #TEXT_ONLY
@ObjectModel: { text.element: [ 'PersonFullName' ] ,
foreignKey.association: '_Manager' }
_EntProjRoleStaffing[1:ProjectRoleType = 'YP_RL_0001'].BusinessPartnerUUID,
//@Semantics.name.fullName: true
@UI.hidden: true
_EntProjRoleStaffing[1:ProjectRoleType = 'YP_RL_0001']._BusinessPartner.PersonFullName,
@ObjectModel.virtualElement: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_PPM_PROJ_ISMYPROJECT'
virtual IsMyProject : abap_boolean,
@ObjectModel.virtualElement: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_PPM_PROJ_ISMYPROJECT'
virtual IsProjectSteeringCommitteeMbr : abap_boolean,
@Semantics.amount.currencyCode: 'GlobalCurrency'
@EndUserText: {
label: 'Actual Cost',
quickInfo: 'Actual Cost'
}
@ObjectModel: {
sort.enabled: false,
filter.enabled: false,
virtualElement: true,
virtualElementCalculatedBy: 'ABAP:CL_PPM_PROJ_COST_RAP'
}
virtual ActualCost : abap.curr( 25, 2 ),
@Semantics.amount.currencyCode: 'GlobalCurrency'
@EndUserText: {
label: 'Planned Cost',
quickInfo: 'Planned Cost'
}
@ObjectModel: {
sort.enabled: false,
filter.enabled: false,
virtualElement: true,
virtualElementCalculatedBy: 'ABAP:CL_PPM_PROJ_COST_RAP'
}
virtual PlannedCost : abap.curr( 25, 2 ),
@Semantics.amount.currencyCode: 'GlobalCurrency'
@EndUserText: {
label: 'Actual Cost to Date',
quickInfo: 'Actual Cost to Date'
}
@ObjectModel: {
sort.enabled: false,
filter.enabled: false,
virtualElement: true,
virtualElementCalculatedBy: 'ABAP:CL_PPM_PROJ_COST_RAP'
}
virtual ActualCostUpToCurPerd : abap.curr( 25, 2 ),
@Semantics.amount.currencyCode: 'GlobalCurrency'
@EndUserText: {
label: 'Planned Cost to Date',
quickInfo: 'Planned Cost to Date'
}
@ObjectModel: {
sort.enabled: false,
filter.enabled: false,
virtualElement: true,
virtualElementCalculatedBy: 'ABAP:CL_PPM_PROJ_COST_RAP'
}
virtual PlannedCostUpToCurPerd : abap.curr( 25, 2 ),
@Semantics.amount.currencyCode: 'GlobalCurrency'
@EndUserText: {
label: 'Actual Cost Variance to Date',
quickInfo: 'Actual Cost Variance to Date'
}
@ObjectModel: {
sort.enabled: false,
filter.enabled: false,
virtualElement: true,
virtualElementCalculatedBy: 'ABAP:CL_PPM_PROJ_COST_RAP'
}
virtual CostDvtnUpToCurrentPeriod : abap.curr( 25, 2 ),
@ObjectModel: {
sort.enabled: false,
filter.enabled: false,
virtualElement: true,
virtualElementCalculatedBy: 'ABAP:CL_PPM_PROJ_COST_RAP'
}
virtual CostDvtnUpToCurPerdCritlty : abap.char( 1 ),
@UI.hidden: true
@ObjectModel.virtualElement: true
@ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_EPPM_BRIEF_ISDRAFTMIGRATED'
virtual EntProjectIsDraftMigrated : abap_boolean,
@UI.hidden: true
_EnterpriseProjectTypeText.ProjectTypeName as ProjectTypeName : localized,
@UI.hidden: true
ProjectCategory,
@UI.hidden: true
EntProjectIsConfidential,
@UI.hidden: true
EnterpriseProjectServiceOrg,
@UI.hidden: true
ProjectProfileCode,
@UI.hidden: true
CompanyCode,
@UI.hidden: true
Plant,
@UI.hidden: true
FunctionalArea,
@UI.hidden: true
ResponsibleCostCenter,
@UI.hidden: true
ProfitCenter,
@UI.hidden: true
ControllingArea,
_Manager,
@ObjectModel.filter.enabled: false
_ProjectCostLineItem,
_EnterpriseProjectTypeText,
_EnterpriseProjectForUser,
_EnterpriseProjectElement : redirected to composition child C_EntProjectBriefMilestoneTP,
_EntProjProjectObjectLink : redirected to composition child C_EntProjectBriefObjectLinkTP,
_EntProjStatusArea : redirected to composition child C_EntProjectBriefStatusAreaTP,
_EntProjRoleStaffing : redirected to composition child C_EntProjBriefRoleStaffingTP
}
where
ProjectCategory = '6'
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