A_Project_3
Project data details
A_Project_3 is a Composite CDS View that provides data about "Project data details" in SAP S/4HANA. It reads from 1 data source (R_ProjectTP_2) and exposes 83 fields with key field ProjectInternalID. It has 2 associations to related views. It is exposed through 1 OData service (API_PROJECT_V3). Part of development package ODATA_PROJECT_API.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| R_ProjectTP_2 | R_ProjectTP_2 | projection |
Associations (2)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..*] | A_ProjectStatus | _ProjectStatus | _Project.ProjectInternalID = _ProjectStatus.ProjectInternalID ---Extension |
| [1..1] | E_Project_2 | _Extension | $projection.ProjectInternalID = _Extension.ProjectInternalID |
Annotations (11)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #CHECK | view | |
| AccessControl.personalData.blocking | #BLOCKED_DATA_EXCLUDED | view | |
| EndUserText.label | Project data details | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| VDM.viewType | #COMPOSITE | view | |
| VDM.lifecycle.contract.type | #PUBLIC_REMOTE_API | view | |
| OData.entitySet.name | Project | view | |
| OData.entityType.name | Project_Type | view |
OData Services (1)
| Service | Binding | Version | Contract | Release |
|---|---|---|---|---|
| API_PROJECT_V3 | API_PROJECT_V3 | V4 | C2 | C1 |
Fields (83)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ProjectInternalID | ProjectInternalID | ||
| ProjectExternalID | ProjectExternalID | |||
| ProjectDescription | ProjectDescription | |||
| ProjectLangBsdDescription | ProjectLangBsdDescription | |||
| ProjectProfileCode | ProjectProfileCode | |||
| CompanyCode | CompanyCode | |||
| ControllingArea | ControllingArea | |||
| FunctionalArea | FunctionalArea | |||
| ProfitCenter | ProfitCenter | |||
| PlannedStartDate | PlannedStartDate | |||
| PlannedEndDate | PlannedEndDate | |||
| WorkCenterLocation | WorkCenterLocation | |||
| TaxJurisdiction | TaxJurisdiction | |||
| ResponsiblePerson | ResponsiblePerson | |||
| ResponsiblePersonName | ResponsiblePersonName | |||
| ApplicantCode | ApplicantCode | |||
| ApplicantName | ApplicantName | |||
| CreatedByUser | CreatedByUser | |||
| CreationDate | CreationDate | |||
| LastChangedByUser | LastChangedByUser | |||
| LastChangeDate | LastChangeDate | |||
| BasicDatesLastScheduledDate | BasicDatesLastScheduledDate | |||
| FcstdDatesLastScheduledDate | FcstdDatesLastScheduledDate | |||
| FactoryCalendar | FactoryCalendar | |||
| SchedulingDurationUnit | SchedulingDurationUnit | |||
| BusinessArea | BusinessArea | |||
| Plant | Plant | |||
| Currency | Currency | |||
| BudgetProfile | BudgetProfile | |||
| PlanningProfile | PlanningProfile | |||
| InvestmentProfile | InvestmentProfile | |||
| ProjInterestCalcProfile | ProjInterestCalcProfile | |||
| ResultAnalysisInternalID | ResultAnalysisInternalID | |||
| ControllingObjectClass | ControllingObjectClass | |||
| NetworkProfile | NetworkProfile | |||
| WBSSchedulingProfile | WBSSchedulingProfile | |||
| PlanningMethForProjBasicDate | PlanningMethForProjBasicDate | |||
| PlanningMethForProjFcstdDate | PlanningMethForProjFcstdDate | |||
| NetworkAssignmentType | NetworkAssignmentType | |||
| WBSIsStatisticalWBSElement | WBSIsStatisticalWBSElement | |||
| WBSIsMarkedForIntegratedPlng | WBSIsMarkedForIntegratedPlng | |||
| ProjectHasOwnStock | ProjectHasOwnStock | |||
| InventorySpecialStockValnType | InventorySpecialStockValnType | |||
| WBSIsMarkedForAutomReqmtGrpg | WBSIsMarkedForAutomReqmtGrpg | |||
| SalesOrganization | SalesOrganization | |||
| DistributionChannel | DistributionChannel | |||
| Language | Language | |||
| WBSElementMaskID | WBSElementMaskID | |||
| Division | Division | |||
| DynItemProcessorPrfl | DynItemProcessorPrfl | |||
| JointVenture | JointVenture | |||
| JointVentureCostRecoveryCode | JointVentureCostRecoveryCode | |||
| JointVentureEquityType | JointVentureEquityType | |||
| JointVentureObjectType | JointVentureObjectType | |||
| JntIntrstBillgClass | JntIntrstBillgClass | |||
| JntIntrstBillgSubClass | JntIntrstBillgSubClass | |||
| StatusProfile | StatusProfile | |||
| WBSStatusProfile | WBSStatusProfile | |||
| SimulationProfile | SimulationProfile | |||
| SchedulingScenario | SchedulingScenario | |||
| DistributionProfile | DistributionProfile | |||
| PartnerDeterminationProcedure | PartnerDeterminationProcedure | |||
| FreeDefinedTableFieldSemantic | FreeDefinedTableFieldSemantic | |||
| FreeDefinedAttribute01 | FreeDefinedAttribute01 | |||
| FreeDefinedAttribute02 | FreeDefinedAttribute02 | |||
| FreeDefinedAttribute03 | FreeDefinedAttribute03 | |||
| FreeDefinedAttribute04 | FreeDefinedAttribute04 | |||
| FreeDefinedQuantity1 | FreeDefinedQuantity1 | |||
| FreeDefinedQuantity1Unit | FreeDefinedQuantity1Unit | |||
| FreeDefinedQuantity2 | FreeDefinedQuantity2 | |||
| FreeDefinedQuantity2Unit | FreeDefinedQuantity2Unit | |||
| FreeDefinedAmount1 | FreeDefinedAmount1 | User field value 1 for Project | ||
| FreeDefinedAmount1Currency | FreeDefinedAmount1Currency | |||
| FreeDefinedAmount2 | FreeDefinedAmount2 | User field value 2 for Project | ||
| FreeDefinedAmount2Currency | FreeDefinedAmount2Currency | |||
| FreeDefinedDate1 | FreeDefinedDate1 | |||
| FreeDefinedDate2 | FreeDefinedDate2 | |||
| FreeDefinedIndicator1 | FreeDefinedIndicator1 | |||
| FreeDefinedIndicator2 | FreeDefinedIndicator2 | |||
| StatusCombinationCode | StatusCombinationCode | |||
| _ResponsiblePerson | _ResponsiblePerson | |||
| _ProjectApplicant | _ProjectApplicant | |||
| _ProjectStatus | _ProjectStatus |
@AccessControl: {
authorizationCheck: #CHECK,
personalData.blocking: #BLOCKED_DATA_EXCLUDED
}
@EndUserText.label: 'Project data details'
@Metadata.ignorePropagatedAnnotations:true
@ObjectModel: {
usageType: {
dataClass: #MIXED,
serviceQuality: #C,
sizeCategory: #XL
}
}
@VDM: {
viewType: #COMPOSITE,
lifecycle.contract.type: #PUBLIC_REMOTE_API
}
@OData.entitySet.name : 'Project'
@OData.entityType.name:'Project_Type'
@VDM.usage.type:[#TRANSACTIONAL_PROCESSING_SERVICE]
define root view entity A_Project_3
provider contract transactional_query
as projection on R_ProjectTP_2 as _Project
association [1..*] to A_ProjectStatus as _ProjectStatus on _Project.ProjectInternalID = _ProjectStatus.ProjectInternalID
---Extension Association
association [1..1] to E_Project_2 as _Extension on $projection.ProjectInternalID = _Extension.ProjectInternalID
{
key ProjectInternalID,
ProjectExternalID,
ProjectDescription,
ProjectLangBsdDescription,
@ObjectModel.sapObjectNodeTypeReference: 'ProjectProfileCode'
ProjectProfileCode,
CompanyCode,
ControllingArea,
FunctionalArea,
ProfitCenter,
PlannedStartDate,
PlannedEndDate,
WorkCenterLocation,
TaxJurisdiction,
ResponsiblePerson,
ResponsiblePersonName,
ApplicantCode,
ApplicantName,
CreatedByUser,
CreationDate,
LastChangedByUser,
LastChangeDate,
BasicDatesLastScheduledDate,
FcstdDatesLastScheduledDate,
FactoryCalendar,
SchedulingDurationUnit,
ForecastedStartDate,
ForecastedEndDate,
BusinessArea,
Plant,
@ObjectModel.sapObjectNodeTypeReference: 'Currency'
Currency,
BudgetProfile,
PlanningProfile,
InvestmentProfile,
ProjInterestCalcProfile,
ResultAnalysisInternalID,
ControllingObjectClass,
@ObjectModel.sapObjectNodeTypeReference: 'ProjectNetworkProfile'
NetworkProfile,
WBSSchedulingProfile,
PlanningMethForProjBasicDate,
PlanningMethForProjFcstdDate,
NetworkAssignmentType,
WBSIsStatisticalWBSElement,
WBSIsMarkedForIntegratedPlng,
@Semantics.booleanIndicator: true
ProjectHasOwnStock,
InventorySpecialStockValnType,
WBSIsMarkedForAutomReqmtGrpg,
SalesOrganization,
DistributionChannel,
Language,
WBSElementMaskID,
@ObjectModel.sapObjectNodeTypeReference: 'Division'
Division,
DynItemProcessorPrfl,
JointVenture,
JointVentureCostRecoveryCode,
JointVentureEquityType,
JointVentureObjectType,
JntIntrstBillgClass,
JntIntrstBillgSubClass,
StatusProfile,
WBSStatusProfile,
SimulationProfile,
SchedulingScenario,
DistributionProfile,
PartnerDeterminationProcedure,
FreeDefinedTableFieldSemantic,
FreeDefinedAttribute01,
FreeDefinedAttribute02,
FreeDefinedAttribute03,
FreeDefinedAttribute04,
@Semantics.quantity.unitOfMeasure:'FreeDefinedQuantity1Unit'
FreeDefinedQuantity1,
FreeDefinedQuantity1Unit,
@Semantics.quantity.unitOfMeasure:'FreeDefinedQuantity2Unit'
FreeDefinedQuantity2,
FreeDefinedQuantity2Unit,
@Semantics.amount.currencyCode: 'FreeDefinedAmount1Currency'
@EndUserText.label: 'User field value 1 for Project'
FreeDefinedAmount1,
FreeDefinedAmount1Currency,
@Semantics.amount.currencyCode: 'FreeDefinedAmount2Currency'
@EndUserText.label: 'User field value 2 for Project'
FreeDefinedAmount2,
FreeDefinedAmount2Currency,
FreeDefinedDate1,
FreeDefinedDate2,
FreeDefinedIndicator1,
FreeDefinedIndicator2,
StatusCombinationCode,
//Association
@Consumption.hidden: true
_ResponsiblePerson,
@Consumption.hidden: true
_ProjectApplicant,
_ProjectStatus,
_WBSElement : redirected to composition child A_WBSElement_3
}
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- 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