I_InternalProject

DDL: I_INTERNALPROJECT Type: view COMPOSITE

Internal Project

I_InternalProject (Composite)

Package: Explore, extend and adapt the SAP S/4HANA Cloud Private Edition with built-in and side-by-side extension capabilities.

R&D Engineering

I_InternalProject is a Composite CDS View (Dimension) that provides data about "Internal Project" in SAP S/4HANA. It reads from 1 data source (I_EngagementProject) and exposes 29 fields with key field InternalProject. It has 11 associations to related views.

SAP API Hub

StateC1
Line of BusinessR&D Engineering
Application ComponentCA-CPD-SS
CapabilitiesAnalytical Dimension, Association Target for Defining CDS Entities, Data Source for Defining CDS Entities, Data Source for Data Extraction, Data Source in SQL Select
PackageR&D Engineering for SAP S/4HANA Cloud Private Edition

Documentation

Data Sources (1)

SourceAliasJoin Type
I_EngagementProject EngagementProject from

Associations (11)

CardinalityTargetAliasCondition
[1..1] I_EngagementProjFinancialPlan _EngagementProjFinancialPlan $projection.InternalProjectUUID = _EngagementProjFinancialPlan.EngagementProjectUUID
[0..*] I_PersnWrkAgreementDet _PersonWorkAgreementDet $projection.ProjectManagerWorkAgreement = _PersonWorkAgreementDet.PersonWorkAgreement
[0..*] I_CostCenter _CostCenter $projection.CostCenter = _CostCenter.CostCenter and $projection.ControllingArea = _CostCenter.ControllingArea
[0..*] I_ProfitCenter _ProfitCenter $projection.ProfitCenter = _ProfitCenter.ProfitCenter and $projection.ControllingArea = _ProfitCenter.ControllingArea
[0..1] I_EngagementProjectStage _EngagementProjectStage $projection.EngagementProjectStage = _EngagementProjectStage.EngagementProjectStage
[0..*] I_EngagementProjectItem _EngagementProjectItem $projection.InternalProjectUUID = _EngagementProjectItem.EngagementProjectUUID
[0..1] I_EngagementProjectSrvcOrg _EngagementProjectServiceOrg $projection.EngagementProjectServiceOrg = _EngagementProjectServiceOrg.EngagementProjectServiceOrg
[0..1] E_Internalproject _Extension $projection.InternalProjectUUID = _Extension.InternalProjectUUID
[0..*] I_PersonWorkAgreement _PersonWorkAgreement $projection.ProjectManager = _PersonWorkAgreement.PersonWorkAgreement
[0..1] I_PersonWorkAgreement_1 _PersonWorkAgreement_1 $projection.ProjectManagerWorkAgreement = _PersonWorkAgreement_1.PersonWorkAgreement
[1..1] I_EngmntProjWithUserInvlmnt _UserInvlmnt $projection.InternalProjectUUID = _UserInvlmnt.ProjectUUID

Annotations (17)

NameValueLevelField
AbapCatalog.sqlViewName IINTERNALPROJ view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #REQUIRED view
Analytics.dataCategory #DIMENSION view
Analytics.dataExtraction.enabled true view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Internal Project view
ObjectModel.representativeKey InternalProject view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #M view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.modelingPattern #ANALYTICAL_DIMENSION view
Metadata.allowExtensions true view
Metadata.ignorePropagatedAnnotations true view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
VDM.viewType #COMPOSITE view

Fields (29)

KeyFieldSource TableSource FieldDescription
KEY InternalProject I_EngagementProject EngagementProject Engagement Project ID
InternalProjectUUID Engagement Project UUID
InternalProjectName I_EngagementProject EngagementProjectName Customer Project Name
EngagementProjectType I_EngagementProject EngagementProjectType Engagement Project Type
EngagementProjectServiceOrg I_EngagementProject EngagementProjectServiceOrg Service Organization
EngagementProjectStage I_EngagementProject EngagementProjectStage Identified Stage
EngagementProjectCategory I_EngagementProject EngagementProjectCategory Project Type
ProjectStartDate I_EngagementProject ProjectStartDate Commercial Project: Start Date
ProjectEndDate I_EngagementProject ProjectEndDate Commercial Project: End Date
ProjectVisibility I_EngagementProject ProjectVisibility Confidential Indicator for Commercial Project
ProjectManager I_EngagementProject ProjectManager Busn. Partner
ProjectManagerWorkAgreement I_EngagementProject ProjectManagerWorkAgreement
LastChangeDateTime I_EngagementProject LastChangeDateTime Commercial Project Last Changed On
LastChangedByUser I_EngagementProject LastChangedByUser Changed By
ProfitCenter I_EngagementProject ProfitCenter Profit Center
CostCenter I_EngagementProject CostCenter Organization Unit Key
ControllingArea I_EngagementProject ControllingArea Controlling area for the project
ProjectProfileCode I_EngagementProject ProjectProfileCode Project Profile
CompanyCode I_EngagementProject CompanyCode Company code for the project
_PersonWorkAgreementDet _PersonWorkAgreementDet
_PersonWorkAgreement _PersonWorkAgreement
_PersonWorkAgreement_1 _PersonWorkAgreement_1
_CostCenter _CostCenter
_EngagementProjFinancialPlan _EngagementProjFinancialPlan
_EngagementProjectStage _EngagementProjectStage
_EngagementProjectServiceOrg _EngagementProjectServiceOrg
_EngagementProjectItem _EngagementProjectItem
_ProfitCenter _ProfitCenter
_UserInvlmnt _UserInvlmnt

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 I_InternalProject.
-- 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.

