I_ActiveLogisticalProduct
Active Logistical Product composite view
I_ActiveLogisticalProduct is a Composite CDS View that provides data about "Active Logistical Product composite view" in SAP S/4HANA. It reads from 2 data sources (I_Product, I_ProductRetail) and exposes 44 fields with key field Product. It has 20 associations to related views. Part of development package VDM_RFM_PRODUCT.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| I_Product | product | from |
| I_ProductRetail | ProductRetail | inner |
Associations (20)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_ProductDescription | _Text | $projection.Product = _Text.Product and _Text.Language = $session.system_language |
| [0..1] | I_User | _CreatedByUser | $projection.CreatedByUser = _CreatedByUser.UserID |
| [0..1] | I_User | _LastChangedByUser | $projection.LastChangedByUser = _LastChangedByUser.UserID |
| [1..1] | I_UserContactCard | _CreatedByUserContactCard | $projection.CreatedByUser = _CreatedByUserContactCard.ContactCardID |
| [0..1] | I_UserContactCard | _LastChangedByUserContactCard | $projection.LastChangedByUser = _LastChangedByUserContactCard.ContactCardID |
| [1..1] | I_Producttype | _ProductType | $projection.ProductType = _ProductType.ProductType |
| [0..1] | I_ProductTypeText | _ProductTypeText | $projection.ProductType = _ProductTypeText.ProductType and _ProductTypeText.Language = $session.system_language |
| [1..1] | I_ProductCategory | _ProductCategory | $projection.ProductCategory = _ProductCategory.ProductCategory |
| [0..*] | I_ProductCategoryText | _ProductCategoryText | $projection.ProductCategory = _ProductCategoryText.ProductCategory |
| [1..1] | I_ProductGroup | _ProductGroup | $projection.ProductGroup = _ProductGroup.MaterialGroup |
| [0..1] | I_ProductGroupText | _ProductGroupText | $projection.ProductGroup = _ProductGroupText.MaterialGroup and _ProductGroupText.Language = $session.system_language |
| [1..1] | I_UnitOfMeasure | _BaseUnitOfMeasure | $projection.BaseUnit = _BaseUnitOfMeasure.UnitOfMeasure |
| [0..1] | I_UnitOfMeasureText | _BaseUnitText | $projection.BaseUnit = _BaseUnitText.UnitOfMeasure and _BaseUnitText.Language = $session.system_language |
| [0..1] | I_ProductUnitsOfMeasure | _GoodsIssueUnit | $projection.Product = _GoodsIssueUnit.Product and $projection.GoodsIssueUnit = _GoodsIssueUnit.AlternativeUnit |
| [1..1] | I_UnitOfMeasure | _GoodsIssueUnitOfMeasure | $projection.GoodsIssueUnit = _GoodsIssueUnitOfMeasure.UnitOfMeasure |
| [0..1] | I_UnitOfMeasureText | _GoodsIssueUnitText | $projection.GoodsIssueUnit = _GoodsIssueUnitText.UnitOfMeasure and _GoodsIssueUnitText.Language = $session.system_language |
| [0..1] | I_ProductUnitsOfMeasure | _PurchaseOrderUnit | $projection.Product = _PurchaseOrderUnit.Product and $projection.PurchaseOrderUnit = _PurchaseOrderUnit.AlternativeUnit |
| [1..1] | I_UnitOfMeasure | _PurchaseOrderUnitOfMeasure | $projection.PurchaseOrderUnit = _PurchaseOrderUnitOfMeasure.UnitOfMeasure |
| [0..1] | I_UnitOfMeasureText | _PurchaseOrderUnitText | $projection.PurchaseOrderUnit = _PurchaseOrderUnitText.UnitOfMeasure and _PurchaseOrderUnitText.Language = $session.system_language |
| [0..1] | E_Product | _ProductExt | $projection.Product = _ProductExt.Product |
Annotations (10)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | IACTLOGPRD | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| VDM.viewType | #COMPOSITE | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #L | view | |
| ObjectModel.usageType.dataClass | #MASTER | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| EndUserText.label | Active Logistical Product composite view | view |
Fields (44)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | Product | I_Product | Product | |
| ProductDescription | _Text | ProductDescription | ||
| ProductExternalID | I_Product | ProductExternalID | ||
| CreationDate | I_Product | CreationDate | ||
| CreatedByUser | I_Product | CreatedByUser | ||
| _CreatedByUser | _CreatedByUser | |||
| _CreatedByUserContactCard | _CreatedByUserContactCard | |||
| LastChangeDate | I_Product | LastChangeDate | ||
| LastChangeTime | I_Product | LastChangeTime | ||
| LastChangeDateTime | I_Product | LastChangeDateTime | ||
| LastChangedByUser | I_Product | LastChangedByUser | ||
| _LastChangedByUser | _LastChangedByUser | |||
| _LastChangedByUserContactCard | _LastChangedByUserContactCard | |||
| ProductStandardID | I_Product | ProductStandardID | ||
| AuthorizationGroup | I_Product | AuthorizationGroup | ||
| SalesProduct | I_Product | SalesProduct | ||
| LogisticalProductCategory | ||||
| BaseUnit | I_Product | BaseUnit | ||
| _BaseUnitOfMeasure | _BaseUnitOfMeasure | |||
| _BaseUnitText | _BaseUnitText | |||
| ProductType | I_Product | ProductType | ||
| _ProductType | _ProductType | |||
| _ProductTypeText | _ProductTypeText | |||
| ProductCategory | I_Product | ProductCategory | ||
| _ProductCategory | _ProductCategory | |||
| _ProductCategoryText | _ProductCategoryText | |||
| ProductGroup | I_Product | ProductGroup | ||
| _ProductGroup | _ProductGroup | |||
| _ProductGroupText | _ProductGroupText | |||
| IndustrySector | IndustrySector | |||
| PurchaseOrderUnit | ||||
| _PurchaseOrderUnit | _PurchaseOrderUnit | |||
| _PurchaseOrderUnitOfMeasure | _PurchaseOrderUnitOfMeasure | |||
| _PurchaseOrderUnitText | _PurchaseOrderUnitText | |||
| PurchaseOrderUnitName | _PurchaseOrderUnitText | UnitOfMeasureName | ||
| OrderToBaseQuantityDnmntr | _PurchaseOrderUnit | QuantityDenominator | ||
| OrderToBaseQuantityNmrtr | _PurchaseOrderUnit | QuantityNumerator | ||
| GoodsIssueUnit | ||||
| _GoodsIssueUnit | _GoodsIssueUnit | |||
| _GoodsIssueUnitOfMeasure | _GoodsIssueUnitOfMeasure | |||
| _GoodsIssueUnitText | _GoodsIssueUnitText | |||
| GoodsIssueUnitName | _GoodsIssueUnitText | UnitOfMeasureName | ||
| GoodsIssueToBaseQuantityDnmntr | _GoodsIssueUnit | QuantityDenominator | ||
| GoodsIssueToBaseQuantityNmrtr | _GoodsIssueUnit | QuantityNumerator |
@AbapCatalog:
{ sqlViewName: 'IACTLOGPRD',
compiler.compareFilter: true,
preserveKey: true
}
@VDM.viewType: #COMPOSITE
@AccessControl.authorizationCheck: #CHECK
@ObjectModel:
{ usageType: { serviceQuality: #C,
sizeCategory : #L,
dataClass: #MASTER
},
semanticKey:['Product']
}
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Active Logistical Product composite view'
define view I_ActiveLogisticalProduct
as select from I_Product as product
inner join I_ProductRetail as ProductRetail on product.Product = ProductRetail.Product
association [0..1] to I_ProductDescription as _Text on $projection.Product = _Text.Product
and _Text.Language = $session.system_language
association [0..1] to I_User as _CreatedByUser on $projection.CreatedByUser = _CreatedByUser.UserID
association [0..1] to I_User as _LastChangedByUser on $projection.LastChangedByUser = _LastChangedByUser.UserID
association [1..1] to I_UserContactCard as _CreatedByUserContactCard on $projection.CreatedByUser = _CreatedByUserContactCard.ContactCardID
association [0..1] to I_UserContactCard as _LastChangedByUserContactCard on $projection.LastChangedByUser = _LastChangedByUserContactCard.ContactCardID
association [1..1] to I_Producttype as _ProductType on $projection.ProductType = _ProductType.ProductType
association [0..1] to I_ProductTypeText as _ProductTypeText on $projection.ProductType = _ProductTypeText.ProductType
and _ProductTypeText.Language = $session.system_language
association [1..1] to I_ProductCategory as _ProductCategory on $projection.ProductCategory = _ProductCategory.ProductCategory
association [0..*] to I_ProductCategoryText as _ProductCategoryText on $projection.ProductCategory = _ProductCategoryText.ProductCategory
association [1..1] to I_ProductGroup as _ProductGroup on $projection.ProductGroup = _ProductGroup.MaterialGroup
association [0..1] to I_ProductGroupText as _ProductGroupText on $projection.ProductGroup = _ProductGroupText.MaterialGroup
and _ProductGroupText.Language = $session.system_language
association [1..1] to I_UnitOfMeasure as _BaseUnitOfMeasure on $projection.BaseUnit = _BaseUnitOfMeasure.UnitOfMeasure
association [0..1] to I_UnitOfMeasureText as _BaseUnitText on $projection.BaseUnit = _BaseUnitText.UnitOfMeasure
and _BaseUnitText.Language = $session.system_language
association [0..1] to I_ProductUnitsOfMeasure as _GoodsIssueUnit on $projection.Product = _GoodsIssueUnit.Product
and $projection.GoodsIssueUnit = _GoodsIssueUnit.AlternativeUnit
association [1..1] to I_UnitOfMeasure as _GoodsIssueUnitOfMeasure on $projection.GoodsIssueUnit = _GoodsIssueUnitOfMeasure.UnitOfMeasure
association [0..1] to I_UnitOfMeasureText as _GoodsIssueUnitText on $projection.GoodsIssueUnit = _GoodsIssueUnitText.UnitOfMeasure
and _GoodsIssueUnitText.Language = $session.system_language
association [0..1] to I_ProductUnitsOfMeasure as _PurchaseOrderUnit on $projection.Product = _PurchaseOrderUnit.Product
and $projection.PurchaseOrderUnit = _PurchaseOrderUnit.AlternativeUnit
association [1..1] to I_UnitOfMeasure as _PurchaseOrderUnitOfMeasure on $projection.PurchaseOrderUnit = _PurchaseOrderUnitOfMeasure.UnitOfMeasure
association [0..1] to I_UnitOfMeasureText as _PurchaseOrderUnitText on $projection.PurchaseOrderUnit = _PurchaseOrderUnitText.UnitOfMeasure
and _PurchaseOrderUnitText.Language = $session.system_language
association [0..1] to E_Product as _ProductExt on $projection.Product = _ProductExt.Product
{
key product.Product as Product,
_Text.ProductDescription as ProductDescription,
product.ProductExternalID as ProductExternalID,
product.CreationDate as CreationDate,
product.CreatedByUser as CreatedByUser,
_CreatedByUser,
_CreatedByUserContactCard,
product.LastChangeDate as LastChangeDate,
product.LastChangeTime as LastChangeTime,
product.LastChangeDateTime as LastChangeDateTime,
product.LastChangedByUser as LastChangedByUser,
_LastChangedByUser,
_LastChangedByUserContactCard,
product.ProductStandardID as ProductStandardID,
product.AuthorizationGroup as AuthorizationGroup,
product.SalesProduct as SalesProduct,
cast( product.LogisticalProductCategory as logisticalproductcategory preserving type ) as LogisticalProductCategory,
@ObjectModel.foreignKey.association: '_BaseUnitOfMeasure'
@ObjectModel.text.association: '_BaseUnitText'
product.BaseUnit as BaseUnit,
_BaseUnitOfMeasure,
_BaseUnitText,
@ObjectModel.foreignKey.association: '_ProductType'
@ObjectModel.text.association: '_ProductTypeText'
product.ProductType as ProductType,
_ProductType,
_ProductTypeText,
@ObjectModel.foreignKey.association: '_ProductCategory'
@ObjectModel.text.association: '_ProductCategoryText'
product.ProductCategory as ProductCategory,
_ProductCategory,
_ProductCategoryText,
@ObjectModel.foreignKey.association: '_ProductGroup'
@ObjectModel.text.association: '_ProductGroupText'
product.ProductGroup as ProductGroup,
_ProductGroup,
_ProductGroupText,
IndustrySector as IndustrySector,
@ObjectModel.foreignKey.association: '_PurchaseOrderUnitOfMeasure'
@ObjectModel.text.association: '_PurchaseOrderUnitText'
cast( product.PurchaseOrderQuantityUnit as purorderquantityunit preserving type ) as PurchaseOrderUnit,
_PurchaseOrderUnit,
_PurchaseOrderUnitOfMeasure,
_PurchaseOrderUnitText,
_PurchaseOrderUnitText.UnitOfMeasureName as PurchaseOrderUnitName,
_PurchaseOrderUnit.QuantityDenominator as OrderToBaseQuantityDnmntr,
_PurchaseOrderUnit.QuantityNumerator as OrderToBaseQuantityNmrtr,
@ObjectModel.foreignKey.association: '_GoodsIssueUnitOfMeasure'
@ObjectModel.text.association: '_GoodsIssueUnitText'
cast( ProductRetail.GoodsIssueUnit as goodsissueunit preserving type ) as GoodsIssueUnit,
_GoodsIssueUnit,
_GoodsIssueUnitOfMeasure,
_GoodsIssueUnitText,
_GoodsIssueUnitText.UnitOfMeasureName as GoodsIssueUnitName,
_GoodsIssueUnit.QuantityDenominator as GoodsIssueToBaseQuantityDnmntr,
_GoodsIssueUnit.QuantityNumerator as GoodsIssueToBaseQuantityNmrtr
}
where
(
// The where condition deliveres all procurement products
// These are beside the generated displays with logistical_mat_category = 'P' also all single articles
// For the PurchaseOrderUnit of a single article no extra procurement product is generated
// In this case the single article has also the role of a procurement product for its PurchaseOrderUnit
product.LogisticalProductCategory = 'P'
or product.ProductCategory = '00'
)
and IsMarkedForDeletion = ''
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