P_MltplMatlStk_L4

DDL: P_MLTPLMATLSTK_L4 Type: view_entity COMPOSITE Package: MBND_CLOUD_BL

Stock Multiple Materials level 4

P_MltplMatlStk_L4 is a Composite CDS View that provides data about "Stock Multiple Materials level 4" in SAP S/4HANA. It reads from 1 data source (P_MltplMatlStk_L3P) and exposes 45 fields with key fields Material, Plant, StorageLocation, Batch, Supplier. Part of development package MBND_CLOUD_BL.

Data Sources (1)

SourceAliasJoin Type
P_MltplMatlStk_L3P P_MltplMatlStk_L3P from

Parameters (1)

NameTypeDefault
P_EndDate sydate

Annotations (7)

NameValueLevelField
AccessControl.authorizationCheck #NOT_REQUIRED view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.usageType.serviceQuality #X view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
VDM.viewType #COMPOSITE view
VDM.private true view

Fields (45)

KeyFieldSource TableSource FieldDescription
KEY Material Material Vehicle Model
KEY Plant Plant Valuation Area
KEY StorageLocation StorageLocation StorageLocation
KEY Batch Batch Lot No.
KEY Supplier Supplier Supplier
KEY SDDocument SDDocument SD Document
KEY SDDocumentItem SDDocumentItem
KEY WBSElementInternalID WBSElementInternalID WBS Internal ID
KEY Customer Customer Sold-to Party
KEY ResourceID ResourceID Vehicle ID
KEY InventorySpecialStockType InventorySpecialStockType Special Stock Type
KEY CostEstimate CostEstimate Cost EstimateNo
CompanyCode CompanyCode Receiver Company Code
MaterialBaseUnit MaterialBaseUnit Valuation Unit
InventoryValuationType InventoryValuationType Valuation Type
Currency Currency Valuation Crcy
VltdUnrestrictedUseStkQty VltdUnrestrictedUseStkQty
QualityInspectionStockQuantity QualityInspectionStockQuantity
ReturnsBlockedStockQuantity ReturnsBlockedStockQuantity
TransferStockStorageLocQty TransferStockStorageLocQty
TransferStockPlantQuantity TransferStockPlantQuantity
StockInTransitQuantity StockInTransitQuantity Stk in Transit
BlockedStockQuantity BlockedStockQuantity
RestrictedStockQuantity RestrictedStockQuantity
TiedEmptiesStockQuantity TiedEmptiesStockQuantity
GoodsReceiptBlockedStockQty GoodsReceiptBlockedStockQty Val. GR Blocked Stck
CurrentStockCurVal
QualityInspectionStockCurVal
ReturnsBlockedStockCurVal
TransferStockStorageLocCurVal
TransferStockPlantCurVal
StockInTransitCurVal
BlockedStockCurVal
RestrictedStockCurVal
TiedEmptiesStockCurVal
GoodsReceiptBlockedStockCurVal
curr232endasCurrentStockValue
curr232endasQualityInspectionStockValue
curr232endasReturnsBlockedStockValue
curr232endasTransferStockStorageLocValue
curr232endasTransferStockPlantValue
curr232endasStockInTransitValue
curr232endasBlockedStockValue
curr232endasRestrictedStockValue
curr232endasTiedEmptiesStockValue

Derived SQL interpretation, reconstructed from the parsed view metadata (data sources, associations, and field mappings). SAP annotations are omitted and the structure is reformulated as SQL — this is a functional approximation, not the verbatim SAP source.

-- Derived SQL interpretation of CDS view P_MltplMatlStk_L4.
-- Reconstructed from parsed metadata (data sources, associations, fields).
-- SAP annotations are omitted and the structure is reformulated as SQL;
-- this is a functional approximation, not the verbatim SAP source. Some join
-- conditions may be unavailable and a few CDS constructs are kept as-is.
-- Parameters: P_EndDate : sydate

