I_ProductPlantBasic

DDL: I_PRODUCTPLANTBASIC SQL: IPRDPLANTBASIC Type: view BASIC

Product Plant

I_ProductPlantBasic is a Basic CDS View (Dimension) that provides data about "Product Plant" in SAP S/4HANA. It reads from 1 data source (P_ProductPlantBasic) and exposes 107 fields with key fields Product, Plant. It has 44 associations to related views.

Data Sources (1)

SourceAliasJoin Type
P_ProductPlantBasic Plant from

Associations (44)

CardinalityTargetAliasCondition
[1..1] I_Product _Product $projection.Product = _Product.Product
[0..1] I_MRPController _MRPController $projection.Plant = _MRPController.Plant and $projection.MRPResponsible = _MRPController.MRPController
[0..1] I_ProductStatus _ProductStatus $projection.ProfileCode = _ProductStatus.Status
[0..*] I_ProductStatusText _ProductStatusText $projection.ProfileCode = _ProductStatusText.Status
[0..1] I_UnitOfMeasure _GoodsIssueUnit $projection.GoodsIssueUnit = _GoodsIssueUnit.UnitOfMeasure
[0..*] I_UnitOfMeasureText _UnitOfMeasureText $projection.GoodsIssueUnit = _UnitOfMeasureText.UnitOfMeasure
[0..1] I_FiscalYearVariant _FiscalYearVariant $projection.FiscalYearVariant = _FiscalYearVariant.FiscalYearVariant
[0..*] I_FiscalYearVariantText _FiscalYearVariantDescription $projection.FiscalYearVariant = _FiscalYearVariantDescription.FiscalYearVariant
[0..1] I_Product _ConfigurableProduct $projection.ConfigurableProduct = _ConfigurableProduct.Product
[0..*] I_ProductDescription _ConfigurableProductName $projection.ConfigurableProduct = _ConfigurableProductName.Product
[0..*] I_ProductDescription _Text $projection.Product = _Text.Product
[0..1] I_Prodabclassfctn _ABCIndicator $projection.ABCIndicator = _ABCIndicator.MaterialABCClassification
[0..*] I_Prodabclassfctntxt _ABCIndicatorDesc $projection.ABCIndicator = _ABCIndicatorDesc.MaterialABCClassification
[1..1] I_Plant _Plant $projection.Plant = _Plant.Plant
[0..1] I_Site _Site $projection.Plant = _Site.Site
[0..1] I_MRPType _MRPType $projection.MRPType = _MRPType.MRPType
[0..1] I_SourceOfSupplyCategory _SourceOfSupplyCategory $projection.SourceOfSupplyCategory = _SourceOfSupplyCategory.SourceOfSupplyCategory
[0..1] I_PurchasingGroup _PurchasingGroup $projection.PurchasingGroup = _PurchasingGroup.PurchasingGroup
[0..1] I_ProductWorkScheduling _GoodsMovementQuantity $projection.Product = _GoodsMovementQuantity.Product and $projection.Plant = _GoodsMovementQuantity.Plant
[0..1] I_Productplantprocurement _PlantProcurement $projection.Product = _PlantProcurement.Product and $projection.Plant = _PlantProcurement.Plant
[0..1] I_ProductPlantIntlTrd _ProdPlantInternationalTrade $projection.Product = _ProdPlantInternationalTrade.Product and $projection.Plant = _ProdPlantInternationalTrade.Plant
[0..1] I_ProductPlantCosting _ProductPlantCosting $projection.Product = _ProductPlantCosting.Product and $projection.Plant = _ProductPlantCosting.Plant
[0..1] I_ProductPlantForecast _ProductPlantForecast $projection.Product = _ProductPlantForecast.Product and $projection.Plant = _ProductPlantForecast.Plant
[0..1] I_Productplantqtmanagement _PlantQualityMgmt $projection.Product = _PlantQualityMgmt.Product and $projection.Plant = _PlantQualityMgmt.Plant
[0..1] I_Productplantsales _PlantSales $projection.Product = _PlantSales.Product and $projection.Plant = _PlantSales.Plant
[1..1] I_ProductSupplyPlanning _MaterialLotSizingProcedure $projection.Product = _MaterialLotSizingProcedure.Product and $projection.Plant = _MaterialLotSizingProcedure.Plant
[0..1] E_Productplant _ProductPlantExt $projection.Product = _ProductPlantExt.Product and $projection.Plant = _ProductPlantExt.Plant
[0..*] I_MaterialStock _Stock $projection.Product = _Stock.Material and $projection.Plant = _Stock.Plant
[0..*] I_CountryText _CountryOfOriginText $projection.CountryOfOrigin = _CountryOfOriginText.Country
[0..*] I_RegionText _RegionText $projection.CountryOfOrigin = _RegionText.Country
[0..*] I_ProductStorageLocation _ProductStorageLocation $projection.Product = _ProductStorageLocation.Product and $projection.Plant = _ProductStorageLocation.Plant
[0..1] I_StockDeterminationGroup _StockDeterminationGroup $projection.Plant = _StockDeterminationGroup.Plant and $projection.StockDeterminationGroup = _StockDeterminationGroup.StockDeterminationGroup
[0..*] I_StockDeterminationGroupText _StockDeterminationGroupT $projection.Plant = _StockDeterminationGroupT.Plant and $projection.StockDeterminationGroup = _StockDeterminationGroupT.StockDeterminationGroup
[0..1] I_BR_CFOPCategory _ProductCFOPCategory $projection.ProductCFOPCategory = _ProductCFOPCategory.BR_CFOPCategory
[0..*] I_BR_CFOPCategoryText _CFOPDesc $projection.ProductCFOPCategory = _CFOPDesc.BR_CFOPCategory
[0..1] I_ProductConsumptionPeriod _PeriodType $projection.PeriodType = _PeriodType.PeriodType
[0..*] I_ProductConsumptionPeriodText _PeriodTypeText $projection.PeriodType = _PeriodTypeText.PeriodType
[0..1] I_ProductDistributionProfile _DistributionProfile $projection.DistrCntrDistributionProfile = _DistributionProfile.ProductDistributionProfile
[0..*] I_ProductDistributionProfileT _DistributionProfileText $projection.DistrCntrDistributionProfile = _DistributionProfileText.ProductDistributionProfile
[0..1] I_ProductPlantESPP _PlantESPP $projection.Product = _PlantESPP.Product and $projection.Plant = _PlantESPP.Plant
[0..1] I_UnitOfMeasure _ProdControlTemperatureUnit $projection.ProductControlTemperatureUnit = _ProdControlTemperatureUnit.UnitOfMeasure
[0..*] I_UnitOfMeasureText _ProdCtrlTemperatureUnitText $projection.ProductControlTemperatureUnit = _ProdCtrlTemperatureUnitText.UnitOfMeasure
[0..1] I_MaterialFreightGroup _ProductFreightGroup $projection.MaterialFreightGroup = _ProductFreightGroup.MaterialFreightGroup
[0..*] I_MaterialFreightGroupText _ProductFreightGroupText $projection.MaterialFreightGroup = _ProductFreightGroupText.MaterialFreightGroup

