I_SAFTDeliveryItem

DDL: I_SAFTDELIVERYITEM SQL: ISAFTDELITEM Type: view COMPOSITE

SAFT Delivery Item

I_SAFTDeliveryItem is a Composite CDS View that provides data about "SAFT Delivery Item" in SAP S/4HANA. It reads from 1 data source (I_DeliveryDocumentItem) and exposes 30 fields with key fields DeliveryDocument, DeliveryDocumentItem. It has 6 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_DeliveryDocumentItem delDocItem from

Associations (6)

CardinalityTargetAliasCondition
[0..1] I_SalesOrderItem _salesItem delDocItem.ReferenceSDDocument = _salesItem.SalesOrder and delDocItem.ReferenceSDDocumentItem = _salesItem.SalesOrderItem
[0..1] I_SAFTPurchaseOrderItem _pOItem delDocItem.ReferenceSDDocument = _pOItem.PurchaseOrder and delDocItem.ReferenceSDDocumentItem = _pOItem.PurchaseOrderItem
[0..1] I_SAFTDeliveryItemDiscSls _discPrcgElementSls delDocItem.ReferenceSDDocument = _discPrcgElementSls.SalesOrder and delDocItem.ReferenceSDDocumentItem = _discPrcgElementSls.SalesOrderItem
[0..1] I_SAFTDeliveryItemDiscPO _discPrcgElementPO delDocItem.ReferenceSDDocument = _discPrcgElementPO.PurchaseOrder and delDocItem.ReferenceSDDocumentItem = _discPrcgElementPO.PurchaseOrderItem
[0..1] I_SAFTDeliveryItmTxSls _taxSales delDocItem.ReferenceSDDocument = _taxSales.SalesDocument and delDocItem.ReferenceSDDocumentItem = _taxSales.SalesDocumentItem
[0..1] I_SAFTDeliveryItmTxPO _taxPO delDocItem.ReferenceSDDocument = _taxPO.PurchaseOrder and delDocItem.ReferenceSDDocumentItem = _taxPO.PurchaseOrderItem

Annotations (11)

NameValueLevelField
AbapCatalog.sqlViewName ISAFTDELITEM view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
VDM.viewType #COMPOSITE view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #X view
AbapCatalog.preserveKey true view
AccessControl.personalData.blocking #NOT_REQUIRED view
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label SAFT Delivery Item view

Fields (30)

KeyFieldSource TableSource FieldDescription
KEY DeliveryDocument I_DeliveryDocumentItem DeliveryDocument Outbound Delivery
KEY DeliveryDocumentItem I_DeliveryDocumentItem DeliveryDocumentItem Outb. Delivery Item
ReferenceDocumentNumber
CompanyCode
ReferenceSDDocument I_DeliveryDocumentItem ReferenceSDDocument Reference Doc.
ReferenceSDDocumentItem I_DeliveryDocumentItem ReferenceSDDocumentItem Reference Item
ReferenceSDDocumentCategory I_DeliveryDocumentItem ReferenceSDDocumentCategory Prec.Doc.Categ.
CreationDate I_DeliveryDocumentItem CreationDate Time Stamp
CreationTime I_DeliveryDocumentItem CreationTime Time of Change
DeliveryDate
Material I_DeliveryDocumentItem Material Vehicle Model
DeliveryDocumentItemText I_DeliveryDocumentItem DeliveryDocumentItemText Short Text
ActualDeliveryQuantity I_DeliveryDocumentItem ActualDeliveryQuantity Base quantity
DeliveryQuantityUnit I_DeliveryDocumentItem DeliveryQuantityUnit Unit of measure
CurrencyendasTransactionCurrency
CompanyCodeCurrency
ExchangeRateelse0endasExchangeRate
curr112asSettlementAmount
SupplierelseendasSupplier
dec227asNetPriceAmount
dec227asNetAmount
dec227asDebitAmountInCoCodeCrcy
dec227asCreditAmountInCoCodeCrcy
TargetTaxCodeendasTaxCode
TaxTypeendasTaxType
TaxRateendasTaxRate
TaxReturnCountryendasTaxReturnCountry
ExemptionReasonendasExemptionReason
_DeliveryQuantityUnit _DeliveryQuantityUnit
_DeliveryDocument _DeliveryDocument

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]
;