P_ProductSearch
P_ProductSearch is a Basic CDS View in SAP S/4HANA. It reads from 1 data source (I_Product) and exposes 35 fields with key field Product. It has 15 associations to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_Product | Product | from |
Associations (15)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..*] | I_ProductSalesDelivery | _ProductSalesDelivery | $projection.Product = _ProductSalesDelivery.Product |
| [0..*] | P_ProductPlant | _ProductPlant | $projection.Product = _ProductPlant.Product |
| [0..*] | I_ProductTypeText | _ProductTypeName | $projection.ProductType = _ProductTypeName.ProductType |
| [0..*] | I_ProductGroupText | _ProductGroupText | $projection.ProductGroup = _ProductGroupText.MaterialGroup |
| [0..*] | I_ProductCategoryText | _ProductCategoryText | $projection.ProductCategory = _ProductCategoryText.ProductCategory |
| [0..*] | I_ProductText | _ProductText | $projection.Product = _ProductText.Product |
| [0..*] | I_UnitOfMeasureText | _BaseUnitOfMeasureText | $projection.BaseUnit = _BaseUnitOfMeasureText.UnitOfMeasure |
| [0..*] | I_UnitOfMeasureText | _PurchaseOrderQuantityUnitText | $projection.PurchaseOrderQuantityUnit = _PurchaseOrderQuantityUnitText.UnitOfMeasure |
| [0..*] | I_UnitOfMeasureText | _WeightUnitText | $projection.WeightUnit = _WeightUnitText.UnitOfMeasure |
| [0..*] | I_DivisionText | _DivisionText | $projection.Division = _DivisionText.Division |
| [0..*] | I_SourceOfSupplyCategoryT | _SourceOfSupply | $projection.SourceOfSupply = _SourceOfSupply.SourceOfSupplyCategory |
| [0..*] | I_ProductHierarchyText | _ProductHierarchyText | $projection.ProductHierarchy = _ProductHierarchyText.ProductHierarchy |
| [0..1] | I_Supplier | _Supplier | $projection.ManufacturerNumber = _Supplier.Supplier |
| [0..*] | I_ESHSSLTEXT | _ESHSslText | $projection.Product = _ESHSslText.tdname and _ESHSslText.tdobject = 'MATERIAL' |
| [0..*] | I_DocumentInfoRecordObjectLink | _DocumentInfoRecordObjectLink | $projection.Product = _DocumentInfoRecordObjectLink.LinkedSAPObjectKey and _DocumentInfoRecordObjectLink.LinkedSAPObject = 'MARA' |
Annotations (10)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | PPRODSEARCH | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| VDM.private | true | view | |
| VDM.viewType | #BASIC | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| ObjectModel.representativeKey | Product | view | |
| ObjectModel.usageType.serviceQuality | #A | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.dataClass | #MASTER | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view |
Fields (35)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | Product | I_Product | Product | |
| LastChangedByUser | I_Product | LastChangedByUser | ||
| CreatedByUser | I_Product | CreatedByUser | ||
| ProductExternalID | I_Product | ProductExternalID | ||
| ProductType | I_Product | ProductType | ||
| ProductOldID | I_Product | ProductOldID | ||
| ProductGroup | I_Product | ProductGroup | ||
| ProductStandardID | I_Product | ProductStandardID | ||
| NetWeight | I_Product | NetWeight | ||
| GrossWeight | I_Product | GrossWeight | ||
| Division | I_Product | Division | ||
| ProductHierarchy | I_Product | ProductHierarchy | ||
| ProductManufacturerNumber | I_Product | ProductManufacturerNumber | ||
| ProductCategory | I_Product | ProductCategory | ||
| BaseUnit | I_Product | BaseUnit | ||
| ManufacturerNumber | I_Product | ManufacturerNumber | ||
| PurchaseOrderQuantityUnit | I_Product | PurchaseOrderQuantityUnit | ||
| SourceOfSupply | I_Product | SourceOfSupply | ||
| WeightUnit | I_Product | WeightUnit | ||
| AuthorizationGroup | I_Product | AuthorizationGroup | ||
| _ProductTypeName | _ProductTypeName | |||
| _ProductGroupText | _ProductGroupText | |||
| _ProductCategoryText | _ProductCategoryText | |||
| _ProductText | _ProductText | |||
| _ProductSalesDelivery | _ProductSalesDelivery | |||
| _ProductPlant | _ProductPlant | |||
| _BaseUnitOfMeasureText | _BaseUnitOfMeasureText | |||
| _PurchaseOrderQuantityUnitText | _PurchaseOrderQuantityUnitText | |||
| _WeightUnitText | _WeightUnitText | |||
| _DivisionText | _DivisionText | |||
| _SourceOfSupply | _SourceOfSupply | |||
| _ProductHierarchyText | _ProductHierarchyText | |||
| _Supplier | _Supplier | |||
| _ESHSslText | _ESHSslText | |||
| _DocumentInfoRecordObjectLink | _DocumentInfoRecordObjectLink |
@AbapCatalog.sqlViewName: 'PPRODSEARCH'
@AbapCatalog.compiler.compareFilter: true
@VDM.private: true
@VDM.viewType: #BASIC
@AccessControl.authorizationCheck: #CHECK //is 'CHECK' required?
@ObjectModel.representativeKey: 'Product'
@ObjectModel.usageType.serviceQuality: #A
@ObjectModel.usageType.sizeCategory : #L
@ObjectModel.usageType.dataClass: #MASTER
@ClientHandling.algorithm: #SESSION_VARIABLE
//@Search.searchable: true
//@EndUserText.label: 'Product anchor view for CDS search model'
define view P_ProductSearch
as select from I_Product as Product
association [0..*] to I_ProductSalesDelivery as _ProductSalesDelivery on $projection.Product = _ProductSalesDelivery.Product
association [0..*] to P_ProductPlant as _ProductPlant on $projection.Product = _ProductPlant.Product
association [0..*] to I_ProductTypeText as _ProductTypeName on $projection.ProductType = _ProductTypeName.ProductType
association [0..*] to I_ProductGroupText as _ProductGroupText on $projection.ProductGroup = _ProductGroupText.MaterialGroup
association [0..*] to I_ProductCategoryText as _ProductCategoryText on $projection.ProductCategory = _ProductCategoryText.ProductCategory
// association [0..*] to I_ProductStatusText as _ProductStatusText on $projection.CrossPlantStatus = _ProductStatusText.Status
association [0..*] to I_ProductText as _ProductText on $projection.Product = _ProductText.Product
association [0..*] to I_UnitOfMeasureText as _BaseUnitOfMeasureText on $projection.BaseUnit = _BaseUnitOfMeasureText.UnitOfMeasure
association [0..*] to I_UnitOfMeasureText as _PurchaseOrderQuantityUnitText on $projection.PurchaseOrderQuantityUnit = _PurchaseOrderQuantityUnitText.UnitOfMeasure
association [0..*] to I_UnitOfMeasureText as _WeightUnitText on $projection.WeightUnit = _WeightUnitText.UnitOfMeasure
association [0..*] to I_DivisionText as _DivisionText on $projection.Division = _DivisionText.Division
association [0..*] to I_SourceOfSupplyCategoryT as _SourceOfSupply on $projection.SourceOfSupply = _SourceOfSupply.SourceOfSupplyCategory
association [0..*] to I_ProductHierarchyText as _ProductHierarchyText on $projection.ProductHierarchy = _ProductHierarchyText.ProductHierarchy
association [0..1] to I_Supplier as _Supplier on $projection.ManufacturerNumber = _Supplier.Supplier
association [0..*] to I_ESHSSLTEXT as _ESHSslText on $projection.Product = _ESHSslText.tdname
and _ESHSslText.tdobject = 'MATERIAL'
association [0..*] to I_DocumentInfoRecordObjectLink as _DocumentInfoRecordObjectLink on $projection.Product = _DocumentInfoRecordObjectLink.LinkedSAPObjectKey
and _DocumentInfoRecordObjectLink.LinkedSAPObject = 'MARA'
{
key Product.Product, //both request & response field
//Request Parameters
Product.LastChangedByUser, //also response param
Product.CreatedByUser, //also response param
Product.ProductExternalID, //also response param
Product.ProductType, //also response param
Product.ProductOldID, //also response param
Product.ProductGroup, //also response param
Product.ProductStandardID, //also response param
//Response Parameters
Product.NetWeight,
Product.GrossWeight,
Product.Division,
Product.ProductHierarchy,
Product.ProductManufacturerNumber,
//These fields are included only for association condition
Product.ProductCategory,
Product.BaseUnit,
Product.ManufacturerNumber,
Product.PurchaseOrderQuantityUnit,
Product.SourceOfSupply,
Product.WeightUnit,
Product.AuthorizationGroup,
// Product.LastChangeDateTime,
// Product.LastChangeDate,
// Product.DangerousGoodsIndProfile,
// Product.InternationalArticleNumberCat,
// Product.PackagingMaterialGroup,
// Product.ExternalProductGroup,
// Product.CrossPlantConfigurableProduct,
// Product.CrossPlantStatusValidityDate,
// Product.ProdIsEnvironmentallyRelevant,
// Product.DocumentIsCreatedByCAD,
// Product.ProductIsConfigurable,
// Product.AuthorizationGroup,
// Product.CrossPlantStatus,
// Product.SalesStatus,
// Product.ProductDocumentType,
// Product.ProductDocumentVersion,
// Product.SizeOrDimensionText,
// Product.LaboratoryOrDesignOffice,
// Product.IndustryStandardName,
// Product.BasicMaterial,
// Product.IsMarkedForDeletion,
// Product.ProductDocumentNumber,
// _ProductStatusText,
_ProductTypeName,
_ProductGroupText,
_ProductCategoryText,
_ProductText,
_ProductSalesDelivery,
_ProductPlant,
_BaseUnitOfMeasureText,
_PurchaseOrderQuantityUnitText,
_WeightUnitText,
_DivisionText,
_SourceOfSupply,
_ProductHierarchyText,
_Supplier,
_ESHSslText,
_DocumentInfoRecordObjectLink
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PRODUCT"
],
"ASSOCIATED":
[
"I_DIVISIONTEXT",
"I_DOCUMENTINFORECORDOBJECTLINK",
"I_ESHSSLTEXT",
"I_PRODUCTCATEGORYTEXT",
"I_PRODUCTGROUPTEXT",
"I_PRODUCTHIERARCHYTEXT",
"I_PRODUCTSALESDELIVERY",
"I_PRODUCTTEXT",
"I_PRODUCTTYPETEXT",
"I_SOURCEOFSUPPLYCATEGORYT",
"I_SUPPLIER",
"I_UNITOFMEASURETEXT",
"P_PRODUCTPLANT"
],
"BASE":
[],
"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