Annotations (17)

NameValueLevelField
AbapCatalog.sqlViewName IPRDPLANTBASIC view
VDM.viewType #BASIC view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
EndUserText.label Product Plant view
ObjectModel.usageType.serviceQuality #A view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MASTER view
ClientHandling.algorithm #SESSION_VARIABLE view
AccessControl.authorizationCheck #CHECK view
Metadata.ignorePropagatedAnnotations true view
Analytics.dataCategory #DIMENSION view
Analytics.dataExtraction.enabled true view
Analytics.dataExtraction.delta.changeDataCapture.automatic false view
ObjectModel.representativeKey Product view
Analytics.internalName #LOCAL view
Metadata.allowExtensions true view

Fields (107)

KeyFieldSource TableSource FieldDescription
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
GoodsReceiptDuration GoodsReceiptDuration
MaintenanceStatusName MaintenanceStatus
IsMarkedForDeletion IsMarkedForDeletion
MRPType MRPType
MRPResponsible MRPResponsible
ABCIndicator ABCIndicator
MinimumLotSizeQuantity MinimumLotSizeQuantity
MaximumLotSizeQuantity MaximumLotSizeQuantity
FixedLotSizeQuantity FixedLotSizeQuantity
ConsumptionTaxCtrlCode ConsumptionTaxCtrlCode
IsCoProduct IsCoProduct
ConfigurableProduct ConfigurableProduct
StockDeterminationGroup StockDeterminationGroup
HasPostToInspectionStock HasPostToInspectionStock
IsBatchManagementRequired IsBatchManagementRequired
SerialNumberProfile SerialNumberProfile
IsNegativeStockAllowed IsNegativeStockAllowed
HasConsignmentCtrl ConsignmentControl
IsPurgAcrossPurgGroup IsPurgAcrossPurgGroup
IsInternalBatchManaged IsInternalBatchManaged
ProductCFOPCategory ProductCFOPCategory
ProductIsExciseTaxRelevant ProductIsExciseTaxRelevant
OverDelivToleranceLimit OverDelivToleranceLimit
ProcurementType ProcurementType
SpecialProcurementType ProcurementSubType
ProductionSchedulingProfile ProductionSchedulingProfile
ProductionSupervisor ProductionSupervisor
SafetyStockQuantity SafetyStockQuantity
GoodsIssueUnit GoodsIssueUnit
SourceOfSupplyCategory SourceOfSupplyCategory
ConsumptionReferenceProduct ConsumptionReferenceProduct
ConsumptionReferencePlant ConsumptionReferencePlant
ConsumptionRefUsageEndDate ConsumptionRefUsageEndDate
ConsumptionQtyMultiplier ConsumptionQtyMultiplier
ProductUnitGroup ProductUnitGroup
DistrCntrDistributionProfile DistrCntrDistributionProfile
ConsignmentControl ConsignmentControl
GoodIssueProcessingDays GoodIssueProcessingDays
PlannedDeliveryDurationInDays PlannedDeliveryDurationInDays
ProductIsCriticalPrt ProductIsCriticalPrt
ProductLogisticsHandlingGroup ProductLogisticsHandlingGroup
MaterialFreightGroup MaterialFreightGroup
OriginalBatchReferenceMaterial OriginalBatchReferenceMaterial
OriglBatchManagementIsRequired OriglBatchManagementIsRequired
ProductConfiguration ProductConfiguration
ProductMinControlTemperature ProductMinControlTemperature
ProductMaxControlTemperature ProductMaxControlTemperature
ProductControlTemperatureUnit ProductControlTemperatureUnit
ValuationCategory ValuationCategory
BaseUnit _Product BaseUnit
ItemUniqueIdentifierIsRelevant ItemUniqueIdentifierIsRelevant
ItemUniqueIdentifierType ItemUniqueIdentifierType
ExtAllocOfItmUnqIdtIsRelevant ExtAllocOfItmUnqIdtIsRelevant
_Product _Product
_Plant _Plant
_Site _Site
_MRPController _MRPController
_MRPType _MRPType
_SourceOfSupplyCategory _SourceOfSupplyCategory
_PurchasingGroup _PurchasingGroup
_Text _Text
_ABCIndicator _ABCIndicator
_ABCIndicatorDesc _ABCIndicatorDesc
_GoodsMovementQuantity _GoodsMovementQuantity
_PlantProcurement _PlantProcurement
_ProdPlantInternationalTrade _ProdPlantInternationalTrade
_ProductPlantCosting _ProductPlantCosting
_PlantQualityMgmt _PlantQualityMgmt
_PlantSales _PlantSales
_MaterialLotSizingProcedure _MaterialLotSizingProcedure
_GoodsIssueUnit _GoodsIssueUnit
_UnitOfMeasureText _UnitOfMeasureText
_ProductStatus _ProductStatus
_ProductStatusText _ProductStatusText
_FiscalYearVariant _FiscalYearVariant
_FiscalYearVariantDescription _FiscalYearVariantDescription
_ConfigurableProduct _ConfigurableProduct
_ConfigurableProductName _ConfigurableProductName
_Stock _Stock
_CountryOfOriginText _CountryOfOriginText
_RegionText _RegionText
_ProductStorageLocation _ProductStorageLocation
_PlantESPP _PlantESPP
_StockDeterminationGroup _StockDeterminationGroup
_StockDeterminationGroupT _StockDeterminationGroupT
_ProductCFOPCategory _ProductCFOPCategory
_CFOPDesc _CFOPDesc
_PeriodType _PeriodType
_PeriodTypeText _PeriodTypeText
_DistributionProfile _DistributionProfile
_DistributionProfileText _DistributionProfileText
_ProdControlTemperatureUnit _ProdControlTemperatureUnit
_ProdCtrlTemperatureUnitText _ProdCtrlTemperatureUnitText
_ProductFreightGroup _ProductFreightGroup
_ProductFreightGroupText _ProductFreightGroupText
@AbapCatalog.sqlViewName: 'IPRDPLANTBASIC'
@VDM.viewType: #BASIC
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@EndUserText.label: 'Product Plant'
@ObjectModel.usageType.serviceQuality: #A
@ObjectModel.usageType.sizeCategory : #XL
@ObjectModel.usageType.dataClass: #MASTER
@ClientHandling.algorithm: #SESSION_VARIABLE
@AccessControl: {
    authorizationCheck: #CHECK,
    privilegedAssociations: [ '_MRPController' ]
}
@Metadata.ignorePropagatedAnnotations:true
@Analytics:{
    dataCategory: #DIMENSION,
    dataExtraction: {
        enabled: true,
        delta.changeDataCapture :{
          automatic: false,
          mapping: [{ viewElement: ['PRODUCT', 'PLANT'],
                      role: #MAIN,
                      table: 'MARC',
                      tableElement: ['MATNR', 'WERKS']},
                    { viewElement: ['PRODUCT'],
                      role: #LEFT_OUTER_TO_ONE_JOIN,
                      table: 'MARA',
                      tableElement: ['MATNR']}
                    ]
           }
     }
}
@ObjectModel.representativeKey: 'Product'
@Analytics.internalName:#LOCAL
@Metadata.allowExtensions:true
@ObjectModel.supportedCapabilities: [ #SQL_DATA_SOURCE,
                                      #CDS_MODELING_DATA_SOURCE,
                                      #CDS_MODELING_ASSOCIATION_TARGET,
                                      #ANALYTICAL_DIMENSION,
                                      #EXTRACTION_DATA_SOURCE
]