CREATE VIEW P_MltplMatlStk_L4 AS
SELECT
  Material,
  Plant,
  StorageLocation,
  Batch,
  Supplier,
  SDDocument,
  SDDocumentItem,
  WBSElementInternalID,
  Customer,
  ResourceID,
  InventorySpecialStockType,
  CostEstimate,
  CompanyCode,
  MaterialBaseUnit,
  InventoryValuationType,
  Currency,
  VltdUnrestrictedUseStkQty,
  QualityInspectionStockQuantity,
  ReturnsBlockedStockQuantity,
  TransferStockStorageLocQty,
  TransferStockPlantQuantity,
  StockInTransitQuantity,
  BlockedStockQuantity,
  RestrictedStockQuantity,
  TiedEmptiesStockQuantity,
  GoodsReceiptBlockedStockQty,
  cast(round(cast(cast(division(InventoryPrice, MaterialPriceUnitQty, 5 ) as abap.dec(16,7)) * VltdUnrestrictedUseStkQty as abap.dec(24,7)), 2) as abap.curr(23,2) ) AS CurrentStockCurVal,
  cast(round(cast(cast(division(InventoryPrice, MaterialPriceUnitQty, 5 ) as abap.dec(16,7)) * QualityInspectionStockQuantity as abap.dec(24,7)), 2) as abap.curr(23,2) ) AS QualityInspectionStockCurVal,
  cast(round(cast(cast(division(InventoryPrice, MaterialPriceUnitQty, 5 ) as abap.dec(16,7)) * ReturnsBlockedStockQuantity as abap.dec(24,7)), 2) as abap.curr(23,2) ) AS ReturnsBlockedStockCurVal,
  cast(round(cast(cast(division(InventoryPrice, MaterialPriceUnitQty, 5 ) as abap.dec(16,7)) * TransferStockStorageLocQty as abap.dec(24,7)), 2) as abap.curr(23,2) ) AS TransferStockStorageLocCurVal,
  cast(round(cast(cast(division(InventoryPrice, MaterialPriceUnitQty, 5 ) as abap.dec(16,7)) * TransferStockPlantQuantity as abap.dec(24,7)), 2) as abap.curr(23,2) ) AS TransferStockPlantCurVal,
  cast(round(cast(cast(division(InventoryPrice, MaterialPriceUnitQty, 5 ) as abap.dec(16,7)) * StockInTransitQuantity as abap.dec(24,7)), 2) as abap.curr(23,2) ) AS StockInTransitCurVal,
  cast(round(cast(cast(division(InventoryPrice, MaterialPriceUnitQty, 5 ) as abap.dec(16,7)) * BlockedStockQuantity as abap.dec(24,7)), 2) as abap.curr(23,2) ) AS BlockedStockCurVal,
  cast(round(cast(cast(division(InventoryPrice, MaterialPriceUnitQty, 5 ) as abap.dec(16,7)) * RestrictedStockQuantity as abap.dec(24,7)), 2) as abap.curr(23,2) ) AS RestrictedStockCurVal,
  cast(round(cast(cast(division(InventoryPrice, MaterialPriceUnitQty, 5 ) as abap.dec(16,7)) * TiedEmptiesStockQuantity as abap.dec(24,7)), 2) as abap.curr(23,2) ) AS TiedEmptiesStockCurVal,
  cast(round(cast(cast(division(InventoryPrice, MaterialPriceUnitQty, 5 ) as abap.dec(16,7)) * GoodsReceiptBlockedStockQty as abap.dec(24,7)), 2) as abap.curr(23,2) ) AS GoodsReceiptBlockedStockCurVal,
  case when InventoryQty = 0 then cast(round(cast(cast(division(InventoryPrice, MaterialPriceUnitQty, 5 ) as abap.dec(16,7)) * QualityInspectionStockQuantity as abap.dec(24,7)), 2) as abap.curr(23,2) ) when InventoryQty is null then cast(0 as abap.curr(23,2) ) else cast(round(cast(cast(division(AmountInCompanyCodeCurrency, cast( InventoryQty as abap.dec(13,3)), 7 ) as abap.dec(16,7)) * QualityInspectionStockQuantity as abap.dec(24,7)), 2) as abap.curr(23,2) ) end as QualityInspectionStockValue AS curr232endasQualityInspectionStockValue,
  case when InventoryQty = 0 then cast(round(cast(cast(division(InventoryPrice, MaterialPriceUnitQty, 5 ) as abap.dec(16,7)) * ReturnsBlockedStockQuantity as abap.dec(24,7)), 2) as abap.curr(23,2) ) when InventoryQty is null then cast(0 as abap.curr(23,2) ) else cast(round(cast(cast(division(AmountInCompanyCodeCurrency, cast( InventoryQty as abap.dec(13,3)), 7 ) as abap.dec(16,7)) * ReturnsBlockedStockQuantity as abap.dec(24,7)), 2) as abap.curr(23,2) ) end as ReturnsBlockedStockValue AS curr232endasReturnsBlockedStockValue,
  case when InventoryQty = 0 then cast(round(cast(cast(division(InventoryPrice, MaterialPriceUnitQty, 5 ) as abap.dec(16,7)) * TransferStockStorageLocQty as abap.dec(24,7)), 2) as abap.curr(23,2) ) when InventoryQty is null then cast(0 as abap.curr(23,2) ) else cast(round(cast(cast(division(AmountInCompanyCodeCurrency, cast( InventoryQty as abap.dec(13,3)), 7 ) as abap.dec(16,7)) * TransferStockStorageLocQty as abap.dec(24,7)), 2) as abap.curr(23,2) ) end as TransferStockStorageLocValue AS curr232endasTransferStockStorageLocValue,
  case when InventoryQty = 0 then cast(round(cast(cast(division(InventoryPrice, MaterialPriceUnitQty, 5 ) as abap.dec(16,7)) * TransferStockPlantQuantity as abap.dec(24,7)), 2) as abap.curr(23,2) ) when InventoryQty is null then cast(0 as abap.curr(23,2) ) else cast(round(cast(cast(division(AmountInCompanyCodeCurrency, cast( InventoryQty as abap.dec(13,3)), 7 ) as abap.dec(16,7)) * TransferStockPlantQuantity as abap.dec(24,7)), 2) as abap.curr(23,2) ) end as TransferStockPlantValue AS curr232endasTransferStockPlantValue,
  case when InventoryQty = 0 then cast(round(cast(cast(division(InventoryPrice, MaterialPriceUnitQty, 5 ) as abap.dec(16,7)) * StockInTransitQuantity as abap.dec(24,7)), 2) as abap.curr(23,2) ) when InventoryQty is null then cast(0 as abap.curr(23,2) ) else cast(round(cast(cast(division(AmountInCompanyCodeCurrency, cast( InventoryQty as abap.dec(13,3)), 7 ) as abap.dec(16,7)) * StockInTransitQuantity as abap.dec(24,7)), 2) as abap.curr(23,2) ) end as StockInTransitValue AS curr232endasStockInTransitValue,
  case when InventoryQty = 0 then cast(round(cast(cast(division(InventoryPrice, MaterialPriceUnitQty, 5 ) as abap.dec(16,7)) * BlockedStockQuantity as abap.dec(24,7)), 2) as abap.curr(23,2) ) when InventoryQty is null then cast(0 as abap.curr(23,2) ) else cast(round(cast(cast(division(AmountInCompanyCodeCurrency, cast( InventoryQty as abap.dec(13,3)), 7 ) as abap.dec(16,7)) * BlockedStockQuantity as abap.dec(24,7)), 2) as abap.curr(23,2) ) end as BlockedStockValue AS curr232endasBlockedStockValue,
  case when InventoryQty = 0 then cast(round(cast(cast(division(InventoryPrice, MaterialPriceUnitQty, 5 ) as abap.dec(16,7)) * RestrictedStockQuantity as abap.dec(24,7)), 2) as abap.curr(23,2) ) when InventoryQty is null then cast(0 as abap.curr(23,2) ) else cast(round(cast(cast(division(AmountInCompanyCodeCurrency, cast( InventoryQty as abap.dec(13,3)), 7 ) as abap.dec(16,7)) * RestrictedStockQuantity as abap.dec(24,7)), 2) as abap.curr(23,2) ) end as RestrictedStockValue AS curr232endasRestrictedStockValue,
  case when InventoryQty = 0 then cast(round(cast(cast(division(InventoryPrice, MaterialPriceUnitQty, 5 ) as abap.dec(16,7)) * TiedEmptiesStockQuantity as abap.dec(24,7)), 2) as abap.curr(23,2) ) when InventoryQty is null then cast(0 as abap.curr(23,2) ) else cast(round(cast(cast(division(AmountInCompanyCodeCurrency, cast( InventoryQty as abap.dec(13,3)), 7 ) as abap.dec(16,7)) * TiedEmptiesStockQuantity as abap.dec(24,7)), 2) as abap.curr(23,2) ) end as TiedEmptiesStockValue AS curr232endasTiedEmptiesStockValue
FROM P_MltplMatlStk_L3P
;