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 I_SAFTDeliveryItem.
-- 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.
-- SQL view name: ISAFTDELITEM
CREATE VIEW I_SAFTDeliveryItem AS
SELECT
delDocItem.DeliveryDocument AS DeliveryDocument,
delDocItem.DeliveryDocumentItem AS DeliveryDocumentItem,
delDocItem._DeliveryDocument.ReferenceDocumentNumber AS ReferenceDocumentNumber,
delDocItem._DeliveryDocument._SalesOrganization.CompanyCode AS CompanyCode,
delDocItem.ReferenceSDDocument AS ReferenceSDDocument,
delDocItem.ReferenceSDDocumentItem AS ReferenceSDDocumentItem,
delDocItem.ReferenceSDDocumentCategory AS ReferenceSDDocumentCategory,
delDocItem.CreationDate AS CreationDate,
delDocItem.CreationTime AS CreationTime,
delDocItem._DeliveryDocument.DeliveryDate AS DeliveryDate,
delDocItem.Material AS Material,
delDocItem.DeliveryDocumentItemText AS DeliveryDocumentItemText,
delDocItem.ActualDeliveryQuantity AS ActualDeliveryQuantity,
delDocItem.DeliveryQuantityUnit AS DeliveryQuantityUnit,
case when delDocItem.ReferenceSDDocumentCategory = 'C' or delDocItem.ReferenceSDDocumentCategory = 'H' then _salesItem.TransactionCurrency when delDocItem.ReferenceSDDocumentCategory = 'V' then _pOItem.DocumentCurrency else _DeliveryDocument._SalesOrganization._CompanyCode.Currency end as TransactionCurrency AS CurrencyendasTransactionCurrency,
_DeliveryDocument._SalesOrganization._CompanyCode.Currency AS CompanyCodeCurrency,
case when delDocItem.ReferenceSDDocumentCategory = 'C' or delDocItem.ReferenceSDDocumentCategory = 'H' then _salesItem.PriceDetnExchangeRate when delDocItem.ReferenceSDDocumentCategory = 'V' then _pOItem.ExchangeRate else 0 end as ExchangeRate AS ExchangeRateelse0endasExchangeRate,
cast( case when delDocItem.ReferenceSDDocumentCategory = 'C' or delDocItem.ReferenceSDDocumentCategory = 'H' then _discPrcgElementSls.DiscountAmount when delDocItem.ReferenceSDDocumentCategory = 'V' then _discPrcgElementPO.DiscountAmount else 0 end as abap.curr(11,2)) as SettlementAmount AS curr112asSettlementAmount,
case when delDocItem.ReferenceSDDocumentCategory = 'V' and _pOItem.Supplier is not initial then _pOItem.Supplier else '' end as Supplier AS SupplierelseendasSupplier,
cast(case when delDocItem.ReferenceSDDocumentCategory = 'C' or delDocItem.ReferenceSDDocumentCategory = 'H' then (case when _salesItem.OrderQuantity = 0 then abs(_salesItem.NetAmount) else division( abs(_salesItem.NetAmount),_salesItem.OrderQuantity,7) end) when delDocItem.ReferenceSDDocumentCategory = 'V' then (case when _pOItem.OrderQuantity = 0 then abs( _pOItem.NetAmount) else division( abs( _pOItem.NetAmount),_pOItem.OrderQuantity,7) end) else (case when delDocItem.OriginalDeliveryQuantity = 0 then abs(delDocItem.NetPriceAmount) else division( abs(delDocItem.NetPriceAmount), delDocItem.OriginalDeliveryQuantity,7) end) end as abap.dec(22,7)) as NetPriceAmount AS dec227asNetPriceAmount,
cast(case when delDocItem.ReferenceSDDocumentCategory = 'C' or delDocItem.ReferenceSDDocumentCategory = 'H' then (case when _salesItem.OrderQuantity = 0 then cast( ActualDeliveryQuantity * abs(_salesItem.NetAmount) as abap.dec(22,7)) else ActualDeliveryQuantity * division( abs(_salesItem.NetAmount),_salesItem.OrderQuantity,7) end) when delDocItem.ReferenceSDDocumentCategory = 'V' then (case when _pOItem.OrderQuantity = 0 then cast( ActualDeliveryQuantity * abs(_pOItem.NetAmount) as abap.dec(22,7)) else ActualDeliveryQuantity * division( abs(_pOItem.NetAmount),_pOItem.OrderQuantity,7) end) else (case when delDocItem.OriginalDeliveryQuantity = 0 then cast( ActualDeliveryQuantity * abs(delDocItem.NetPriceAmount) as abap.dec(22,7)) else ActualDeliveryQuantity * division( abs(delDocItem.NetPriceAmount),delDocItem.OriginalDeliveryQuantity,7) end) end as abap.dec(22,7)) as NetAmount AS dec227asNetAmount,
cast(case when delDocItem.ReferenceSDDocumentCategory = 'C' or delDocItem.ReferenceSDDocumentCategory = 'H' then case when _salesItem.NetAmount<0 then (case when _salesItem.OrderQuantity = 0 then cast( ActualDeliveryQuantity * abs(_salesItem.NetAmount) as abap.dec(22,7)) else ActualDeliveryQuantity * division( abs(_salesItem.NetAmount),_salesItem.OrderQuantity,7) end) else 0 end when delDocItem.ReferenceSDDocumentCategory = 'V' then case when _pOItem.NetAmount<0 then (case when _pOItem.OrderQuantity = 0 then cast( ActualDeliveryQuantity * abs(_salesItem.NetAmount - _discPrcgElementPO.DiscountAmount) as abap.dec(22,7)) else ActualDeliveryQuantity * division( abs(_salesItem.NetAmount - _discPrcgElementPO.DiscountAmount),_pOItem.OrderQuantity,7) end) else 0 end else case when delDocItem.NetPriceAmount<0 then (case when delDocItem.OriginalDeliveryQuantity = 0 then cast( ActualDeliveryQuantity * abs(delDocItem.NetPriceAmount) as abap.dec(22,7)) else ActualDeliveryQuantity * division( abs(delDocItem.NetPriceAmount), delDocItem.OriginalDeliveryQuantity,7) end) else 0 end end as abap.dec(22,7)) as DebitAmountInCoCodeCrcy AS dec227asDebitAmountInCoCodeCrcy,
cast(case when delDocItem.ReferenceSDDocumentCategory = 'C' or delDocItem.ReferenceSDDocumentCategory = 'H' then case when _salesItem.NetAmount>=0 then (case when _salesItem.OrderQuantity = 0 then cast( ActualDeliveryQuantity * abs(_salesItem.NetAmount) as abap.dec(22,7)) else ActualDeliveryQuantity*division( abs(_salesItem.NetAmount),_salesItem.OrderQuantity,7) end) else 0 end when delDocItem.ReferenceSDDocumentCategory = 'V' then case when _pOItem.NetAmount>=0 then (case when _pOItem.OrderQuantity = 0 then cast( ActualDeliveryQuantity * abs(_salesItem.NetAmount - _discPrcgElementPO.DiscountAmount) as abap.dec(22,7)) else ActualDeliveryQuantity*division( abs(_salesItem.NetAmount - _discPrcgElementPO.DiscountAmount),_pOItem.OrderQuantity,7) end) else 0 end else case when delDocItem.NetPriceAmount>=0 then (case when delDocItem.OriginalDeliveryQuantity = 0 then cast( ActualDeliveryQuantity * abs(delDocItem.NetPriceAmount) as abap.dec(22,7)) else ActualDeliveryQuantity * division( abs(delDocItem.NetPriceAmount), delDocItem.OriginalDeliveryQuantity,7) end) else 0 end end as abap.dec(22,7)) as CreditAmountInCoCodeCrcy AS dec227asCreditAmountInCoCodeCrcy,
case when delDocItem.ReferenceSDDocumentCategory = 'C' or delDocItem.ReferenceSDDocumentCategory = 'H' then _taxSales.TargetTaxCode when delDocItem.ReferenceSDDocumentCategory = 'V' then _taxPO.TargetTaxCode else _taxSales.TargetTaxCode end as TaxCode AS TargetTaxCodeendasTaxCode,
case when delDocItem.ReferenceSDDocumentCategory = 'C' or delDocItem.ReferenceSDDocumentCategory = 'H' then _taxSales.TaxType when delDocItem.ReferenceSDDocumentCategory = 'V' then _taxPO.TaxType else _taxSales.TaxType end as TaxType AS TaxTypeendasTaxType,
case when delDocItem.ReferenceSDDocumentCategory = 'C' or delDocItem.ReferenceSDDocumentCategory = 'H' then _taxSales.TaxRate when delDocItem.ReferenceSDDocumentCategory = 'V' then _taxPO.TaxRate else _taxSales.TaxRate end as TaxRate AS TaxRateendasTaxRate,
case when delDocItem.ReferenceSDDocumentCategory = 'C' or delDocItem.ReferenceSDDocumentCategory = 'H' then _taxSales.TaxReturnCountry when delDocItem.ReferenceSDDocumentCategory = 'V' then _taxPO.TaxReturnCountry else _taxSales.TaxReturnCountry end as TaxReturnCountry AS TaxReturnCountryendasTaxReturnCountry,
case when delDocItem.ReferenceSDDocumentCategory = 'C' or delDocItem.ReferenceSDDocumentCategory = 'H' then _taxSales.ExemptionReason when delDocItem.ReferenceSDDocumentCategory = 'V' then _taxPO.ExemptionReason else _taxSales.ExemptionReason end as ExemptionReason AS ExemptionReasonendasExemptionReason
FROM I_DeliveryDocumentItem AS delDocItem
LEFT OUTER JOIN I_SalesOrderItem AS _salesItem ON delDocItem.ReferenceSDDocument = _salesItem.SalesOrder AND delDocItem.ReferenceSDDocumentItem = _salesItem.SalesOrderItem -- association [0..1]
LEFT OUTER JOIN I_SAFTPurchaseOrderItem AS _pOItem ON delDocItem.ReferenceSDDocument = _pOItem.PurchaseOrder AND delDocItem.ReferenceSDDocumentItem = _pOItem.PurchaseOrderItem -- association [0..1]
LEFT OUTER JOIN I_SAFTDeliveryItemDiscSls AS _discPrcgElementSls ON delDocItem.ReferenceSDDocument = _discPrcgElementSls.SalesOrder AND delDocItem.ReferenceSDDocumentItem = _discPrcgElementSls.SalesOrderItem -- association [0..1]
LEFT OUTER JOIN I_SAFTDeliveryItemDiscPO AS _discPrcgElementPO ON delDocItem.ReferenceSDDocument = _discPrcgElementPO.PurchaseOrder AND delDocItem.ReferenceSDDocumentItem = _discPrcgElementPO.PurchaseOrderItem -- association [0..1]
LEFT OUTER JOIN I_SAFTDeliveryItmTxSls AS _taxSales ON delDocItem.ReferenceSDDocument = _taxSales.SalesDocument AND delDocItem.ReferenceSDDocumentItem = _taxSales.SalesDocumentItem -- association [0..1]
LEFT OUTER JOIN I_SAFTDeliveryItmTxPO AS _taxPO ON delDocItem.ReferenceSDDocument = _taxPO.PurchaseOrder AND delDocItem.ReferenceSDDocumentItem = _taxPO.PurchaseOrderItem -- association [0..1]
;