P_ConfigurableProductPlantBase

DDL: P_CONFIGURABLEPRODUCTPLANTBASE SQL: PCONFPRPLBASE Type: view CONSUMPTION

P_ConfigurableProductPlantBase is a Consumption CDS View in SAP S/4HANA. It reads from 2 data sources (I_Product, I_ProductPlant) and exposes 20 fields with key fields Product, Plant, Plant.

Data Sources (2)

SourceAliasJoin Type
I_Product I_Product union
I_ProductPlant I_ProductPlant from

Annotations (6)

NameValueLevelField
AbapCatalog.sqlViewName PCONFPRPLBASE view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #NOT_REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
VDM.viewType #CONSUMPTION view
VDM.private true view

Fields (20)

KeyFieldSource TableSource FieldDescription
KEY Product Product
KEY Plant Plant
CreatedByUser _Product CreatedByUser
CreationDate _Product CreationDate
LastChangeDateendasLastChangeDate
LastChangedByUserendasLastChangedByUser
ProductAuthorizationGroup _Product AuthorizationGroup
ProductType _Product ProductType
_ProductType _Product _ProductType
ProductGroup _Product ProductGroup
_ProductGroup _Product _ProductGroup
KEY Plant
CreatedByUser CreatedByUser
CreationDate CreationDate
ProductAuthorizationGroup AuthorizationGroup
ProductType ProductType
_ProductType _ProductType
ProductGroup ProductGroup
_ProductGroup _ProductGroup
_ProductGroup_2 _ProductGroup_2
@AbapCatalog.sqlViewName: 'PCONFPRPLBASE'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #NOT_REQUIRED


@ClientHandling.algorithm: #SESSION_VARIABLE

@VDM.viewType: #CONSUMPTION
@VDM.private: true

define view P_ConfigurableProductPlantBase
  as select from I_ProductPlant
{

  key Product,
  key Plant,
      _Product.CreatedByUser                                          as CreatedByUser,
      _Product.CreationDate                                           as CreationDate,
      case
        when _Product.LastChangeDate is null or _Product.LastChangeDate = '00000000'
        then _Product.CreationDate else _Product.LastChangeDate end   as LastChangeDate,

      case
      when _Product.LastChangeDate is null or _Product.LastChangeDate = '00000000'
      then _Product.CreatedByUser else _Product.LastChangedByUser end as LastChangedByUser,

      _Product.AuthorizationGroup                                     as ProductAuthorizationGroup,
      _Product.ProductType,
      _Product._ProductType,
      _Product.ProductGroup,
      @VDM.lifecycle.status: #DEPRECATED
      @VDM.lifecycle.successor: '_ProductGroup_2'
      _Product._ProductGroup,
      _Product._ProductGroup_2

}
where
  _Product.ProductIsConfigurable = 'X'                         //Configuration possible on Cross-Plant level (KZKFG)

union select from I_Product
{

  key  Product,
  key  ''                                            as Plant, //There are no records with empty plants in I_ProductPlant

       CreatedByUser                                 as CreatedByUser,
       CreationDate                                  as CreationDate,

       case
         when LastChangeDate is null or LastChangeDate = '00000000'
         then CreationDate else LastChangeDate end   as LastChangeDate,

       case
       when LastChangeDate is null or LastChangeDate = '00000000'
       then CreatedByUser else LastChangedByUser end as LastChangedByUser,
       AuthorizationGroup                            as ProductAuthorizationGroup,
       ProductType,
       _ProductType,
       ProductGroup,
       @VDM.lifecycle.status: #DEPRECATED
       @VDM.lifecycle.successor: '_ProductGroup_2'
       _ProductGroup,
       _ProductGroup_2

}
where
  ProductIsConfigurable = 'X' //Configuration possible on Cross-Plant level (KZKFG)

/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_PRODUCT",
"I_PRODUCTPLANT"
],
"ASSOCIATED":
[
"I_PRODUCTGROUP",
"I_PRODUCTGROUP_2",
"I_PRODUCTTYPE"
],
"BASE":
[
"I_PRODUCT"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/