I_ProjectDemandMaterial
Project Demand for Material
I_ProjectDemandMaterial is a Basic CDS View that provides data about "Project Demand for Material" in SAP S/4HANA. It reads from 1 data source (R_ProjectDemandMaterial) and exposes 19 fields with key field ProjectDemandMaterialUUID. It has 5 associations to related views. Part of development package PS_DMND_VDM_MATERIAL.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| R_ProjectDemandMaterial | R_ProjectDemandMaterial | from |
Associations (5)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_ProjectDemandMaterialSupply | _MaterialSupply | _MaterialSupply.ProjectDemandMaterialUUID = $projection.ProjectDemandMaterialUUID |
| [1..1] | I_ProjectDemand | _RootTP | $projection.ProjectDemandUUID = _RootTP.ProjectDemandUUID |
| [0..1] | I_Product | _MaterialNumber | $projection.Material = _MaterialNumber.Product |
| [0..1] | I_ProductGroup_2 | _MaterialGroup | $projection.MaterialGroup = _MaterialGroup.ProductGroup |
| [0..1] | I_Supplier | _Supplier | $projection.Supplier = _Supplier.Supplier |
Annotations (17)
| Name | Value | Level | Field |
|---|---|---|---|
| VDM.viewType | #BASIC | view | |
| VDM.lifecycle.contract.type | #PUBLIC_LOCAL_API | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| AccessControl.authorizationCheck | #MANDATORY | view | |
| AccessControl.personalData.blocking | #BLOCKED_DATA_EXCLUDED | view | |
| AbapCatalog.sqlViewName | IPROJDMNDMATL | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| ObjectModel.modelingPattern | #ANALYTICAL_DIMENSION | view | |
| ObjectModel.sapObjectNodeType.name | DemandMaterial | view | |
| ObjectModel.representativeKey | ProjectDemandMaterialUUID | view | |
| ObjectModel.usageType.serviceQuality | #A | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| Analytics.dataExtraction.enabled | true | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| EndUserText.label | Project Demand for Material | view |
Fields (19)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | ProjectDemandMaterialUUID | ProjectDemandMaterialUUID | ||
| ProjectDemandUUID | ProjectDemandUUID | |||
| StorageLocation | StorageLocation | |||
| Material | Material | |||
| MaterialGroup | MaterialGroup | |||
| Supplier | Supplier | |||
| PurchasingInfoRecord | PurchasingInfoRecord | |||
| PurchaseContract | PurchaseContract | |||
| PurchaseContractItem | PurchaseContractItem | |||
| MaterialPlannedDeliveryDurn | MaterialPlannedDeliveryDurn | |||
| CreatedByUser | CreatedByUser | |||
| CreationDateTime | CreationDateTime | |||
| LastChangedByUser | LastChangedByUser | |||
| LastChangeDateTime | LastChangeDateTime | |||
| _RootTP | _RootTP | |||
| _MaterialSupply | _MaterialSupply | |||
| _MaterialNumber | _MaterialNumber | |||
| _MaterialGroup | _MaterialGroup | |||
| _Supplier | _Supplier |
@VDM.viewType: #BASIC
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API
@ClientHandling.algorithm: #SESSION_VARIABLE
@AccessControl.authorizationCheck: #MANDATORY
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
@AbapCatalog: {
sqlViewName: 'IPROJDMNDMATL',
compiler.compareFilter: true,
preserveKey:true
}
@ObjectModel: {
modelingPattern: #ANALYTICAL_DIMENSION,
supportedCapabilities: [ #SQL_DATA_SOURCE, #CDS_MODELING_DATA_SOURCE, #CDS_MODELING_ASSOCIATION_TARGET, #EXTRACTION_DATA_SOURCE ],
sapObjectNodeType:{name: 'DemandMaterial'},
semanticKey: ['Material'],
representativeKey: 'ProjectDemandMaterialUUID',
usageType: {
serviceQuality: #A,
dataClass: #TRANSACTIONAL,
sizeCategory: #XL
}
}
@Analytics.dataExtraction.enabled: true
@Metadata.ignorePropagatedAnnotations: true
@EndUserText.label: 'Project Demand for Material'
define view I_ProjectDemandMaterial
as select from R_ProjectDemandMaterial
association [0..1] to I_ProjectDemandMaterialSupply as _MaterialSupply on _MaterialSupply.ProjectDemandMaterialUUID = $projection.ProjectDemandMaterialUUID
association [1..1] to I_ProjectDemand as _RootTP on $projection.ProjectDemandUUID = _RootTP.ProjectDemandUUID
association [0..1] to I_Product as _MaterialNumber on $projection.Material = _MaterialNumber.Product
association [0..1] to I_ProductGroup_2 as _MaterialGroup on $projection.MaterialGroup = _MaterialGroup.ProductGroup
association [0..1] to I_Supplier as _Supplier on $projection.Supplier = _Supplier.Supplier
{
key ProjectDemandMaterialUUID as ProjectDemandMaterialUUID,
ProjectDemandUUID as ProjectDemandUUID,
StorageLocation as StorageLocation,
@Consumption.valueHelp: '_MaterialNumber'
Material as Material,
@Consumption.valueHelpDefinition: [{
entity: { name: 'I_ProductGroup_2',
element: 'ProductGroup' }
}]
@ObjectModel.foreignKey.association: '_MaterialGroup'
MaterialGroup as MaterialGroup,
@ObjectModel.foreignKey.association: '_Supplier'
Supplier as Supplier,
PurchasingInfoRecord as PurchasingInfoRecord,
PurchaseContract as PurchaseContract,
PurchaseContractItem as PurchaseContractItem,
MaterialPlannedDeliveryDurn as MaterialPlannedDeliveryDurn,
@Semantics.user.createdBy: true
CreatedByUser as CreatedByUser,
@Semantics.systemDateTime.createdAt: true
CreationDateTime as CreationDateTime,
@Semantics.user.lastChangedBy: true
LastChangedByUser as LastChangedByUser,
@Semantics.systemDateTime.lastChangedAt: true
LastChangeDateTime as LastChangeDateTime,
_RootTP,
_MaterialSupply,
_MaterialNumber,
_MaterialGroup,
_Supplier
}
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