CREATE VIEW I_InternalProject AS
SELECT
  EngagementProject.EngagementProject AS InternalProject,
  cast( EngagementProject.EngagementProjectUUID as /cpd/eng_db_key preserving type ) AS InternalProjectUUID,
  EngagementProject.EngagementProjectName AS InternalProjectName,
  EngagementProject.EngagementProjectType AS EngagementProjectType,
  EngagementProject.EngagementProjectServiceOrg AS EngagementProjectServiceOrg,
  EngagementProject.EngagementProjectStage AS EngagementProjectStage,
  EngagementProject.EngagementProjectCategory AS EngagementProjectCategory,
  EngagementProject.ProjectStartDate AS ProjectStartDate,
  EngagementProject.ProjectEndDate AS ProjectEndDate,
  EngagementProject.ProjectVisibility AS ProjectVisibility,
  EngagementProject.ProjectManager AS ProjectManager,
  EngagementProject.ProjectManagerWorkAgreement AS ProjectManagerWorkAgreement,
  EngagementProject.LastChangeDateTime AS LastChangeDateTime,
  EngagementProject.LastChangedByUser AS LastChangedByUser,
  EngagementProject.ProfitCenter AS ProfitCenter,
  EngagementProject.CostCenter AS CostCenter,
  EngagementProject.ControllingArea AS ControllingArea,
  EngagementProject.ProjectProfileCode AS ProjectProfileCode,
  EngagementProject.CompanyCode AS CompanyCode
FROM I_EngagementProject AS EngagementProject
LEFT OUTER JOIN I_EngagementProjFinancialPlan AS _EngagementProjFinancialPlan ON InternalProjectUUID = _EngagementProjFinancialPlan.EngagementProjectUUID  -- association [1..1]
LEFT OUTER JOIN I_PersnWrkAgreementDet AS _PersonWorkAgreementDet ON ProjectManagerWorkAgreement = _PersonWorkAgreementDet.PersonWorkAgreement  -- association [0..*]
LEFT OUTER JOIN I_CostCenter AS _CostCenter ON CostCenter = _CostCenter.CostCenter AND ControllingArea = _CostCenter.ControllingArea  -- association [0..*]
LEFT OUTER JOIN I_ProfitCenter AS _ProfitCenter ON ProfitCenter = _ProfitCenter.ProfitCenter AND ControllingArea = _ProfitCenter.ControllingArea  -- association [0..*]
LEFT OUTER JOIN I_EngagementProjectStage AS _EngagementProjectStage ON EngagementProjectStage = _EngagementProjectStage.EngagementProjectStage  -- association [0..1]
LEFT OUTER JOIN I_EngagementProjectItem AS _EngagementProjectItem ON InternalProjectUUID = _EngagementProjectItem.EngagementProjectUUID  -- association [0..*]
LEFT OUTER JOIN I_EngagementProjectSrvcOrg AS _EngagementProjectServiceOrg ON EngagementProjectServiceOrg = _EngagementProjectServiceOrg.EngagementProjectServiceOrg  -- association [0..1]
LEFT OUTER JOIN E_Internalproject AS _Extension ON InternalProjectUUID = _Extension.InternalProjectUUID  -- association [0..1]
LEFT OUTER JOIN I_PersonWorkAgreement AS _PersonWorkAgreement ON ProjectManager = _PersonWorkAgreement.PersonWorkAgreement  -- association [0..*]
LEFT OUTER JOIN I_PersonWorkAgreement_1 AS _PersonWorkAgreement_1 ON ProjectManagerWorkAgreement = _PersonWorkAgreement_1.PersonWorkAgreement  -- association [0..1]
LEFT OUTER JOIN I_EngmntProjWithUserInvlmnt AS _UserInvlmnt ON InternalProjectUUID = _UserInvlmnt.ProjectUUID  -- association [1..1]
;