I_ProjectByExternalID
Project by formatted external ID
I_ProjectByExternalID (Basic)
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_ProjectByExternalID is a Basic CDS View (Dimension) that provides data about "Project by formatted external ID" in SAP S/4HANA. It reads from 1 data source (proj) and exposes 20 fields with key field ProjectExternalID. It has 6 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: For Professional Services or Financial related needs, what are the organizational details associated with a project? Note This view is specifically used in cubes and analytical queries to link Project dimension using the ProjectExternalID field. It is enabled for use in SAP S/4HANA cloud.
Structure
Measures and attributes Some important measures and attributes are: The ProjectID and ProjectExternalID , including other organizational data such as controlling area, company code, profit center and so on.
Constraints
The recommendation is to use this CDS view only in analytical views such as cube or consumption views, where foreign-key associations are required on the ProjectExternalID field.
Related Information
For more information, refer to 2730212
This CDS view provides the prerequisites for answering the following business questions: For Professional Services or Financial related needs, what are the organizational details associated with a project? Note This view is specifically used in cubes and analytical queries to link Project dimension using the ProjectExternalID field. It is enabled for use in SAP S/4HANA cloud.
Structure
Measures and attributes Some important measures and attributes are: The ProjectID and ProjectExternalID , including other organizational data such as controlling area, company code, profit center and so on.
Constraints
The recommendation is to use this CDS view only in analytical views such as cube or consumption views, where foreign-key associations are required on the ProjectExternalID field.
Related Information
For more information, refer to 2730212
SAP API Hub
| State | C1 |
|---|---|
| Line of Business | R&D Engineering |
| Application Component | PS-ST |
| Capabilities | Analytical Dimension |
| Package | R&D Engineering for SAP S/4HANA Cloud Private Edition |
Documentation
- Analytics with CDS Views — Build Analytics for S/4HANA Cloud Private Edition ABAP CDS views replicated to SAP Cloud Platform
- CDS Views on SAP Business Accelerator Hub — Explore SAP S/4HANA Cloud Private Edition Private Edition CDS Views on SAP Business Accelerator Hub
- Create CDS View as API — Create CDS views in SAP S/4HANA Cloud Private Edition and consume them as APIs
- Custom CDS Views — Access data using a Custom Core Data Service view (Custom CDS view)
- Key User Extensibility Tools — The Key User Extensibility Tools of S/4HANA
- SAP Extensibility Explorer for SAP S/4HANA Cloud Private Edition — Explore SAP S/4HANA Cloud Private Edition Extensibility options by leveraging the sample scenarios from SAP
- SAP S/4HANA Extensibility — SAP S/4HANA Extensibility Tutorial
- VDM View Types — The Virtual Data Model in SAP S/4HANA Cloud Private Edition
- View Browser — Search, browse and tag CDS Views
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| proj | proj | from |
Associations (6)
| 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..*] | I_ProfitCenter | _ProfitCenter | $projection.ControllingArea = _ProfitCenter.ControllingArea and $projection.ProfitCenter = _ProfitCenter.ProfitCenter |
| [0..1] | I_AvailabilityCtrlProfile | _AvailabilityCtrlProfile | $projection.AvailabilityControlProfile = _AvailabilityCtrlProfile.AvailabilityControlProfile |
Annotations (14)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | IPROJBYEXTKEY | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| Analytics.dataCategory | #DIMENSION | view | |
| Metadata.allowExtensions | true | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| EndUserText.label | Project by formatted external ID | view | |
| VDM.viewType | #BASIC | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| ObjectModel.compositionRoot | true | view | |
| ObjectModel.representativeKey | ProjectExternalID | view | |
| ObjectModel.usageType.serviceQuality | #B | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view |
Fields (20)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ProjectExternalID | proj | pspid_edit | Project Number (External) Edited |
| ProjectInternalID | Project (internal) | |||
| ProjectProfileCode | proj | profl | Project Profile | |
| CompanyCode | Company Code | |||
| ControllingArea | Controlling Area | |||
| FunctionalArea | Functional Area | |||
| ProfitCenter | proj | prctr | Profit Centers | |
| ProjectObject | proj | objnr | Val. Obj. No. | |
| PlannedStartDate | proj | plfaz | Project planned start date | |
| PlannedEndDate | proj | plsez | Project planned finish date | |
| AvailabilityControlProfile | proj | avc_profile | Budget Availability Control: Profile | |
| AvailabilityControlIsActive | proj | avc_active | Availability control indicator(AVC) | |
| JntIntrstBillgClass | proj | jibcl | JIB/JIBE Class | |
| JntIntrstBillgSubClass | proj | jibsa | JIB/JIBE Subclass A | |
| Plant | proj | werks | Receiving Plant | |
| _WBSElement | _WBSElement | |||
| _CompanyCode | _CompanyCode | |||
| _ControllingArea | _ControllingArea | |||
| _ProfitCenter | _ProfitCenter | |||
| _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_ProjectByExternalID.
-- 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.
-- SQL view name: IPROJBYEXTKEY
CREATE VIEW I_ProjectByExternalID AS
SELECT
proj.pspid_edit AS ProjectExternalID,
cast ( proj.pspnr as ps_s4_proj_pspnr preserving type ) AS ProjectInternalID,
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.jibcl AS JntIntrstBillgClass,
proj.jibsa AS JntIntrstBillgSubClass,
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 -- association [0..*]
LEFT OUTER JOIN I_AvailabilityCtrlProfile AS _AvailabilityCtrlProfile ON AvailabilityControlProfile = _AvailabilityCtrlProfile.AvailabilityControlProfile -- 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