C_ProductObjPgPurchaseOrder
Product Object Page - Purchase Order
C_ProductObjPgPurchaseOrder is a Consumption CDS View that provides data about "Product Object Page - Purchase Order" in SAP S/4HANA. It reads from 1 data source (I_PurchaseOrderByProduct) and exposes 20 fields with key fields Product, PurchaseOrder. It has 2 associations to related views. Part of development package VDM_MD_PRODUCT_OBJPAGE_APP.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_PurchaseOrderByProduct | I_PurchaseOrderByProduct | from |
Associations (2)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | C_ProductObjPg | _ProductObjPg | $projection.Product = _ProductObjPg.Product |
| [0..1] | E_PurchasingDocument | _PurchaseOrderExt | $projection.PurchaseOrder = _PurchaseOrderExt.PurchasingDocument |
Annotations (13)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | CPRODOBJPGPRCHOR | view | |
| EndUserText.label | Product Object Page - Purchase Order | view | |
| VDM.viewType | #CONSUMPTION | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| AccessControl.personalData.blocking | #BLOCKED_DATA_EXCLUDED | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| Consumption.semanticObject | PurchaseOrder | view | |
| UI.presentationVariant.sortOrder.by | PurchaseOrderDate | view | |
| UI.presentationVariant.sortOrder.direction | #DESC | view |
Fields (20)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | Product | Product | ||
| KEY | PurchaseOrder | PurchaseOrder | ||
| Supplier | _PurchaseOrder | Supplier | ||
| SupplierName | ||||
| SupplyingPlant | _PurchaseOrder | SupplyingPlant | ||
| SupplyingPlantName | ||||
| PurchasingOrganization | _PurchaseOrder | PurchasingOrganization | Purchasing Organization | |
| PurchaseOrderType | _PurchaseOrder | PurchaseOrderType | ||
| PurchaseOrderTypeName | ||||
| PurchaseOrderDate | _PurchaseOrder | PurchaseOrderDate | Order Date | |
| DocumentCurrency | _PurchaseOrder | DocumentCurrency | ||
| PurchasingGroup | _PurchaseOrder | PurchasingGroup | ||
| _ProductObjPg | _ProductObjPg | |||
| _PurchaseOrder | _PurchaseOrder | |||
| _Product | _Product | |||
| _Supplier | _PurchaseOrder | _Supplier | ||
| _PurchasingOrganization | _PurchaseOrder | _PurchasingOrganization | ||
| PurchasingOrganizationName | ||||
| CurrencyShortName | ||||
| _DocumentCurrency | _PurchaseOrder | _DocumentCurrency |
@AbapCatalog.sqlViewName: 'CPRODOBJPGPRCHOR'
@EndUserText.label: 'Product Object Page - Purchase Order'
@VDM.viewType: #CONSUMPTION
@AccessControl: {
authorizationCheck: #CHECK,
personalData.blocking: #BLOCKED_DATA_EXCLUDED
}
@AbapCatalog.compiler.compareFilter: true
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel: {
semanticKey: ['Product', 'PurchaseOrder'],
usageType: {
serviceQuality: #C,
sizeCategory: #L,
dataClass: #TRANSACTIONAL
}
}
@Consumption.semanticObject: 'PurchaseOrder'
@UI.presentationVariant.sortOrder: {
by: 'PurchaseOrderDate',
direction: #DESC
}
define view C_ProductObjPgPurchaseOrder
as select from I_PurchaseOrderByProduct
association [1..1] to C_ProductObjPg as _ProductObjPg on $projection.Product = _ProductObjPg.Product
association [0..1] to E_PurchasingDocument as _PurchaseOrderExt on $projection.PurchaseOrder = _PurchaseOrderExt.PurchasingDocument
{
@UI.hidden: true
key Product,
@Consumption.semanticObject: 'PurchaseOrder'
@UI.lineItem: [{position: 10, importance: #HIGH}]
key PurchaseOrder,
@Consumption.semanticObject: 'Supplier'
@ObjectModel.text.element: ['SupplierName']
@UI.lineItem: [{position: 20, importance: #MEDIUM}]
@Consumption: { valueHelpDefinition: [{ entity: { name: 'I_Supplier_VH', element: 'Supplier'} }] }
_PurchaseOrder.Supplier,
@UI.hidden: true
_PurchaseOrder._Supplier.SupplierName,
@ObjectModel.text.element: 'SupplyingPlantName'
@EndUserText.quickInfo: 'Supplying Plant'
@UI.lineItem: [{position: 30, importance: #MEDIUM}]
_PurchaseOrder.SupplyingPlant,
@UI.hidden: true
_PurchaseOrder._SupplyingPlant.PlantName as SupplyingPlantName,
@EndUserText.label: 'Purchasing Organization'
@UI.lineItem: [{position: 40, importance: #MEDIUM}]
@ObjectModel.text.element: [ 'PurchasingOrganizationName' ]
_PurchaseOrder.PurchasingOrganization,
@EndUserText: {
label: 'Document Type',
quickInfo: 'Purchasing Document Type'
}
@UI.lineItem: [{position: 50, importance: #MEDIUM}]
_PurchaseOrder.PurchaseOrderType,
@UI.hidden: true
_PurchaseOrder._PurchaseOrderType._Text[1: Language=$session.system_language].PurchasingDocumentTypeName as PurchaseOrderTypeName,
@EndUserText.label: 'Order Date'
@UI.lineItem: [{position: 60, importance: #HIGH}]
_PurchaseOrder.PurchaseOrderDate,
@EndUserText.quickInfo: 'Document Currency'
@UI.lineItem: [{position: 70, importance: #MEDIUM}]
@ObjectModel.text.element: [ 'CurrencyShortName' ]
_PurchaseOrder.DocumentCurrency,
@Consumption.hidden: true
_PurchaseOrder.PurchasingGroup,
@ObjectModel.association.type: [#TO_COMPOSITION_PARENT, #TO_COMPOSITION_ROOT]
_ProductObjPg,
_PurchaseOrder,
_Product,
_PurchaseOrder._Supplier,
@UI.hidden:true
_PurchaseOrder._PurchasingOrganization,
@UI.hidden:true
_PurchaseOrder._PurchasingOrganization.PurchasingOrganizationName,
@UI.hidden:true
_PurchaseOrder._DocumentCurrency._Text[ 1: Language = $session.system_language ].CurrencyShortName,
@UI.hidden:true
_PurchaseOrder._DocumentCurrency
}
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