I_ProductStorage_2

DDL: I_PRODUCTSTORAGE_2 Type: view BASIC

Product Storage

I_ProductStorage_2 is a Basic CDS View (Dimension) that provides data about "Product Storage" in SAP S/4HANA. It reads from 1 data source (mara) and exposes 28 fields with key field Product. It has 12 associations to related views.

Data Sources (1)

SourceAliasJoin Type
mara mara from

Associations (12)

CardinalityTargetAliasCondition
[1..1] I_Product _Product $projection.Product = _Product.Product
[0..1] E_Product _ProdStorageExt $projection.Product = _ProdStorageExt.Product
[0..1] I_Storagecondition _StorageCondition $projection.StorageConditions = _StorageCondition.StorageConditions
[0..1] I_Tempindcndn _TemperatureConditionInd $projection.TemperatureConditionInd = _TemperatureConditionInd.TemperatureConditionInd
[0..*] I_Tempindcndntext _TemperatureConditionText $projection.TemperatureConditionInd = _TemperatureConditionText.TemperatureConditionInd
[0..1] I_ShelfLifeExprtnDateRndngRule _ShelfLifeExprtnDateRndngRule $projection.ShelfLifeExprtnDateRndngRule = _ShelfLifeExprtnDateRndngRule.ShelfLifeExprtnDateRndngRule
[0..1] I_CtnRqmtsForProduct _StorageBinInstruction $projection.StorageBinInstruction = _StorageBinInstruction.StorageBinInstruction
[0..1] I_LabelForm _LabelForm $projection.LabelForm = _LabelForm.LabelForm
[0..1] I_ProdShelfLifeExprtnDtePerdVH _ShelfLifeExpirationDatePeriod $projection.ShelfLifeExpirationDatePeriod = _ShelfLifeExpirationDatePeriod.ShelfLifeExpirationDatePeriod
[0..1] I_LabelType _LabelType $projection.LabelType = _LabelType.LabelType
[0..1] I_ProductExpirationDateCode _ProductExpirationDateCode $projection.ProductExpirationDateCode = _ProductExpirationDateCode.ProductExpirationDateCode
[0..1] I_UnitOfMeasure _BaseUnitOfMeasure $projection.BaseUnit = _BaseUnitOfMeasure.UnitOfMeasure

Annotations (18)

NameValueLevelField
AbapCatalog.sqlViewName IPRDROOTSTORAGE2 view
AbapCatalog.compiler.compareFilter true view
AbapCatalog.preserveKey true view
VDM.viewType #BASIC view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Product Storage 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
Metadata.ignorePropagatedAnnotations true view
Metadata.allowExtensions true view
Analytics.dataCategory #DIMENSION view
Analytics.internalName #LOCAL view
Analytics.dataExtraction.enabled true view
Analytics.dataExtraction.delta.changeDataCapture.automatic true view
AccessControl.personalData.blocking #NOT_REQUIRED view

Fields (28)

KeyFieldSource TableSource FieldDescription
KEY Product mara matnr
StorageConditions mara raube
_StorageCondition _StorageCondition
TemperatureConditionInd mara tempb
_TemperatureConditionInd _TemperatureConditionInd
_TemperatureConditionText _TemperatureConditionText
HazardousMaterialNumber mara stoff
NmbrOfGROrGISlipsToPrintQty mara wesch
LabelType mara etiar
LabelForm mara etifo
MinRemainingShelfLife mara mhdrz
ProductExpirationDateCode mara sled_bbd
StorageBinInstruction mara behvo
_StorageBinInstruction _StorageBinInstruction
TotalShelfLifeStoragePercent mara mhdlp
ShelfLifeExpirationDatePeriod
ShelfLifeExprtnDateRndngRule mara rdmhd
AuthorizationGroup mara begru
IsActiveEntity
TotalShelfLife mara mhdhb
BaseUnit mara meins
_ShelfLifeExprtnDateRndngRule _ShelfLifeExprtnDateRndngRule
_LabelForm _LabelForm
_ShelfLifeExpirationDatePeriod _ShelfLifeExpirationDatePeriod
_LabelType _LabelType
_ProductExpirationDateCode _ProductExpirationDateCode
_Product _Product
_BaseUnitOfMeasure _BaseUnitOfMeasure
@AbapCatalog: {
sqlViewName: 'IPRDROOTSTORAGE2',
compiler.compareFilter: true,
preserveKey: true
}
@VDM.viewType: #BASIC
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Product Storage'
@ObjectModel.representativeKey: 'Product'
@ObjectModel.usageType.serviceQuality: #A
@ObjectModel.usageType.sizeCategory : #L
@ObjectModel.usageType.dataClass: #MASTER
@ClientHandling.algorithm: #SESSION_VARIABLE
@Metadata.ignorePropagatedAnnotations:true
@Metadata.allowExtensions:true

@Analytics:{
    dataCategory: #DIMENSION,
    internalName: #LOCAL,
    dataExtraction: {
        enabled: true,
        delta.changeDataCapture.automatic: true
    }
}


@ObjectModel.supportedCapabilities: [ #SQL_DATA_SOURCE,
                                     #CDS_MODELING_DATA_SOURCE,
                                     #CDS_MODELING_ASSOCIATION_TARGET,
                                      #EXTRACTION_DATA_SOURCE
]
@AccessControl.personalData.blocking: #NOT_REQUIRED

