I_ProductStorageLocation

DDL: I_PRODUCTSTORAGELOCATION SQL: IPRDSTORAGELOC Type: view BASIC Package: VDM_MD_PRODUCT_DDIC

Product Storage Location

I_ProductStorageLocation is a Basic CDS View that provides data about "Product Storage Location" in SAP S/4HANA. It reads from 1 data source (nsdm_e_mard) and exposes 27 fields with key fields Product, Plant, StorageLocation. It has 5 associations to related views. Part of development package VDM_MD_PRODUCT_DDIC.

Data Sources (1)

SourceAliasJoin Type
nsdm_e_mard StorageLocation from

Associations (5)

CardinalityTargetAliasCondition
[1..1] I_Product _Product $projection.Product = _Product.Product
[0..1] E_Productstoragelocation _ActiveExtension $projection.Product = _ActiveExtension.Product and $projection.Plant = _ActiveExtension.Plant and $projection.StorageLocation = _ActiveExtension.StorageLocation
[0..*] I_MaterialStock_2 _MaterialStock $projection.Product = _MaterialStock.Material and $projection.Plant = _MaterialStock.Plant
[0..*] I_MaterialStock _Stock $projection.Product = _Stock.Material and $projection.Plant = _Stock.Plant and $projection.StorageLocation = _Stock.StorageLocation
[1..1] I_StorageLocation _StorageLocation $projection.Plant = _StorageLocation.Plant and $projection.StorageLocation = _StorageLocation.StorageLocation

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName IPRDSTORAGELOC view
VDM.viewType #BASIC view
VDM.lifecycle.status #DEPRECATED view
VDM.lifecycle.successor I_ProductStorageLocationBasic view
AccessControl.authorizationCheck #CHECK view
EndUserText.label Product Storage Location view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view
ClientHandling.algorithm #SESSION_VARIABLE view
Metadata.ignorePropagatedAnnotations true view

Fields (27)

KeyFieldSource TableSource FieldDescription
KEY Product nsdm_e_mard matnr
KEY Plant nsdm_e_mard werks
KEY StorageLocation nsdm_e_mard lgort
WarehouseStorageBin nsdm_e_mard lgpbe
MaintenanceStatus nsdm_e_mard pstat
IsMarkedForDeletion nsdm_e_mard lvorm
PhysicalInventoryBlockInd nsdm_e_mard sperr
CreationDate nsdm_e_mard ersda
DateOfLastPostedCntUnRstrcdStk nsdm_e_mard dlinl
InventoryCorrectionFactor nsdm_e_mard bskrf
InvtryRestrictedUseStockInd nsdm_e_mard kzile
InvtryCurrentYearStockInd nsdm_e_mard kzill
InvtryQualInspCurrentYrStkInd nsdm_e_mard kzilq
InventoryBlockStockInd nsdm_e_mard kzils
InvtryRestStockPrevPeriodInd nsdm_e_mard kzvle
InventoryStockPrevPeriod nsdm_e_mard kzvll
InvtryStockQltyInspPrevPeriod nsdm_e_mard kzvlq
HasInvtryBlockStockPrevPeriod nsdm_e_mard kzvls
FiscalYearCurrentPeriod nsdm_e_mard lfgja
FiscalMonthCurrentPeriod nsdm_e_mard lfmon
FiscalYearCurrentInvtryPeriod nsdm_e_mard mdjin
IsActiveEntity
LeanWrhsManagementPickingArea nsdm_e_mard lwmkb
_Product _Product
_Stock _Stock
_StorageLocation _StorageLocation
_MaterialStock _MaterialStock
// Product Storage Location (active)

@AbapCatalog.sqlViewName: 'IPRDSTORAGELOC'
@VDM:{
  viewType: #BASIC,
  lifecycle: {
    status: #DEPRECATED,
    successor: 'I_ProductStorageLocationBasic'
  }
}
@AccessControl.authorizationCheck: #CHECK
@EndUserText.label: 'Product Storage Location'
// performance related

