A_ProjectDemand
Project Demand
A_ProjectDemand is a Composite CDS View that provides data about "Project Demand" in SAP S/4HANA. It reads from 1 data source (I_ProjectDemandTP) and exposes 36 fields with key field ProjectDemandUUID. It has 2 associations to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_ProjectDemandTP | I_ProjectDemandTP | projection |
Associations (2)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | A_EnterpriseProjectElement_2 | _WorkPackage | $projection.ReferencedObjectUUID = _WorkPackage.ProjectElementUUID |
| [1] | A_EnterpriseProject_2 | _Project | $projection.ProjectUUID = _Project.ProjectUUID |
Annotations (10)
| Name | Value | Level | Field |
|---|---|---|---|
| AccessControl.authorizationCheck | #CHECK | view | |
| AccessControl.personalData.blocking | #BLOCKED_DATA_EXCLUDED | view | |
| ObjectModel.usageType.serviceQuality | #X | view | |
| ObjectModel.usageType.sizeCategory | #S | view | |
| ObjectModel.usageType.dataClass | #MIXED | view | |
| VDM.viewType | #COMPOSITE | view | |
| EndUserText.label | Project Demand | view | |
| VDM.lifecycle.contract.type | #PUBLIC_REMOTE_API | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| OData.entityType.name | A_ProjectDemand_Type | view |
Fields (36)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ProjectDemandUUID | ProjectDemandUUID | ||
| ProjectDemand | ProjectDemand | |||
| ProjectDemandName | ProjectDemandName | |||
| ProjectDemandDescription | ProjectDemandDescription | |||
| ProjectDemandCategory | ProjectDemandCategory | |||
| ProjectDemandType | ProjectDemandType | |||
| ReferencedObjectUUID | ReferencedObjectUUID | |||
| ProjectDemandStatus | ProjectDemandStatus | |||
| ProjectDemandDateMaintenance | ProjectDemandDateMaintenance | |||
| ProjectDemandStartDate | ProjectDemandStartDate | |||
| ProjectDemandEndDate | ProjectDemandEndDate | |||
| ProjectDemandReleasedDateTime | ProjectDemandReleasedDateTime | |||
| ProjDmndActualSupplyDate | ProjDmndActualSupplyDate | |||
| ProjectDemandPerUnitAmount | ProjectDemandPerUnitAmount | |||
| ProjectDemandRequestCurrency | ProjectDemandRequestCurrency | |||
| ProjDmndRequestedQuantityUnit | ProjDmndRequestedQuantityUnit | |||
| PriceUnitQty | PriceUnitQty | |||
| ProjectDemandRequestNetAmount | ProjectDemandRequestNetAmount | |||
| ProjDmndReqNetAmountCurrency | ProjDmndReqNetAmountCurrency | |||
| ProjectDemandOverallAmount | ProjectDemandOverallAmount | |||
| ProjectDemandExpectedAmount | ||||
| ProjDmndRequestedQuantity | ProjDmndRequestedQuantity | |||
| Plant | Plant | |||
| PurchasingGroup | PurchasingGroup | |||
| PurchasingOrganization | PurchasingOrganization | |||
| CreatedByUser | CreatedByUser | |||
| CreationDateTime | CreationDateTime | |||
| LastChangedByUser | LastChangedByUser | |||
| LastChangeDateTime | LastChangeDateTime | |||
| ProjectDemandLastChangedByUser | ProjectDemandLastChangedByUser | |||
| ProjDemandLastChangeDateTime | ProjDemandLastChangeDateTime | |||
| ProjDmndExternalReferenceUUID | ProjDmndExternalReferenceUUID | |||
| ProjectUUID | ProjectUUID | |||
| _WorkPackage | _WorkPackage | |||
| _Project | _Project | |||
| _EnterpriseProjectForUser | _EnterpriseProjectForUser |
@AccessControl.authorizationCheck: #CHECK
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
@ObjectModel.usageType:{
serviceQuality: #X,
sizeCategory: #S,
dataClass: #MIXED
}
@VDM.viewType: #COMPOSITE
@EndUserText.label: 'Project Demand'
@VDM.usage.type:[#TRANSACTIONAL_PROCESSING_SERVICE]
@VDM.lifecycle.contract.type:#PUBLIC_REMOTE_API
@Metadata.ignorePropagatedAnnotations: true
@OData.entityType.name: 'A_ProjectDemand_Type'
define root view entity A_ProjectDemand
provider contract transactional_query
as projection on I_ProjectDemandTP as ProjectDemand
association [0..1] to A_EnterpriseProjectElement_2 as _WorkPackage on $projection.ReferencedObjectUUID = _WorkPackage.ProjectElementUUID
association [1] to A_EnterpriseProject_2 as _Project on $projection.ProjectUUID = _Project.ProjectUUID
{
key ProjectDemandUUID,
ProjectDemand,
ProjectDemandName,
ProjectDemandDescription,
@ObjectModel.sapObjectNodeTypeReference: 'ProjectDemandCategory'
ProjectDemandCategory,
@ObjectModel.sapObjectNodeTypeReference: 'ProjectDemandType'
ProjectDemandType,
@ObjectModel.sapObjectNodeTypeReference: 'EnterpriseProjectElement'
ReferencedObjectUUID,
@ObjectModel.sapObjectNodeTypeReference: 'ProjectDemandStatus'
ProjectDemandStatus,
ProjectDemandDateMaintenance,
ProjectDemandStartDate,
ProjectDemandEndDate,
ProjectDemandReleasedDateTime,
ProjDmndActualSupplyDate,
@Semantics: { amount : {currencyCode: 'ProjectDemandRequestCurrency'} }
ProjectDemandPerUnitAmount,
@ObjectModel.sapObjectNodeTypeReference: 'Currency'
ProjectDemandRequestCurrency,
@ObjectModel.sapObjectNodeTypeReference: 'UnitOfMeasure'
ProjDmndRequestedQuantityUnit,
PriceUnitQty,
@Semantics: { amount : {currencyCode: 'ProjDmndReqNetAmountCurrency'} }
ProjectDemandRequestNetAmount,
@ObjectModel.sapObjectNodeTypeReference: 'Currency'
ProjDmndReqNetAmountCurrency,
@Semantics: { amount : {currencyCode: 'ProjDmndReqNetAmountCurrency'} }
ProjectDemandOverallAmount,
@Semantics: {
amount: {
currencyCode: 'ProjDmndReqNetAmountCurrency'
}
}
cast( ProjectDemandRequestNetAmount as tv_proj_dmnd_expected_value preserving type ) as ProjectDemandExpectedAmount,
@Semantics: { quantity : {unitOfMeasure: 'ProjDmndRequestedQuantityUnit'} }
ProjDmndRequestedQuantity,
Plant,
@ObjectModel.sapObjectNodeTypeReference: 'PurchasingGroup'
PurchasingGroup,
@ObjectModel.sapObjectNodeTypeReference: 'PurchasingOrganization'
PurchasingOrganization,
CreatedByUser,
CreationDateTime,
LastChangedByUser,
LastChangeDateTime,
ProjectDemandLastChangedByUser,
ProjDemandLastChangeDateTime,
ProjDmndExternalReferenceUUID,
@Consumption.hidden: true
ProjectUUID,
/* Associations */
_Material : redirected to composition child A_ProjectDemandMaterial,
_Service : redirected to composition child A_ProjectDemandService,
_Work : redirected to composition child A_ProjectDemandResource, //_Work must be used due to underlying structure historically grown. At one point it was decided to name _Resource, but cannot be used here.
_Expense : redirected to composition child A_ProjectDemandExpense,
_WorkPackage,
_Project,
@Consumption.hidden: true
_EnterpriseProjectForUser
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PROJECTDEMANDTP"
],
"ASSOCIATED":
[
"A_ENTERPRISEPROJECTELEMENT_2",
"A_ENTERPRISEPROJECT_2",
"A_PROJECTDEMANDEXPENSE",
"A_PROJECTDEMANDMATERIAL",
"A_PROJECTDEMANDRESOURCE",
"A_PROJECTDEMANDSERVICE",
"I_ENTERPRISEPROJECTFORUSER",
"I_PROJECTDEMANDMATERIALTP",
"I_PROJECTDEMANDSERVICETP",
"I_PROJECTDEMANDWORKTP",
"R_PROJECTDEMANDEXPENSETP"
],
"BASE":
[
"I_PROJECTDEMANDTP"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
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