I_ENTERPRISEPROJECT
Enterprise Project
I_ENTERPRISEPROJECT is a CDS View in S/4HANA. Enterprise Project. It contains 20 fields. 23 CDS views read from this table.
CDS Views using this table (23)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| C_BSOrdProcFlwEntProject | view | from | CONSUMPTION | Customer Project Attrib for BSOrd Prgrs |
| C_EntProjectProfnlSrvcVH | view | from | CONSUMPTION | Enterprise Project for Professional Services |
| C_EntProjectRankingProjectVH | view | from | CONSUMPTION | Ent. Project Ranking Project Value Help |
| C_ProjBillgCustomerProjectDets | view | from | CONSUMPTION | Project Details |
| C_ProjDmndProjectDisplay | view | from | CONSUMPTION | Project Details |
| C_SlsDocItemWBSElementVH | view | inner | CONSUMPTION | WBSElement By ExternalID |
| I_EntProjElemChgDocuments | view | inner | COMPOSITE | Chg Doc for Project Elements of Ent Proj |
| I_EntProjProjectChgDocuments | view | inner | COMPOSITE | Chg Doc for General Info of Ent Proj |
| I_EntProjProjectRespPersn | view | inner | BASIC | Responsible Person for Project Header |
| I_EntProjSimilarProjBscData | view | left_outer | COMPOSITE | Interface view for the Similar Projects |
| I_EntProjStsAreaChgDocuments | view | inner | COMPOSITE | Chg Doc for Status Area of Ent Proj |
| I_EntProjTeamChgDocuments | view | inner | COMPOSITE | Chg Doc for Team tab of Ent Proj |
| I_PPM_ProjCostByFiscalPeriod | view | from | COMPOSITE | Project Costs by Fiscal Period |
| I_PPM_ProjectCostSumOvrl | view | from | COMPOSITE | Project Cost To Date |
| P_BusSolnOrdEntProjectFlwLvl2 | view | inner | CONSUMPTION | Solution Order Enterprise Project Flow: Level 2 |
| P_EntProjCostLineItems | view | left_outer | COMPOSITE | |
| P_ProjBillgCustomerProjectDets | view_entity | from | COMPOSITE | |
| P_ProjBillgCustProjVH | view_entity | from | COMPOSITE | |
| P_ProjectBudgetItems | view | left_outer | COMPOSITE | |
| P_ProjectFinBdgtSummary | view | inner | COMPOSITE | |
| P_PROJECTFINBUDGETSMMRY | view | union_all | COMPOSITE | |
| P_WorkPackageList | view | inner | COMPOSITE | |
| R_EntProjElmntBlockFuncTP | view | inner | TRANSACTIONAL | Transactional Processing for proj elmnt block function |
Fields (20)
| Key | Field | CDS Fields | Used in Views |
|---|---|---|---|
| KEY | CompanyCode | CompanyCode | 8 |
| KEY | ControllingArea | ControllingArea | 7 |
| KEY | FunctionalArea | FunctionalArea | 8 |
| KEY | ProfitCenter | ProfitCenter | 6 |
| KEY | Project | Project,UI5NetworkGraphAttributeValue | 7 |
| KEY | ProjectInternalID | ProjectInternalID | 1 |
| KEY | ProjectSummaryTaskUUID | ProjectSummaryTaskUUID,TaskUUID | 9 |
| KEY | ProjectUUID | ProjectUUID | 7 |
| _AuthGroup | _AuthGroup | 1 | |
| _AuthRole | _AuthRole | 1 | |
| _AuthSubst | _AuthSubst | 1 | |
| _AuthUser | _AuthUser | 1 | |
| EnterpriseProjectType | EnterpriseProjectType,ProjectType | 9 | |
| Plant | Plant | 6 | |
| ProcessingStatus | ProcessingStatus | 4 | |
| ProjectDescription | ProjectDescription,ProjectName | 6 | |
| ProjectEndDate | ProjectEndDate | 2 | |
| ProjectProfileCode | ProjectProfileCode | 6 | |
| ProjectStartDate | ProjectStartDate | 2 | |
| ResponsibleCostCenter | ResponsibleCostCenter | 8 |
@VDM.viewType: #BASIC
@EndUserText.label: 'Enterprise Project'
@AbapCatalog: {
sqlViewName: 'IIENTERPROJ',
compiler.compareFilter: true,
preserveKey: true,
dataMaintenance: #RESTRICTED
}
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel: {
semanticKey: [ 'Project' ],
representativeKey: 'ProjectUUID',
supportedCapabilities: [ #SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE, #CDS_MODELING_ASSOCIATION_TARGET, #EXTRACTION_DATA_SOURCE ],
usageType: {
serviceQuality: #B,
dataClass: #MASTER,
sizeCategory: #L
}
}
@UI.headerInfo: {
typeName: 'Project',
typeNamePlural: 'Projects'
}
@Metadata.ignorePropagatedAnnotations: true
@Analytics.dataExtraction: {
enabled: true,
delta.changeDataCapture: {
mapping:[
{
table: '/s4ppm/project', role: #MAIN,
viewElement: ['ProjectUUID'],
tableElement: ['guid']
},
{
table: '/s4ppm/task', role: #LEFT_OUTER_TO_ONE_JOIN,
viewElement: ['ProjectSummaryTaskUUID'],
tableElement: ['guid']},
{
table: 'proj', role: #LEFT_OUTER_TO_ONE_JOIN,
viewElement: ['ProjectInternalID'],
tableElement: ['pspnr']},
{
table: 'prps', role: #LEFT_OUTER_TO_ONE_JOIN,
viewElement: ['WBSElementInternalID'],
tableElement: ['pspnr']
}
]
}
}
@Analytics.dataCategory: #DIMENSION
@Metadata.allowExtensions:true
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API
define view I_EnterpriseProject
as select from /s4ppm/project as project
inner join /s4ppm/task as task on task.project_guid = project.guid
and object_type = 'DPO'
inner join proj as proj on proj.pspnr = project.pspnr
inner join prps as prps on prps.pspnr = task.pspnr
-- child assocciations
association [1..*] to I_EnterpriseProjectElement as _ProjectElement on $projection.ProjectUUID = _ProjectElement.ProjectUUID
association [0..*] to I_EnterpriseProjectRole as _ProjectRole on $projection.ProjectUUID = _ProjectRole.ProjectUUID
association [0..*] to I_EnterpriseProjectTeamMember as _ProjectTeamMember on $projection.ProjectUUID = _ProjectTeamMember.ProjectUUID
---Extension Association
association [1..1] to E_PPM_Project as _ProjectExtension on $projection.ProjectUUID = _ProjectExtension.ProjectUUID
association [1..1] to E_PPM_EngagementProject as _EngagementProjectExtension on $projection.ProjectUUID = _EngagementProjectExtension.ProjectUUID
// associations to authorization views
association [0..*] to I_PPM_AuthznByUsrH as _AuthUser on _AuthUser.ReferencedObjectUUID = $projection.ProjectSummaryTaskUUID
and _AuthUser.UserID = $session.user
and (
_AuthUser.Activity = 'Admin'
or _AuthUser.Activity = 'Write'
or _AuthUser.Activity = 'Read'
)
association [0..*] to I_PPM_AuthznBySubstitH as _AuthSubst on _AuthSubst.ReferencedObjectUUID = $projection.ProjectSummaryTaskUUID
and _AuthSubst.UserID = $session.user
and (
_AuthSubst.Activity = 'Admin'
or _AuthSubst.Activity = 'Write'
or _AuthSubst.Activity = 'Read'
)
association [0..*] to I_PPM_AuthznByUserRoleH as _AuthRole on _AuthRole.ReferencedObjectUUID = $projection.ProjectSummaryTaskUUID
and _AuthRole.UserID = $session.user
and (
_AuthRole.Activity = 'Admin'
or _AuthRole.Activity = 'Write'
or _AuthRole.Activity = 'Read'
)
association [0..*] to I_PPM_AuthznByUsrGrpH as _AuthGroup on _AuthGroup.ReferencedObjectUUID = $projection.ProjectSummaryTaskUUID
and _AuthGroup.UserID = $session.user
and (
_AuthGroup.Activity = 'Admin'
or _AuthGroup.Activity = 'Write'
or _AuthGroup.Activity = 'Read'
)
//For Cat 7 Authorization
association [0..1] to I_EnterpriseProjectForUser as _EnterpriseProjectForUser on _EnterpriseProjectForUser.ProjectUUID = $projection.ProjectUUID
{
@ObjectModel.text.element: ['ProjectDescription']
key project.guid as ProjectUUID,
cast ( project.pspnr as ps_s4_proj_pspnr preserving type ) as ProjectInternalID,
//2008 C4P Harmonization Start
project.customer as CustomerUUID,
project.org_id as EnterpriseProjectServiceOrg,
project.confidential as EntProjectIsConfidential,
project.restrict_time_posting as RestrictedTimePosting,
@Consumption.hidden: true
project.pro_category as ProjectCategory,
//2008 C4P Harmonization End
task.guid as ProjectSummaryTaskUUID,
cast ( task.external_id as /s4ppm/project_id preserving type ) as Project,
@Semantics.text: true
task.name as ProjectDescription,
task.proc_status_own as ProcessingStatus,
@EndUserText:
{ quickInfo : 'Earliest Planned Start',
label : 'Earliest Planned Start',
heading : 'Earliest Planned Start' }
task.planstart_date as PlannedStartDate,
@EndUserText:
{ quickInfo : 'Earliest Planned Finish',
label : 'Earliest Planned Finish',
heading : 'Earliest Planned Finish' }
task.planfinish_date as PlannedEndDate,
task.actualstart_date as ActualStartDate,
task.actualfinish_date as ActualFinishDate,
task.priority as PriorityCode,
//2102 SD eppm N:1 indicator
task.multi_soi_enabled as EntProjIsMultiSlsOrdItmsEnbld,
//2008 C4P Harmonization Start
@EndUserText:
{ quickInfo : 'Latest Planned Start',
label : 'Latest Planned Start',
heading : 'Latest Planned Start' }
task.latest_start_date as ProjectStartDate,
@EndUserText:
{ quickInfo : 'Latest Planned Finish',
label : 'Latest Planned Finish',
heading : 'Latest Planned Finish' }
task.latest_finish_date as ProjectEndDate,
//2105 EPPM-BW integration
cast ( prps.pspnr as ps_s4_pspnr preserving type ) as WBSElementInternalID,
// prps.pspnr as ProjectObjectReferenceElement,
//2008 C4P Harmonization End
proj.profl as ProjectProfileCode,
proj.prctr as ProfitCenter,
proj.vbukr as CompanyCode,
proj.vkokr as ControllingArea,
proj.func_area as FunctionalArea,
proj.stort as Location,
proj.werks as Plant,
proj.cpcurr as Currency,
//2008 C4P Harmonization Start
proj.avc_profile as AvailabilityControlProfile,
proj.avc_active as AvailabilityControlIsActive,
proj.imprf as InvestmentProfile,
proj.txjcd as TaxJurisdiction,
//2008 C4P Harmonization End
prps.prart as EnterpriseProjectType,
prps.fkstl as ResponsibleCostCenter,
prps.tplnr as FunctionalLocation,
prps.fakkz as IsBillingRelevant,
//SO Integration
prps.abgsl as ResultAnalysisInternalID,
prps.vbeln_prps as LeadingSalesOrder,
prps.posnr_prps as LeadingSalesOrderItem,
@Semantics.user.createdBy: true
task.created_by as CreatedByUser,
@Semantics.systemDateTime.createdAt: true
task.created_on as CreationDateTime,
@Semantics.user.localInstanceLastChangedBy: true
task.changed_by as LastChangedByUser,
@Semantics.systemDateTime.localInstanceLastChangedAt: true
task.changed_on as LastChangeDateTime,
project.last_changed_by as ProjectLastChangedByUser,
cast ( project.last_changed_on as /s4ppm/tv_proj_changed_on preserving type ) as ProjectLastChangedDateTime,
_ProjectElement,
_ProjectRole,
_ProjectTeamMember,
_EnterpriseProjectForUser,
// Authorization Association, do not expose externally
@Consumption.hidden: true
_AuthUser,
@Consumption.hidden: true
_AuthSubst,
@Consumption.hidden: true
_AuthRole,
@Consumption.hidden: true
_AuthGroup
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"/S4PPM/PROJECT",
"/S4PPM/TASK",
"PROJ",
"PRPS"
],
"ASSOCIATED":
[
"E_PPM_ENGAGEMENTPROJECT",
"E_PPM_PROJECT",
"I_ENTERPRISEPROJECTELEMENT",
"I_ENTERPRISEPROJECTFORUSER",
"I_ENTERPRISEPROJECTROLE",
"I_ENTERPRISEPROJECTTEAMMEMBER",
"I_PPM_AUTHZNBYSUBSTITH",
"I_PPM_AUTHZNBYUSERROLEH",
"I_PPM_AUTHZNBYUSRGRPH",
"I_PPM_AUTHZNBYUSRH"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/