define view I_ProductPlantBasic
  as select from P_ProductPlantBasic as Plant

  association [1..1] to I_Product                      as _Product                      on  $projection.Product = _Product.Product
  association [0..1] to I_MRPController                as _MRPController                on  $projection.Plant          = _MRPController.Plant
                                                                                        and $projection.MRPResponsible = _MRPController.MRPController

  association [0..1] to I_ProductStatus                as _ProductStatus                on  $projection.ProfileCode = _ProductStatus.Status
  association [0..*] to I_ProductStatusText            as _ProductStatusText            on  $projection.ProfileCode = _ProductStatusText.Status
  association [0..1] to I_UnitOfMeasure                as _GoodsIssueUnit               on  $projection.GoodsIssueUnit = _GoodsIssueUnit.UnitOfMeasure
  association [0..*] to I_UnitOfMeasureText            as _UnitOfMeasureText            on  $projection.GoodsIssueUnit = _UnitOfMeasureText.UnitOfMeasure
  association [0..1] to I_FiscalYearVariant            as _FiscalYearVariant            on  $projection.FiscalYearVariant = _FiscalYearVariant.FiscalYearVariant
  association [0..*] to I_FiscalYearVariantText        as _FiscalYearVariantDescription on  $projection.FiscalYearVariant = _FiscalYearVariantDescription.FiscalYearVariant

  association [0..1] to I_Product                      as _ConfigurableProduct          on  $projection.ConfigurableProduct = _ConfigurableProduct.Product
  association [0..*] to I_ProductDescription           as _ConfigurableProductName      on  $projection.ConfigurableProduct = _ConfigurableProductName.Product

  association [0..*] to I_ProductDescription           as _Text                         on  $projection.Product = _Text.Product
  association [0..1] to I_Prodabclassfctn              as _ABCIndicator                 on  $projection.ABCIndicator = _ABCIndicator.MaterialABCClassification
  association [0..*] to I_Prodabclassfctntxt           as _ABCIndicatorDesc             on  $projection.ABCIndicator = _ABCIndicatorDesc.MaterialABCClassification

  association [1..1] to I_Plant                        as _Plant                        on  $projection.Plant = _Plant.Plant
  association [0..1] to I_Site                         as _Site                         on  $projection.Plant = _Site.Site
  association [0..1] to I_MRPType                      as _MRPType                      on  $projection.MRPType = _MRPType.MRPType
  association [0..1] to I_SourceOfSupplyCategory       as _SourceOfSupplyCategory       on  $projection.SourceOfSupplyCategory = _SourceOfSupplyCategory.SourceOfSupplyCategory
  association [0..1] to I_PurchasingGroup              as _PurchasingGroup              on  $projection.PurchasingGroup = _PurchasingGroup.PurchasingGroup


  association [0..1] to I_ProductWorkScheduling        as _GoodsMovementQuantity        on  $projection.Product = _GoodsMovementQuantity.Product
                                                                                        and $projection.Plant   = _GoodsMovementQuantity.Plant

  association [0..1] to I_Productplantprocurement      as _PlantProcurement             on  $projection.Product = _PlantProcurement.Product
                                                                                        and $projection.Plant   = _PlantProcurement.Plant

  association [0..1] to I_ProductPlantIntlTrd          as _ProdPlantInternationalTrade  on  $projection.Product = _ProdPlantInternationalTrade.Product
                                                                                        and $projection.Plant   = _ProdPlantInternationalTrade.Plant

  association [0..1] to I_ProductPlantCosting          as _ProductPlantCosting          on  $projection.Product = _ProductPlantCosting.Product
                                                                                        and $projection.Plant   = _ProductPlantCosting.Plant

  association [0..1] to I_ProductPlantForecast         as _ProductPlantForecast         on  $projection.Product = _ProductPlantForecast.Product
                                                                                        and $projection.Plant   = _ProductPlantForecast.Plant

  association [0..1] to I_Productplantqtmanagement     as _PlantQualityMgmt             on  $projection.Product = _PlantQualityMgmt.Product
                                                                                        and $projection.Plant   = _PlantQualityMgmt.Plant

  association [0..1] to I_Productplantsales            as _PlantSales                   on  $projection.Product = _PlantSales.Product
                                                                                        and $projection.Plant   = _PlantSales.Plant

  association [1..1] to I_ProductSupplyPlanning        as _MaterialLotSizingProcedure   on  $projection.Product = _MaterialLotSizingProcedure.Product
                                                                                        and $projection.Plant   = _MaterialLotSizingProcedure.Plant



  association [0..1] to E_Productplant                 as _ProductPlantExt              on  $projection.Product = _ProductPlantExt.Product
                                                                                        and $projection.Plant   = _ProductPlantExt.Plant

  association [0..*] to I_MaterialStock                as _Stock                        on  $projection.Product = _Stock.Material
                                                                                        and $projection.Plant   = _Stock.Plant

  //Start: enterprise search help (ESH) related associations------------------------------------------------------------------------------------

  //These associations are required in I_ProductPlant as N_ProductPlant has these associations

  //There can be no associations in N_ProductPlant which are not present in I_ProductPlant

  association [0..*] to I_CountryText                  as _CountryOfOriginText          on  $projection.CountryOfOrigin = _CountryOfOriginText.Country
  association [0..*] to I_RegionText                   as _RegionText                   on  $projection.CountryOfOrigin = _RegionText.Country
  association [0..*] to I_ProductStorageLocation       as _ProductStorageLocation       on  $projection.Product = _ProductStorageLocation.Product
                                                                                        and $projection.Plant   = _ProductStorageLocation.Plant

  //End of ESH related associations-------------------------------------------------------------------------------------------------------------

  association [0..1] to I_StockDeterminationGroup      as _StockDeterminationGroup      on  $projection.Plant                   = _StockDeterminationGroup.Plant
                                                                                        and $projection.StockDeterminationGroup = _StockDeterminationGroup.StockDeterminationGroup

  association [0..*] to I_StockDeterminationGroupText  as _StockDeterminationGroupT     on  $projection.Plant                   = _StockDeterminationGroupT.Plant
                                                                                        and $projection.StockDeterminationGroup = _StockDeterminationGroupT.StockDeterminationGroup

  association [0..1] to I_BR_CFOPCategory              as _ProductCFOPCategory          on  $projection.ProductCFOPCategory = _ProductCFOPCategory.BR_CFOPCategory
  association [0..*] to I_BR_CFOPCategoryText          as _CFOPDesc                     on  $projection.ProductCFOPCategory = _CFOPDesc.BR_CFOPCategory

  association [0..1] to I_ProductConsumptionPeriod     as _PeriodType                   on  $projection.PeriodType = _PeriodType.PeriodType
  association [0..*] to I_ProductConsumptionPeriodText as _PeriodTypeText               on  $projection.PeriodType = _PeriodTypeText.PeriodType

  association [0..1] to I_ProductDistributionProfile   as _DistributionProfile          on  $projection.DistrCntrDistributionProfile = _DistributionProfile.ProductDistributionProfile
  association [0..*] to I_ProductDistributionProfileT  as _DistributionProfileText      on  $projection.DistrCntrDistributionProfile = _DistributionProfileText.ProductDistributionProfile

  association [0..1] to I_ProductPlantESPP             as _PlantESPP                    on  $projection.Product = _PlantESPP.Product
                                                                                        and $projection.Plant   = _PlantESPP.Plant

  //  association [0..1] to P_Productplantreferences       as _PlantReference               on  $projection.Product  = _PlantReference.Product

  //                                                                                        and $projection.Plant    = _PlantReference.Plant

  association [0..1] to I_UnitOfMeasure                as _ProdControlTemperatureUnit   on  $projection.ProductControlTemperatureUnit = _ProdControlTemperatureUnit.UnitOfMeasure
  association [0..*] to I_UnitOfMeasureText            as _ProdCtrlTemperatureUnitText  on  $projection.ProductControlTemperatureUnit = _ProdCtrlTemperatureUnitText.UnitOfMeasure

  association [0..1] to I_MaterialFreightGroup         as _ProductFreightGroup          on  $projection.MaterialFreightGroup = _ProductFreightGroup.MaterialFreightGroup
  association [0..*] to I_MaterialFreightGroupText     as _ProductFreightGroupText      on  $projection.MaterialFreightGroup = _ProductFreightGroupText.MaterialFreightGroup
{
         //@ObjectModel.foreignKey.association: '_Product'

  key    Product,
         @ObjectModel.foreignKey.association: '_Plant'
  key    Plant,
         @ObjectModel.foreignKey.association: '_PurchasingGroup'
         PurchasingGroup,
         CountryOfOrigin,
         RegionOfOrigin,
         @ObjectModel.sapObjectNodeTypeReference:'StorageLocation'
         ProductionInvtryManagedLoc,


         @ObjectModel : {
            foreignKey.association: '_ProductStatus',
            text.association: '_ProductStatusText'
         }
         @ObjectModel.sapObjectNodeTypeReference:'ProductProfileCode'
         ProfileCode,
         ProfileValidityStartDate,
         AvailabilityCheckType,

         @ObjectModel:{
          foreignKey.association: '_FiscalYearVariant',
          text.association: '_FiscalYearVariantDescription'
         }
         FiscalYearVariant,

         @ObjectModel:{
          foreignKey.association: '_PeriodType',
          text.association: '_PeriodTypeText'
         }
         @ObjectModel.sapObjectNodeTypeReference:'ProductConsumptionPeriodType'
         PeriodType,

         ProfitCenter,

         GoodsReceiptDuration,
         MaintenanceStatus  as MaintenanceStatusName,
         IsMarkedForDeletion,


         @ObjectModel.foreignKey.association: '_MRPType'
         @ObjectModel.sapObjectNodeTypeReference:'MRPType'
         MRPType,
         @ObjectModel.foreignKey.association: '_MRPController'
         @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,

         //--[ GENERATED:012:29JlHNUf7jY4nhtQM3fYJ0

         @Consumption.valueHelpDefinition: [
           { entity:  { name:    'I_ProductStdVH',
                        element: 'Product' }
           }]
         // ]--GENERATED

         @ObjectModel:{
           foreignKey.association: '_ConfigurableProduct',
           text.association: '_ConfigurableProductName'
         }
         ConfigurableProduct,

         @ObjectModel:{
            foreignKey.association: '_StockDeterminationGroup',
            text.association: '_StockDeterminationGroupT'
          }
         StockDeterminationGroup,

         HasPostToInspectionStock,
         IsBatchManagementRequired,

         SerialNumberProfile,
         IsNegativeStockAllowed,

         ConsignmentControl as HasConsignmentCtrl,

         IsPurgAcrossPurgGroup,
         IsInternalBatchManaged,


         ProductCFOPCategory,

         //Excise Tax Relevance Indicator "15.4.2019

         ProductIsExciseTaxRelevant,

         -- Added on 21.4.16 not relevent for Product master

         UnderDelivToleranceLimit,
         OverDelivToleranceLimit,
         @ObjectModel.sapObjectNodeTypeReference:'ProcurementType'
         ProcurementType,
         ProcurementSubType as SpecialProcurementType,
         ProductionSchedulingProfile,
         ProductionSupervisor,
         @Semantics.quantity.unitOfMeasure: 'BaseUnit'
         SafetyStockQuantity,
         //

         //         --Retail fields Addd on 21.4.16


         @Semantics.unitOfMeasure: true
         @ObjectModel.foreignKey.association: '_GoodsIssueUnit'
         @ObjectModel.text.association: '_UnitOfMeasureText'
         GoodsIssueUnit,
         @ObjectModel.foreignKey.association: '_SourceOfSupplyCategory'
         SourceOfSupplyCategory,
         ConsumptionReferenceProduct,
         ConsumptionReferencePlant,
         ConsumptionRefUsageEndDate,
         ConsumptionQtyMultiplier,
         ProductUnitGroup,
         @ObjectModel:{
           foreignKey.association: '_DistributionProfile',
           text.association: '_DistributionProfileText'
         }
         DistrCntrDistributionProfile,
         ConsignmentControl,
         GoodIssueProcessingDays,
         PlannedDeliveryDurationInDays,

         // New fields from MDG model, as part of unified API development

         ProductIsCriticalPrt,
         @ObjectModel.sapObjectNodeTypeReference:'ProductLogisticsHandlingGroup'
         ProductLogisticsHandlingGroup,

         @ObjectModel:{
            foreignKey.association: '_ProductFreightGroup',
            text.association: '_ProductFreightGroupText'
         }
         MaterialFreightGroup,
         OriginalBatchReferenceMaterial,
         OriglBatchManagementIsRequired,
         // added on CRM request

         ProductConfiguration,

         // Transportation Temperature Control Fields

         @Semantics.quantity.unitOfMeasure: 'ProductControlTemperatureUnit'
         ProductMinControlTemperature,
         @Semantics.quantity.unitOfMeasure: 'ProductControlTemperatureUnit'
         ProductMaxControlTemperature,
         @Semantics.unitOfMeasure: true
         @ObjectModel.foreignKey.association: '_ProdControlTemperatureUnit'
         ProductControlTemperatureUnit,
         ValuationCategory,
         @Semantics.unitOfMeasure: true
         _Product.BaseUnit  as BaseUnit,
         
         // Addition of Item UID fields, as part of MM17 Deprecation

         @Semantics.booleanIndicator: true
         ItemUniqueIdentifierIsRelevant,
         ItemUniqueIdentifierType,
         @Semantics.booleanIndicator: true
         ExtAllocOfItmUnqIdtIsRelevant,
         
         _Product,
         _Plant,
         _Site,
         _MRPController,
         _MRPType,
         _SourceOfSupplyCategory,
         _PurchasingGroup,
         _Text,
         _ABCIndicator,
         _ABCIndicatorDesc,
         _GoodsMovementQuantity,
         _PlantProcurement,
         _ProdPlantInternationalTrade,
         _ProductPlantCosting,
         _ProductPlantForecast,
         _PlantQualityMgmt,
         _PlantSales,
         _MaterialLotSizingProcedure,
         _GoodsIssueUnit,
         _UnitOfMeasureText,
         _ProductStatus,
         _ProductStatusText,
         _FiscalYearVariant,
         _FiscalYearVariantDescription,
         _ConfigurableProduct,
         _ConfigurableProductName,
         _Stock,

         //Start of ESH related associations---------------------------

         _CountryOfOriginText,
         _RegionText,
         _ProductStorageLocation,
         //End of ESH related associations------------------------------

         _PlantESPP,
         _StockDeterminationGroup,
         _StockDeterminationGroupT,
         _ProductCFOPCategory,
         _CFOPDesc,
         _PeriodType,
         _PeriodTypeText,
         _DistributionProfile,
         _DistributionProfileText,
         //_PlantReference

         _ProdControlTemperatureUnit,
         _ProdCtrlTemperatureUnitText,
         _ProductFreightGroup,
         _ProductFreightGroupText
}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PRODUCT",
"P_PRODUCTPLANTBASIC"
],
"ASSOCIATED":
[
"E_PRODUCTPLANT",
"I_BR_CFOPCATEGORY",
"I_BR_CFOPCATEGORYTEXT",
"I_COUNTRYTEXT",
"I_FISCALYEARVARIANT",
"I_FISCALYEARVARIANTTEXT",
"I_MATERIALFREIGHTGROUP",
"I_MATERIALFREIGHTGROUPTEXT",
"I_MATERIALSTOCK",
"I_MRPCONTROLLER",
"I_MRPTYPE",
"I_PLANT",
"I_PRODABCLASSFCTN",
"I_PRODABCLASSFCTNTXT",
"I_PRODUCT",
"I_PRODUCTCONSUMPTIONPERIOD",
"I_PRODUCTCONSUMPTIONPERIODTEXT",
"I_PRODUCTDESCRIPTION",
"I_PRODUCTDISTRIBUTIONPROFILE",
"I_PRODUCTDISTRIBUTIONPROFILET",
"I_PRODUCTPLANTCOSTING",
"I_PRODUCTPLANTESPP",
"I_PRODUCTPLANTFORECAST",
"I_PRODUCTPLANTINTLTRD",
"I_PRODUCTPLANTPROCUREMENT",
"I_PRODUCTPLANTQTMANAGEMENT",
"I_PRODUCTPLANTSALES",
"I_PRODUCTSTATUS",
"I_PRODUCTSTATUSTEXT",
"I_PRODUCTSTORAGELOCATION",
"I_PRODUCTSUPPLYPLANNING",
"I_PRODUCTWORKSCHEDULING",
"I_PURCHASINGGROUP",
"I_REGIONTEXT",
"I_SITE",
"I_SOURCEOFSUPPLYCATEGORY",
"I_STOCKDETERMINATIONGROUP",
"I_STOCKDETERMINATIONGROUPTEXT",
"I_UNITOFMEASURE",
"I_UNITOFMEASURETEXT"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/