define view I_ProductStorage_2
  as select from mara
  association [1..1] to I_Product                      as _Product                       on $projection.Product = _Product.Product
  association [0..1] to E_Product                      as _ProdStorageExt                on $projection.Product = _ProdStorageExt.Product
  association [0..1] to I_Storagecondition             as _StorageCondition              on $projection.StorageConditions = _StorageCondition.StorageConditions
  association [0..1] to I_Tempindcndn                  as _TemperatureConditionInd       on $projection.TemperatureConditionInd = _TemperatureConditionInd.TemperatureConditionInd
  association [0..*] to I_Tempindcndntext              as _TemperatureConditionText      on $projection.TemperatureConditionInd = _TemperatureConditionText.TemperatureConditionInd
  association [0..1] to I_ShelfLifeExprtnDateRndngRule as _ShelfLifeExprtnDateRndngRule  on $projection.ShelfLifeExprtnDateRndngRule = _ShelfLifeExprtnDateRndngRule.ShelfLifeExprtnDateRndngRule
  association [0..1] to I_CtnRqmtsForProduct           as _StorageBinInstruction         on $projection.StorageBinInstruction = _StorageBinInstruction.StorageBinInstruction
  association [0..1] to I_LabelForm                    as _LabelForm                     on $projection.LabelForm = _LabelForm.LabelForm
  association [0..1] to I_ProdShelfLifeExprtnDtePerdVH as _ShelfLifeExpirationDatePeriod on $projection.ShelfLifeExpirationDatePeriod = _ShelfLifeExpirationDatePeriod.ShelfLifeExpirationDatePeriod
  association [0..1] to I_LabelType                    as _LabelType                     on $projection.LabelType = _LabelType.LabelType
  association [0..1] to I_ProductExpirationDateCode    as _ProductExpirationDateCode     on $projection.ProductExpirationDateCode = _ProductExpirationDateCode.ProductExpirationDateCode
  association [0..1] to I_UnitOfMeasure                as _BaseUnitOfMeasure             on $projection.BaseUnit = _BaseUnitOfMeasure.UnitOfMeasure
{
  key mara.matnr                                                          as Product,
      @ObjectModel.foreignKey.association:'_Storagecondition'
      mara.raube                                                          as StorageConditions,
      _StorageCondition,
      @ObjectModel.text.association: '_TemperatureConditionText'
      mara.tempb                                                          as TemperatureConditionInd,
      _TemperatureConditionInd,
      _TemperatureConditionText,
      mara.stoff                                                          as HazardousMaterialNumber,
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      mara.wesch                                                          as NmbrOfGROrGISlipsToPrintQty,
      @ObjectModel.foreignKey.association:'_LabelType'
      mara.etiar                                                          as LabelType,
      @ObjectModel.foreignKey.association:'_LabelForm'
      mara.etifo                                                          as LabelForm,
      mara.mhdrz                                                          as MinRemainingShelfLife,
      @ObjectModel.foreignKey.association:'_ProductExpirationDateCode'
      mara.sled_bbd                                                       as ProductExpirationDateCode,

      //    Retail Field

      @ObjectModel.foreignKey.association:'_StorageBinInstruction'
      mara.behvo                                                          as StorageBinInstruction,
      _StorageBinInstruction,
      //      mara.mhdhb                                      as TotalShelfLife, //pstat changes

      mara.mhdlp                                                          as TotalShelfLifeStoragePercent,

      @ObjectModel.foreignKey.association:'_ShelfLifeExpirationDatePeriod'
      @ObjectModel.sapObjectNodeTypeReference:'ShelfLifeExpirationDatePeriod'
      cast(mara.iprkz as shelflifeexpirationdateperiod  preserving type ) as ShelfLifeExpirationDatePeriod,

      @ObjectModel.foreignKey.association:'_ShelfLifeExprtnDateRndngRule'
      mara.rdmhd                                                          as ShelfLifeExprtnDateRndngRule,
      mara.begru                                                          as AuthorizationGroup,
      cast( 'X' as sdraft_is_active preserving type )                     as IsActiveEntity, // to enbale extensibility in Draft 2.0

      mara.mhdhb                                                          as TotalShelfLife, // as per mdg model the field should be part of storage


      @Semantics.unitOfMeasure: true
      @ObjectModel.foreignKey.association: '_BaseUnitOfMeasure'
      mara.meins                                                          as BaseUnit,
      _ShelfLifeExprtnDateRndngRule,
      _LabelForm,
      _ShelfLifeExpirationDatePeriod,
      _LabelType,
      _ProductExpirationDateCode,
      _Product,
      _BaseUnitOfMeasure

}
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"MARA"
],
"ASSOCIATED":
[
"E_PRODUCT",
"I_CTNRQMTSFORPRODUCT",
"I_LABELFORM",
"I_LABELTYPE",
"I_PRODSHELFLIFEEXPRTNDTEPERDVH",
"I_PRODUCT",
"I_PRODUCTEXPIRATIONDATECODE",
"I_SHELFLIFEEXPRTNDATERNDNGRULE",
"I_STORAGECONDITION",
"I_TEMPINDCNDN",
"I_TEMPINDCNDNTEXT",
"I_UNITOFMEASURE"
],
"BASE":
[],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/