R_ENTERPRISEPROJECTROOT
Project header table
R_ENTERPRISEPROJECTROOT is a CDS View in S/4HANA. Project header table. It contains 4 fields. 1 CDS views read from this table.
CDS Views using this table (1)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| I_EnterpriseProjectForUser | view_entity | from | COMPOSITE | Enterprise Project with user involvement |
Fields (4)
| Key | Field | CDS Fields | Used in Views |
|---|---|---|---|
| KEY | ProjectUUID | ProjectUUID | 1 |
| EnterpriseProjectServiceOrg | EnterpriseProjectServiceOrg | 1 | |
| EntProjectIsConfidential | EntProjectIsConfidential | 1 | |
| ProjectCategory | ProjectCategory | 1 |
@AccessControl: {
authorizationCheck: #MANDATORY,
personalData.blocking: #BLOCKED_DATA_EXCLUDED
}
@ObjectModel: {
usageType: {
serviceQuality: #A,
dataClass: #TRANSACTIONAL,
sizeCategory: #L
}
}
@VDM: {
viewType: #BASIC,
lifecycle.contract.type: #SAP_INTERNAL_API
}
@EndUserText.label: 'Project header table'
@Metadata.ignorePropagatedAnnotations: true
define view entity R_EnterpriseProjectRoot as select from /s4ppm/project as Project
association [1] to R_EnterpriseProjectElement as _ProjectSummaryTask on $projection.ProjectSummaryTaskUUID = _ProjectSummaryTask.ProjectElementUUID
association [1] to R_EnterpriseProject as _Project on $projection.ProjectUUID = _Project.ProjectUUID
-- foreign key associations
association [0..1] to I_ProjectProfileCode as _ProjectProfileCode on $projection.ProjectProfileCode = _ProjectProfileCode.ProjectProfileCode
association [0..1] to I_AvailabilityCtrlProfile as _AvailabilityCtrlProfile on $projection.AvailabilityControlProfile = _AvailabilityCtrlProfile.AvailabilityControlProfile
association [0..1] to I_EnterpriseServiceOrg as _EnterpriseServiceOrg on $projection.EnterpriseProjectServiceOrg = _EnterpriseServiceOrg.EnterpriseServiceOrganization
// association [0..1] to I_User as _ProjectLastChangedByUser on $projection.ProjectLastChangedByUser = _ProjectLastChangedByUser.UserID
association [0..1] to I_Projecttype as _EnterpriseProjectType on $projection.EnterpriseProjectType = _EnterpriseProjectType.ProjectType
association [0..1] to I_EntProjectSettlementType as _EntProjectSettlementType on $projection.EntProjectSettlementType = _EntProjectSettlementType.EntProjectSettlementType
association [0..1] to I_Currency as _Currency on $projection.Currency = _Currency.Currency
---Extension Association
association [1..1] to E_PPM_Project as _ProjectExtension on $projection.ProjectUUID = _ProjectExtension.ProjectUUID
{
key Project.guid as ProjectUUID,
@Consumption.hidden: true
Project.pro_category as ProjectCategory,
cast ( Project.pspnr as ps_s4_proj_pspnr preserving type ) as ProjectInternalID,
Project.customer as CustomerUUID,
@ObjectModel.foreignKey.association: '_Currency'
cast ( Project.currency as /s4ppm/tv_project_currency preserving type ) as Currency,
// @ObjectModel.foreignKey.association: '_ProjectLastChangedByUser'
@Semantics.user.lastChangedBy: true
Project.last_changed_by as ProjectLastChangedByUser,
@Semantics.systemDateTime.lastChangedAt: true
cast ( Project.last_changed_on as /s4ppm/tv_proj_changed_on preserving type ) as ProjectLastChangedDateTime,
// project.cause as Cause,
// project.master_language as MasterLanguage,
// project.template_admin as TemplateAdmin,
// project.template_guid as TemplateGuid,
// project.schedule_type as ScheduleType,
// project.summary_tasks as SummaryTasks,
// project.periodtype as Periodtype,
// project.allocation_unit as AllocationUnit,
// project.location as Location,
// project.sold_to_party as SoldToParty,
// project.sort_overall as SortOverall,
// project.plvar as PlanVersion,
// project.otype as ObjectType,
// project.resp_org_unit as RespOrgUnit,
// project.actual2plan as Actual2plan,
// project.rstr_vis as RestrictedVisibility,
// project.nonseq_phases as NonseqPhases,
// project.earliest_latest_dates as EarliestLatestDates,
Project.projectsummarytaskuuid as ProjectSummaryTaskUUID,
Project.availabilitycontrolisactive as AvailabilityControlIsActive,
@ObjectModel.foreignKey.association: '_AvailabilityCtrlProfile'
Project.availabilitycontrolprofile as AvailabilityControlProfile,
Project.enterpriseprojecttype as EnterpriseProjectType,
Project.entprojectsettlementelement as EntProjectSettlementElement,
@ObjectModel.foreignKey.association: '_EntProjectSettlementType'
Project.entprojectsettlementtype as EntProjectSettlementType,
Project.entprojhasprojectstockenabled as EntProjHasProjectStockEnabled,
Project.isbillingrelevant as IsBillingRelevant,
Project.projectobject as ProjectObject,
@ObjectModel.foreignKey.association: '_ProjectProfileCode'
Project.projectprofilecode as ProjectProfileCode,
// project.wbselementobject as Wbselementobject,
// Project.inventoryspecialstockvalntype as Inventoryspecialstockvalntype,
// project.dummy_project_incl_eew_ps as DummyProjectInclEewPs,
@ObjectModel.foreignKey.association: '_EnterpriseServiceOrg'
Project.org_id as EnterpriseProjectServiceOrg,
@Semantics.booleanIndicator
Project.confidential as EntProjectIsConfidential,
Project.restrict_time_posting as RestrictedTimePosting,
Project.template_guid as ProjectTemplateUUID,
Project.data_model_version as EntProjectDataModelVersion,
Project.entprojchangedocobject as EntProjectChangeDocument,
_AvailabilityCtrlProfile,
_Currency,
_EnterpriseProjectType,
_EnterpriseServiceOrg,
_EntProjectSettlementType,
_Project,
// _ProjectLastChangedByUser,
_ProjectProfileCode,
_ProjectSummaryTask
}