I_ProjectBasicData
Project Basic Data
I_ProjectBasicData is a Basic CDS View (Dimension) that provides data about "Project Basic Data" in SAP S/4HANA. It reads from 1 data source (proj) and exposes 34 fields with key field ProjectInternalID. It has 8 associations to related views.
SAP Help Documentation
| Category | Project |
|---|---|
| Data Category | Dimension |
| Status | Released |
Purpose
This CDS view provides the prerequisites for answering the following business questions: What is the relevant master data and status for selected project definition(s)? What are the key objects associated with the project definition? It is enabled for use in SAP S/4HANA cloud.
Structure
Business Object This view is built on the business objects Project. Measures and attributes Some important attributes are ProjectID and ProjectInternalID , including other organizational data such as controlling area, company code, profit center, and so on.
This CDS view provides the prerequisites for answering the following business questions: What is the relevant master data and status for selected project definition(s)? What are the key objects associated with the project definition? It is enabled for use in SAP S/4HANA cloud.
Structure
Business Object This view is built on the business objects Project. Measures and attributes Some important attributes are ProjectID and ProjectInternalID , including other organizational data such as controlling area, company code, profit center, and so on.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| proj | proj | from |
Associations (8)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_WBSElementBasicData | _RootWBSElement | $projection.ProjectInternalID = _RootWBSElement.ProjectInternalID and $projection.ProjectExternalID = _RootWBSElement.WBSElementExternalID |
| [0..*] | I_WBSElementBasicData | _WBSElement | $projection.ProjectInternalID = _WBSElement.ProjectInternalID |
| [0..1] | I_CompanyCode | _CompanyCode | $projection.CompanyCode = _CompanyCode.CompanyCode |
| [0..1] | I_ControllingArea | _ControllingArea | $projection.ControllingArea = _ControllingArea.ControllingArea |
| [0..1] | I_ProfitCenter | _ProfitCenter | $projection.ControllingArea = _ProfitCenter.ControllingArea and $projection.ProfitCenter = _ProfitCenter.ProfitCenter and $projection.PlannedStartDate <= _ProfitCenter.ValidityEndDate and $projection.PlannedStartDate >= _ProfitCenter.ValidityStartDate |
| [0..*] | I_ProfitCenter | _ProfitCenter2 | $projection.ControllingArea = _ProfitCenter2.ControllingArea and $projection.ProfitCenter = _ProfitCenter2.ProfitCenter |
| [0..1] | I_AvailabilityCtrlProfile | _AvailabilityCtrlProfile | $projection.AvailabilityControlProfile = _AvailabilityCtrlProfile.AvailabilityControlProfile |
| [0..1] | I_EntProjectSettlementType | _EntProjectSettlementType | $projection.EntProjectSettlementType = _EntProjectSettlementType.EntProjectSettlementType |
Annotations (15)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | IPROJECTBSCDATA | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| Analytics.dataCategory | #DIMENSION | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| EndUserText.label | Project Basic Data | view | |
| VDM.viewType | #BASIC | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| AbapCatalog.preserveKey | true | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| Metadata.allowExtensions | true | view | |
| ObjectModel.compositionRoot | true | view | |
| ObjectModel.representativeKey | ProjectInternalID | view | |
| ObjectModel.usageType.serviceQuality | #B | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view |
Fields (34)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ProjectInternalID | |||
| ProjectExternalID | proj | pspid_edit | Std. Proj. Def. | |
| Project | proj | pspid | Std. proj. def. | |
| ProjectDescription | ||||
| ProjectProfileCode | proj | profl | Project Profile | |
| CompanyCode | ||||
| ControllingArea | ||||
| FunctionalArea | ||||
| ProfitCenter | proj | prctr | Profit Centers | |
| ProjectObject | proj | objnr | Val. Obj. No. | |
| PlannedStartDate | proj | plfaz | Start Date | |
| PlannedEndDate | proj | plsez | Finish Date | |
| AvailabilityControlProfile | proj | avc_profile | Availy Ctrl Prfl | |
| AvailabilityControlIsActive | proj | avc_active | AVC is Active | |
| JointVenture | proj | vname | Volatility Name | |
| JointVentureCostRecoveryCode | proj | recid | Statistical Key Figure Item | |
| JointVentureEquityType | proj | etype | RDS Entity Type | |
| JntVntrProjectType | proj | otype | Type of Val. | |
| JntIntrstBillgClass | proj | jibcl | JIB/JIBE Class | |
| JntIntrstBillgSubClass | proj | jibsa | JIB/JIBE SbClsA | |
| Location | proj | stort | Location | |
| ProjectCurrency | proj | cpcurr | Custom Project Curr | |
| TaxJurisdiction | proj | txjcd | Tax Jurisdict. | |
| EntProjectSettlementType | proj | settlementtype | Settlement Type | |
| EntProjHasProjectStockEnabled | proj | besta | Project stock | |
| Plant | proj | werks | Receiving Plant | |
| _WBSElement | _WBSElement | |||
| _CompanyCode | _CompanyCode | |||
| _ControllingArea | _ControllingArea | |||
| _ProfitCenter | _ProfitCenter | |||
| _ProfitCenter2 | _ProfitCenter2 | |||
| _AvailabilityCtrlProfile | _AvailabilityCtrlProfile | |||
| _EntProjectSettlementType | _EntProjectSettlementType | |||
| _RootWBSElement | _RootWBSElement |
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_ProjectBasicData.
-- 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_ProjectBasicData AS
SELECT
cast ( proj.pspnr as ps_s4_proj_pspnr preserving type ) AS ProjectInternalID,
proj.pspid_edit AS ProjectExternalID,
proj.pspid AS Project,
cast ( proj.post1 as ps_s4_proj_post1_v1 preserving type) AS ProjectDescription,
proj.profl AS ProjectProfileCode,
cast ( proj.vbukr as bukrs preserving type ) AS CompanyCode,
cast ( proj.vkokr as kokrs preserving type ) AS ControllingArea,
cast ( proj.func_area as fkber preserving type ) AS FunctionalArea,
proj.prctr AS ProfitCenter,
proj.objnr AS ProjectObject,
proj.plfaz AS PlannedStartDate,
proj.plsez AS PlannedEndDate,
proj.avc_profile AS AvailabilityControlProfile,
proj.avc_active AS AvailabilityControlIsActive,
proj.vname AS JointVenture,
proj.recid AS JointVentureCostRecoveryCode,
proj.etype AS JointVentureEquityType,
proj.otype AS JntVntrProjectType,
proj.jibcl AS JntIntrstBillgClass,
proj.jibsa AS JntIntrstBillgSubClass,
proj.stort AS Location,
proj.cpcurr AS ProjectCurrency,
proj.txjcd AS TaxJurisdiction,
proj.settlementtype AS EntProjectSettlementType,
proj.besta AS EntProjHasProjectStockEnabled,
proj.werks AS Plant
FROM proj
LEFT OUTER JOIN I_WBSElementBasicData AS _RootWBSElement ON ProjectInternalID = _RootWBSElement.ProjectInternalID AND ProjectExternalID = _RootWBSElement.WBSElementExternalID -- association [0..1]
LEFT OUTER JOIN I_WBSElementBasicData AS _WBSElement ON ProjectInternalID = _WBSElement.ProjectInternalID -- association [0..*]
LEFT OUTER JOIN I_CompanyCode AS _CompanyCode ON CompanyCode = _CompanyCode.CompanyCode -- association [0..1]
LEFT OUTER JOIN I_ControllingArea AS _ControllingArea ON ControllingArea = _ControllingArea.ControllingArea -- association [0..1]
LEFT OUTER JOIN I_ProfitCenter AS _ProfitCenter ON ControllingArea = _ProfitCenter.ControllingArea AND ProfitCenter = _ProfitCenter.ProfitCenter AND PlannedStartDate <= _ProfitCenter.ValidityEndDate AND PlannedStartDate >= _ProfitCenter.ValidityStartDate -- association [0..1]
LEFT OUTER JOIN I_ProfitCenter AS _ProfitCenter2 ON ControllingArea = _ProfitCenter2.ControllingArea AND ProfitCenter = _ProfitCenter2.ProfitCenter -- association [0..*]
LEFT OUTER JOIN I_AvailabilityCtrlProfile AS _AvailabilityCtrlProfile ON AvailabilityControlProfile = _AvailabilityCtrlProfile.AvailabilityControlProfile -- association [0..1]
LEFT OUTER JOIN I_EntProjectSettlementType AS _EntProjectSettlementType ON EntProjectSettlementType = _EntProjectSettlementType.EntProjectSettlementType -- association [0..1]
;
Learn More
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- CDS View Annotations — A Complete Guide
- What Is a CDS View in SAP S/4HANA?
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- 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
- BSEG to ACDOCA: The Universal Journal Migration
- Business Partner Migration: KNA1/LFA1 to BUT000
- Material Document Migration: MSEG/MKPF to MATDOC
- How to Find the Right CDS View for an SAP Table
- BW Extractor to CDS View Migration Guide
- S/4HANA CDS View Deprecation: What You Need to Know
- ABAP CDS View Tutorial — From Basics to Real-World Examples
- RAP and CDS Views — Building Transactional Apps in SAP S/4HANA
- Sales Document Status Migration: VBUP/VBUK Removal in S/4HANA
- CO Tables in S/4HANA: COEP, COBK, COSS, COSP to ACDOCA