I_PRODUCTPROCUREMENT
Product Procurement
I_PRODUCTPROCUREMENT is a CDS View in S/4HANA. Product Procurement. It contains 7 fields. 4 CDS views read from this table.
CDS Views using this table (4)
| View | Type | Join | VDM | Description |
|---|---|---|---|---|
| A_ProductProcurement | view | from | COMPOSITE | Basic Procurement Data |
| I_Productprocurementwd | view | from | TRANSACTIONAL | Composite view-Product Procurement |
| P_Productprocurementwd | view | from | COMPOSITE | |
| R_ProductProcurementTP | view_entity | from | TRANSACTIONAL | Product Procurement - TP |
Fields (7)
| Key | Field | CDS Fields | Used in Views |
|---|---|---|---|
| KEY | Product | ActiveProduct,Product | 1 |
| AuthorizationGroup | AuthorizationGroup | 1 | |
| ProcurementRule | ProcurementRule | 1 | |
| PurchaseOrderQuantityUnit | PurchaseOrderQuantityUnit | 2 | |
| PurchasingAcknProfile | PurchasingAcknProfile | 2 | |
| SourceOfSupplyCategory | SourceOfSupplyCategory | 2 | |
| VarblPurOrdUnitStatus | VarblPurOrdUnitStatus | 2 |
@AbapCatalog.sqlViewName: 'IPRDPROC'
@VDM.viewType: #BASIC
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Product Procurement'
@ObjectModel.usageType.serviceQuality: #A
@ObjectModel.usageType.sizeCategory : #L
@ObjectModel.usageType.dataClass: #MASTER
@ClientHandling.algorithm: #SESSION_VARIABLE
@Metadata.ignorePropagatedAnnotations: true
@Analytics.dataCategory: #DIMENSION
@Analytics.dataExtraction: {
enabled: true,
delta.changeDataCapture:{
mapping: [{
viewElement: ['PRODUCT'],
role: #MAIN,
table: 'MARA',
tableElement: ['MATNR']
},
{
viewElement: ['PRODUCT'],
role: #LEFT_OUTER_TO_ONE_JOIN,
table: 'MAW1',
tableElement: ['MATNR']
}]
}
}
@ObjectModel.representativeKey: 'Product'
@Metadata.allowExtensions:true
@ObjectModel.supportedCapabilities: [ #SQL_DATA_SOURCE,
#CDS_MODELING_DATA_SOURCE,
#CDS_MODELING_ASSOCIATION_TARGET,
#ANALYTICAL_DIMENSION,
#EXTRACTION_DATA_SOURCE
]
define view I_Productprocurement
as select from mara
// left outer join maw1 on mara.matnr = maw1.matnr
association [1..1] to I_Product as _Product on $projection.Product = _Product.Product
association [0..1] to I_ProductRetail as _ProductRetail on $projection.Product = _ProductRetail.Product //added for VH "PSTAT Changes
association [0..1] to E_Product as _ProdProcExt on $projection.Product = _ProdProcExt.Product
association [0..1] to I_UnitOfMeasure as _PurchaseOrderQuantityUnit on $projection.PurchaseOrderQuantityUnit = _PurchaseOrderQuantityUnit.UnitOfMeasure
association [0..*] to I_UnitOfMeasureText as _PurchaseOrderUnitText on $projection.PurchaseOrderQuantityUnit = _PurchaseOrderUnitText.UnitOfMeasure
association [0..1] to I_SourceOfSupplyCategory as _SourceOfSupplyCategory on $projection.SourceOfSupplyCategory = _SourceOfSupplyCategory.SourceOfSupplyCategory
association [0..*] to I_SourceOfSupplyCategoryT as _SourceOfSupplyCategoryText on $projection.SourceOfSupplyCategory = _SourceOfSupplyCategoryText.SourceOfSupplyCategory
// The association is present in the I_ProductRetail and is directly added to I_ProductProcurementWD
// association [0..1] to I_PurchasingGroup as _PurchasingGroup on $projection.PurchasingGroup = _PurchasingGroup.PurchasingGroup
association [0..1] to I_VarblPurOrdUnitActvStatus as _VarblPurOrdUnitActvStatus on $projection.VarblPurOrdUnitStatus = _VarblPurOrdUnitActvStatus.VarblPurOrdUnitIsActive
association [0..*] to I_VarblPurOrdUnitActvStatusTxt as _VarblPurOrdUnitActvStatusText on $projection.VarblPurOrdUnitStatus = _VarblPurOrdUnitActvStatusText.VarblPurOrdUnitIsActive
{
key mara.matnr as Product,
@Semantics.unitOfMeasure: true
@ObjectModel.foreignKey.association:'_PurchaseOrderQuantityUnit'
@ObjectModel.text.association: '_PurchaseOrderUnitText'
mara.bstme as PurchaseOrderQuantityUnit,
_PurchaseOrderUnitText,
_PurchaseOrderQuantityUnit,
@ObjectModel.foreignKey.association:'_VarblPurOrdUnitActvStatus'
@ObjectModel.text.association: '_VarblPurOrdUnitActvStatusText'
mara.vabme as VarblPurOrdUnitStatus,
mara.ekwsl as PurchasingAcknProfile,
// mara.mfrnr as ManufacturerNumber, Moved to I_ProductWD
mara.bwvor as ProcurementRule, //pstat changes
// Retail Fields
@ObjectModel.foreignKey.association:'_SourceOfSupplyCategory'
@ObjectModel.text.association: '_SourceOfSupplyCategoryText'
mara.bwscl as SourceOfSupplyCategory, // Ref Handling fields for MARC
_SourceOfSupplyCategory,
_SourceOfSupplyCategoryText,
//********************************************************************************//
// The association is present in the I_ProductRetail and is directly added to I_ProductProcurementWD
// @ObjectModel.foreignKey.association:'_PurchasingGroup'
_ProductRetail.PurchasingGroup as PurchasingGroup, // ref. handling for MARC
_ProductRetail._PurchasingGroup,
//********************************************************************************//
cast( 'X' as sdraft_is_active preserving type ) as IsActiveEntity, // to enbale extensibility in Draft 2.0
mara.begru as AuthorizationGroup,
_ProductRetail, //PSTAT Changes,
_VarblPurOrdUnitActvStatus,
_VarblPurOrdUnitActvStatusText,
_Product
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PRODUCTRETAIL",
"MARA"
],
"ASSOCIATED":
[
"E_PRODUCT",
"I_PRODUCT",
"I_PRODUCTRETAIL",
"I_PURCHASINGGROUP",
"I_SOURCEOFSUPPLYCATEGORY",
"I_SOURCEOFSUPPLYCATEGORYT",
"I_UNITOFMEASURE",
"I_UNITOFMEASURETEXT",
"I_VARBLPURORDUNITACTVSTATUS",
"I_VARBLPURORDUNITACTVSTATUSTXT"
],
"BASE":
[
"I_PRODUCTRETAIL"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/