A_ProductPlant
Plant Data
A_ProductPlant is a Composite CDS View that provides data about "Plant Data" in SAP S/4HANA. It reads from 1 data source (I_ProductPlant) and exposes 60 fields with key fields Product, Plant. It has 14 associations to related views. Part of development package VDM_MD_PRODUCT_API_V1.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_ProductPlant | Plant | from |
Associations (14)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..*] | A_ProductStorageLocation | _StorageLocation | $projection.Product = _StorageLocation.Product and $projection.Plant = _StorageLocation.Plant |
| [0..1] | A_ProductPlantProcurement | _ProductPlantProcurement | $projection.Product = _ProductPlantProcurement.Product and $projection.Plant = _ProductPlantProcurement.Plant |
| [0..1] | A_ProductWorkScheduling | _ProductWorkScheduling | $projection.Product = _ProductWorkScheduling.Product and $projection.Plant = _ProductWorkScheduling.Plant |
| [0..1] | A_ProductSupplyPlanning | _ProductSupplyPlanning | $projection.Product = _ProductSupplyPlanning.Product and $projection.Plant = _ProductSupplyPlanning.Plant |
| [0..1] | A_ProductPlantIntlTrd | _ProdPlantInternationalTrade | $projection.Product = _ProdPlantInternationalTrade.Product and $projection.Plant = _ProdPlantInternationalTrade.Plant |
| [0..1] | A_ProductPlantCosting | _ProductPlantCosting | $projection.Product = _ProductPlantCosting.Product and $projection.Plant = _ProductPlantCosting.Plant |
| [0..1] | A_ProductPlantForecasting | _ProductPlantForecast | $projection.Product = _ProductPlantForecast.Product and $projection.Plant = _ProductPlantForecast.Plant |
| [0..1] | A_ProductPlantQualityMgmt | _PlantQualityMgmt | $projection.Product = _PlantQualityMgmt.Product and $projection.Plant = _PlantQualityMgmt.Plant |
| [0..1] | A_ProductPlantSales | _PlantSales | $projection.Product = _PlantSales.Product and $projection.Plant = _PlantSales.Plant |
| [0..1] | A_ProductPlantStorage | _PlantStorage | $projection.Product = _PlantStorage.Product and $projection.Plant = _PlantStorage.Plant |
| [0..1] | A_ProductPlantText | _PlantText | $projection.Product = _PlantText.Product and $projection.Plant = _PlantText.Plant |
| [0..*] | A_ProductPlantMRPArea | _PlantMRPArea | $projection.Product = _PlantMRPArea.Product and $projection.Plant = _PlantMRPArea.Plant |
| [0..1] | E_Productplant | _ProductPlantExt | $projection.Product = _ProductPlantExt.Product and $projection.Plant = _ProductPlantExt.Plant |
| [1..1] | A_Product | _Product | $projection.Product = _Product.Product |
Annotations (13)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | APRODPLANT | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| EndUserText.label | Plant Data | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| VDM.viewType | #COMPOSITE | view | |
| VDM.lifecycle.contract.type | #PUBLIC_REMOTE_API | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| ObjectModel.usageType.dataClass | #MASTER | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| ObjectModel.createEnabled | true | view | |
| ObjectModel.updateEnabled | true | view |
Fields (60)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | Product | Product | ||
| KEY | Plant | Plant | ||
| PurchasingGroup | PurchasingGroup | |||
| CountryOfOrigin | CountryOfOrigin | |||
| RegionOfOrigin | RegionOfOrigin | |||
| ProductionInvtryManagedLoc | ProductionInvtryManagedLoc | |||
| ProfileCode | ProfileCode | |||
| ProfileValidityStartDate | ProfileValidityStartDate | |||
| AvailabilityCheckType | AvailabilityCheckType | |||
| FiscalYearVariant | FiscalYearVariant | |||
| PeriodType | PeriodType | |||
| ProfitCenter | ProfitCenter | |||
| Commodity | Commodity | |||
| GoodsReceiptDuration | GoodsReceiptDuration | |||
| MaintenanceStatusName | MaintenanceStatusName | |||
| IsMarkedForDeletion | IsMarkedForDeletion | |||
| MRPType | MRPType | |||
| MRPResponsible | MRPResponsible | |||
| ABCIndicator | ABCIndicator | |||
| MinimumLotSizeQuantity | MinimumLotSizeQuantity | |||
| MaximumLotSizeQuantity | MaximumLotSizeQuantity | |||
| FixedLotSizeQuantity | FixedLotSizeQuantity | |||
| ConsumptionTaxCtrlCode | ConsumptionTaxCtrlCode | |||
| IsCoProduct | IsCoProduct | |||
| ProductIsConfigurable | ProductIsConfigurable | |||
| StockDeterminationGroup | StockDeterminationGroup | |||
| StockInTransferQuantity | StockInTransferQuantity | |||
| StockInTransitQuantity | StockInTransitQuantity | |||
| HasPostToInspectionStock | HasPostToInspectionStock | |||
| IsBatchManagementRequired | IsBatchManagementRequired | |||
| SerialNumberProfile | SerialNumberProfile | |||
| IsNegativeStockAllowed | IsNegativeStockAllowed | |||
| GoodsReceiptBlockedStockQty | GoodsReceiptBlockedStockQty | |||
| HasConsignmentCtrl | HasConsignmentCtrl | |||
| FiscalYearCurrentPeriod | FiscalYearCurrentPeriod | |||
| FiscalMonthCurrentPeriod | FiscalMonthCurrentPeriod | |||
| ProcurementType | ProcurementType | |||
| IsInternalBatchManaged | IsInternalBatchManaged | |||
| ProductCFOPCategory | ProductCFOPCategory | |||
| ProductIsExciseTaxRelevant | ProductIsExciseTaxRelevant | |||
| BaseUnit | BaseUnit | |||
| ConfigurableProduct | ConfigurableProduct | |||
| GoodsIssueUnit | GoodsIssueUnit | |||
| MaterialFreightGroup | MaterialFreightGroup | |||
| OriginalBatchReferenceMaterial | OriginalBatchReferenceMaterial | |||
| OriglBatchManagementIsRequired | OriglBatchManagementIsRequired | |||
| ProductIsCriticalPrt | ProductIsCriticalPrt | |||
| ProductLogisticsHandlingGroup | ProductLogisticsHandlingGroup | |||
| _StorageLocation | _StorageLocation | |||
| _ProductPlantProcurement | _ProductPlantProcurement | |||
| _ProductWorkScheduling | _ProductWorkScheduling | |||
| _ProductSupplyPlanning | _ProductSupplyPlanning | |||
| _ProdPlantInternationalTrade | _ProdPlantInternationalTrade | |||
| _ProductPlantCosting | _ProductPlantCosting | |||
| _PlantQualityMgmt | _PlantQualityMgmt | |||
| _PlantSales | _PlantSales | |||
| _Product | _Product | |||
| _PlantStorage | _PlantStorage | |||
| _PlantText | _PlantText | |||
| _PlantMRPArea | _PlantMRPArea |
@AbapCatalog.sqlViewName: 'APRODPLANT'
@AbapCatalog.compiler.compareFilter: true
@EndUserText.label: 'Plant Data'
@AccessControl.authorizationCheck: #CHECK
@VDM.viewType: #COMPOSITE
@VDM.lifecycle.contract.type: #PUBLIC_REMOTE_API
@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory : #XL
@ObjectModel.usageType.dataClass: #MASTER
@ClientHandling.algorithm: #SESSION_VARIABLE
@Metadata.ignorePropagatedAnnotations:true
@ObjectModel.createEnabled: true
@ObjectModel.updateEnabled: true
define view A_ProductPlant
as select from I_ProductPlant as Plant
association [0..*] to A_ProductStorageLocation as _StorageLocation on $projection.Product = _StorageLocation.Product
and $projection.Plant = _StorageLocation.Plant
association [0..1] to A_ProductPlantProcurement as _ProductPlantProcurement on $projection.Product = _ProductPlantProcurement.Product
and $projection.Plant = _ProductPlantProcurement.Plant
association [0..1] to A_ProductWorkScheduling as _ProductWorkScheduling on $projection.Product = _ProductWorkScheduling.Product
and $projection.Plant = _ProductWorkScheduling.Plant
association [0..1] to A_ProductSupplyPlanning as _ProductSupplyPlanning on $projection.Product = _ProductSupplyPlanning.Product
and $projection.Plant = _ProductSupplyPlanning.Plant
association [0..1] to A_ProductPlantIntlTrd as _ProdPlantInternationalTrade on $projection.Product = _ProdPlantInternationalTrade.Product
and $projection.Plant = _ProdPlantInternationalTrade.Plant
association [0..1] to A_ProductPlantCosting as _ProductPlantCosting on $projection.Product = _ProductPlantCosting.Product
and $projection.Plant = _ProductPlantCosting.Plant
association [0..1] to A_ProductPlantForecasting as _ProductPlantForecast on $projection.Product = _ProductPlantForecast.Product
and $projection.Plant = _ProductPlantForecast.Plant
association [0..1] to A_ProductPlantQualityMgmt as _PlantQualityMgmt on $projection.Product = _PlantQualityMgmt.Product
and $projection.Plant = _PlantQualityMgmt.Plant
association [0..1] to A_ProductPlantSales as _PlantSales on $projection.Product = _PlantSales.Product
and $projection.Plant = _PlantSales.Plant
//new segments
association [0..1] to A_ProductPlantStorage as _PlantStorage on $projection.Product = _PlantStorage.Product
and $projection.Plant = _PlantStorage.Plant
association [0..1] to A_ProductPlantText as _PlantText on $projection.Product = _PlantText.Product
and $projection.Plant = _PlantText.Plant
association [0..*] to A_ProductPlantMRPArea as _PlantMRPArea on $projection.Product = _PlantMRPArea.Product
and $projection.Plant = _PlantMRPArea.Plant
association [0..1] to E_Productplant as _ProductPlantExt on $projection.Product = _ProductPlantExt.Product
and $projection.Plant = _ProductPlantExt.Plant
association [1..1] to A_Product as _Product on $projection.Product = _Product.Product
{
key Product,
key Plant,
PurchasingGroup,
CountryOfOrigin,
RegionOfOrigin,
@ObjectModel.sapObjectNodeTypeReference:'StorageLocation'
ProductionInvtryManagedLoc,
@ObjectModel.sapObjectNodeTypeReference:'ProductProfileCode'
ProfileCode,
ProfileValidityStartDate,
AvailabilityCheckType,
@ObjectModel.sapObjectNodeTypeReference:'FiscalYearVariant'
FiscalYearVariant,
@ObjectModel.sapObjectNodeTypeReference:'ProductConsumptionPeriodType'
PeriodType,
ProfitCenter,
Commodity,
GoodsReceiptDuration,
MaintenanceStatusName,
IsMarkedForDeletion,
@ObjectModel.sapObjectNodeTypeReference:'MRPType'
MRPType,
@ObjectModel.sapObjectNodeTypeReference:'MRPController'
MRPResponsible,
@ObjectModel.sapObjectNodeTypeReference:'ProdConsumptionValueCategory'
ABCIndicator,
@Semantics.quantity.unitOfMeasure: 'BaseUnit'
MinimumLotSizeQuantity,
@Semantics.quantity.unitOfMeasure: 'BaseUnit'
MaximumLotSizeQuantity,
@Semantics.quantity.unitOfMeasure: 'BaseUnit'
FixedLotSizeQuantity,
ConsumptionTaxCtrlCode,
IsCoProduct,
ProductIsConfigurable,
StockDeterminationGroup,
@Semantics.quantity.unitOfMeasure: 'BaseUnit'
StockInTransferQuantity,
@Semantics.quantity.unitOfMeasure: 'BaseUnit'
StockInTransitQuantity,
HasPostToInspectionStock,
IsBatchManagementRequired,
SerialNumberProfile,
IsNegativeStockAllowed,
@Semantics.quantity.unitOfMeasure: 'BaseUnit'
GoodsReceiptBlockedStockQty,
HasConsignmentCtrl,
FiscalYearCurrentPeriod,
FiscalMonthCurrentPeriod,
@ObjectModel.sapObjectNodeTypeReference:'ProcurementType'
ProcurementType,
// IsPurgAcrossPurgGroup , Will be made available with retail
IsInternalBatchManaged,
ProductCFOPCategory,
ProductIsExciseTaxRelevant, //Excise Tax
@Semantics.unitOfMeasure: true
BaseUnit,
// new fields for odata api
ConfigurableProduct,
GoodsIssueUnit,
MaterialFreightGroup,
OriginalBatchReferenceMaterial,
OriglBatchManagementIsRequired,
ProductIsCriticalPrt,
@ObjectModel.sapObjectNodeTypeReference:'ProductLogisticsHandlingGroup'
ProductLogisticsHandlingGroup,
_StorageLocation,
_ProductPlantProcurement,
_ProductWorkScheduling,
_ProductSupplyPlanning,
_ProdPlantInternationalTrade,
_ProductPlantCosting,
_ProductPlantForecast,
_PlantQualityMgmt,
_PlantSales,
_Product,
_PlantStorage,
_PlantText,
_PlantMRPArea
}
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