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
;