@ObjectModel.usageType.serviceQuality: #C
@ObjectModel.usageType.sizeCategory : #XL
@ObjectModel.usageType.dataClass: #MIXED
@ClientHandling.algorithm: #SESSION_VARIABLE
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.supportedCapabilities: [ #SQL_DATA_SOURCE,
                                      #CDS_MODELING_DATA_SOURCE,
                                      #CDS_MODELING_ASSOCIATION_TARGET
                                    ]

define view I_ProductStorageLocation
  as select from nsdm_e_mard as StorageLocation

  association [1..1] to I_Product                as _Product         on  $projection.Product = _Product.Product
  association [0..1] to E_Productstoragelocation as _ActiveExtension on  $projection.Product         = _ActiveExtension.Product
                                                                     and $projection.Plant           = _ActiveExtension.Plant
                                                                     and $projection.StorageLocation = _ActiveExtension.StorageLocation
  association [0..*] to I_MaterialStock_2        as _MaterialStock   on  $projection.Product         = _MaterialStock.Material
                                                                     and $projection.Plant           = _MaterialStock.Plant
 
  association [0..*] to I_MaterialStock          as _Stock           on  $projection.Product         = _Stock.Material
                                                                     and $projection.Plant           = _Stock.Plant
                                                                     and $projection.StorageLocation = _Stock.StorageLocation
  //Start: enterprise search help (ESH) related associations------------------------------------------------------------------------------------

  //These associations are required in I_ProductStorageLocation as N_ProductStorageLocation has these associations

  //There can be no associations in N_ProductStorageLocation which are not present in I_ProductStorageLocation

  association [1..1] to I_StorageLocation        as _StorageLocation on  $projection.Plant           = _StorageLocation.Plant
                                                                     and $projection.StorageLocation = _StorageLocation.StorageLocation
  //End of ESH related associations-------------------------------------------------------------------------------------------------------------


{

  key StorageLocation.matnr                           as Product,
  key StorageLocation.werks                           as Plant,
  key StorageLocation.lgort                           as StorageLocation,
      StorageLocation.lgpbe                           as WarehouseStorageBin,
      StorageLocation.pstat                           as MaintenanceStatus,
      StorageLocation.lvorm                           as IsMarkedForDeletion,
      StorageLocation.sperr                           as PhysicalInventoryBlockInd,
      StorageLocation.ersda                           as CreationDate,
      StorageLocation.dlinl                           as DateOfLastPostedCntUnRstrcdStk,
      StorageLocation.bskrf                           as InventoryCorrectionFactor,
      StorageLocation.kzile                           as InvtryRestrictedUseStockInd,
      StorageLocation.kzill                           as InvtryCurrentYearStockInd,
      StorageLocation.kzilq                           as InvtryQualInspCurrentYrStkInd,
      StorageLocation.kzils                           as InventoryBlockStockInd,
      StorageLocation.kzvle                           as InvtryRestStockPrevPeriodInd,
      StorageLocation.kzvll                           as InventoryStockPrevPeriod,
      StorageLocation.kzvlq                           as InvtryStockQltyInspPrevPeriod,
      StorageLocation.kzvls                           as HasInvtryBlockStockPrevPeriod,
      StorageLocation.lfgja                           as FiscalYearCurrentPeriod,
      StorageLocation.lfmon                           as FiscalMonthCurrentPeriod,
      StorageLocation.mdjin                           as FiscalYearCurrentInvtryPeriod,
      cast( 'X' as sdraft_is_active preserving type ) as IsActiveEntity, // to enbale extensibility in Draft 2.0

      //            StorageLocation.labst                     as VltdUnrestrictedUseStkQty -- deprecated field ATC error 26.4.16


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

      StorageLocation.lwmkb                           as LeanWrhsManagementPickingArea,

      _Product,
       @API.element.releaseState: #DEPRECATED
       @API.element.successor: '_MaterialStock' 
      _Stock,

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

      _StorageLocation,
      //End of ESH related associations------------------------------

      _MaterialStock
}