I_CUSTOMERRETURNITEM

CDS View

Returns Order Item

I_CUSTOMERRETURNITEM is a CDS View in S/4HANA. Returns Order Item. It contains 212 fields. 12 CDS views read from this table.

CDS Views using this table (12)

ViewTypeJoinVDMDescription
C_BSOrdItmProcFlwCustRet view from CONSUMPTION CustRet Item Attrib for BSOrd Prgrs
C_CustomerReturnRefDoc view inner CONSUMPTION Return Reference Document
C_CustRetItemCustomer view from CONSUMPTION Returns Order Item Partner
C_CustReturnItemRefundStatus view union CONSUMPTION Returns Order Item Refunding Status
C_PrecdgCustomerReturnItem view from CONSUMPTION Preceding Customer Return Item
C_SubsqntCustomerReturnItem view from CONSUMPTION Subsequent Customer Return Item
I_CustomerReturnItemEnhanced view from COMPOSITE Returns Order Item Enhanced
I_CustomerReturnItemImport view_entity from COMPOSITE Item Fields for Customer Return Import
I_CustomerReturnItemStdVH view from COMPOSITE Returns Order Item
P_CustomerReturnItemEnhanced view from CONSUMPTION Returns Order Item Enhanced
P_CustRetItemRefund_F1708 view from CONSUMPTION Returns Order Item Refund
P_RetsMgmtProcgBlockCnt_F1708 view from COMPOSITE Returns Management Processing Block Count

Fields (212)

KeyField CDS FieldsUsed in Views
KEY CustomerReturn CustomerReturn 8
KEY CustomerReturnItem CustomerReturnItem 8
KEY ReferenceSDDocument ReferenceSDDocument 3
_AdditionalMaterialGroup1 _AdditionalMaterialGroup1 1
_AdditionalMaterialGroup2 _AdditionalMaterialGroup2 1
_AdditionalMaterialGroup3 _AdditionalMaterialGroup3 1
_AdditionalMaterialGroup4 _AdditionalMaterialGroup4 1
_AdditionalMaterialGroup5 _AdditionalMaterialGroup5 1
_BaseUnit _BaseUnit 1
_BillingBlockStatus _BillingBlockStatus 1
_BusinessArea _BusinessArea 1
_ControllingArea _ControllingArea 1
_CreatedByUser _CreatedByUser 1
_CustomerAccountAssgmtGroup _CustomerAccountAssgmtGroup 1
_CustomerGroup _CustomerGroup 1
_CustomerPaymentTerms _CustomerPaymentTerms 1
_CustomerPurchaseOrderType _CustomerPurchaseOrderType 1
_CustPurOrdTypeByShipToParty _CustPurOrdTypeByShipToParty 1
_DeliveryBlockStatus _DeliveryBlockStatus 1
_DeliveryPriority _DeliveryPriority 1
_DeliveryStatus _DeliveryStatus 1
_Division _Division 1
_HigherLevelItem _HigherLevelItem 1
_IncotermsClassification _IncotermsClassification 1
_IncotermsVersion _IncotermsVersion 1
_ItemBillingBlockReason _ItemBillingBlockReason 1
_ItemBillingIncompletionStatus _ItemBillingIncompletionStatus 1
_ItemCategory _ItemCategory 1
_ItemDelivIncompletionSts _ItemDelivIncompletionSts 1
_ItemGeneralIncompletionStatus _ItemGeneralIncompletionStatus 1
_ItemIsBillingRelevant _ItemIsBillingRelevant 1
_ItemVolumeUnit _ItemVolumeUnit 1
_ItemWeightUnit _ItemWeightUnit 1
_Material _Material 1
_MaterialGroup _MaterialGroup 1
_MatlAccountAssignmentGroup _MatlAccountAssignmentGroup 1
_NetPriceQuantityUnit _NetPriceQuantityUnit 1
_OrderQuantityUnit _OrderQuantityUnit 1
_OrderRelatedBillingStatus _OrderRelatedBillingStatus 1
_OriginallyRequestedMaterial _OriginallyRequestedMaterial 1
_Partner _Partner 1
_Plant _Plant 1
_PricingIncompletionStatus _PricingIncompletionStatus 1
_Product _Product 1
_ProductGroup _ProductGroup 1
_ProductHierarchyNode _ProductHierarchyNode 1
_ProfitCenter _ProfitCenter 1
_ReferenceSDDocument _ReferenceSDDocument 1
_ReferenceSDDocumentCategory _ReferenceSDDocumentCategory 1
_ReferenceSDDocumentItem _ReferenceSDDocumentItem 1
_RequestedQuantityUnit _RequestedQuantityUnit 1
_ReturnReason _ReturnReason 1
_ReturnsRefundExtent _ReturnsRefundExtent 1
_SalesDeal _SalesDeal 1
_SalesDistrict _SalesDistrict 1
_SalesDocumentRjcnReason _SalesDocumentRjcnReason 1
_ScheduleLine _ScheduleLine 1
_SDDocumentRejectionStatus _SDDocumentRejectionStatus 1
_SDProcessStatus _SDProcessStatus 3
_ShippingPoint _ShippingPoint 1
_StatisticalValueControl _StatisticalValueControl 1
_StorageLocation _StorageLocation 1
_TotalDeliveryStatus _TotalDeliveryStatus 1
_TotalSDDocReferenceStatus _TotalSDDocReferenceStatus 1
_TransactionCurrency _TransactionCurrency 1
_WBSElementBasicData_2 _WBSElementBasicData_2 1
AdditionalMaterialGroup1 AdditionalMaterialGroup1 2
AdditionalMaterialGroup2 AdditionalMaterialGroup2 2
AdditionalMaterialGroup3 AdditionalMaterialGroup3 2
AdditionalMaterialGroup4 AdditionalMaterialGroup4 2
AdditionalMaterialGroup5 AdditionalMaterialGroup5 2
BaseUnit BaseUnit 1
Batch Batch 3
BillingBlockStatus BillingBlockStatus 1
BillingDocumentDate BillingDocumentDate 1
BillOfMaterial BillOfMaterial 2
BOMExplosionDate BOMExplosionDate 1
BusinessArea BusinessArea 1
BusinessSolutionOrderItem BusinessSolutionOrderItem 1
BusSolnOrdItemBundleItem BusSolnOrdItemBundleItem 1
ConfdDeliveryQtyInBaseUnit ConfdDeliveryQtyInBaseUnit 1
ConfdDelivQtyInOrderQtyUnit ConfdDelivQtyInOrderQtyUnit 1
ControllingArea ControllingArea 2
ControllingObject ControllingObject 1
CorrespncExternalReference CorrespncExternalReference 1
CorrespncExtRefByShipToParty CorrespncExtRefByShipToParty 1
CostAmount CostAmount 1
CreatedByUser CreatedByUser 1
CreationDate CreationDate 1
CreationTime CreationTime 1
CustomerAccountAssignmentGroup CustomerAccountAssignmentGroup 1
CustomerGroup CustomerGroup 1
CustomerPaymentTerms CustomerPaymentTerms 2
CustomerPriceGroup CustomerPriceGroup 1
CustomerPurchaseOrderType CustomerPurchaseOrderType 1
CustomerReturnItemCategory CustomerReturnItemCategory 3
CustomerReturnItemText CustomerReturnItemText 2
CustomerReturnItemType CustomerReturnItemType 1
CustomerReturnItemUUID CustomerReturnItemUUID 1
CustPurOrdTypeByShipToParty CustPurOrdTypeByShipToParty 1
DeliveryBlockStatus DeliveryBlockStatus 1
DeliveryDateQuantityIsFixed DeliveryDateQuantityIsFixed 1
DeliveryPriority DeliveryPriority 2
DeliveryStatus DeliveryStatus 1
Division Division 1
ExchangeRateDate ExchangeRateDate 1
FiscalPeriod FiscalPeriod 1
FiscalYear FiscalYear 1
FixedValueDate FixedValueDate 1
HigherLevelItem HigherLevelItem 3
IncotermsClassification IncotermsClassification 2
IncotermsLocation1 IncotermsLocation1 2
IncotermsLocation2 IncotermsLocation2 2
IncotermsTransferLocation IncotermsTransferLocation 2
IncotermsVersion IncotermsVersion 1
InternationalArticleNumber InternationalArticleNumber 1
InventorySpecialStockType InventorySpecialStockType 1
IsReturnsItem IsReturnsItem 1
ItemBillingBlockReason ItemBillingBlockReason 2
ItemBillingIncompletionStatus ItemBillingIncompletionStatus 1
ItemDeliveryIncompletionStatus ItemDeliveryIncompletionStatus 1
ItemGeneralIncompletionStatus ItemGeneralIncompletionStatus 2
ItemGrossWeight ItemGrossWeight 2
ItemIsBillingRelevant ItemIsBillingRelevant 1
ItemIsDeliveryRelevant ItemIsDeliveryRelevant 1
ItemNetWeight ItemNetWeight 2
ItemVolume ItemVolume 2
ItemVolumeUnit ItemVolumeUnit 2
ItemWeightUnit ItemWeightUnit 2
LastChangeDate LastChangeDate 1
Material Material 2
MaterialByCustomer MaterialByCustomer 2
MaterialGroup MaterialGroup 1
MaterialPricingGroup MaterialPricingGroup 1
MatlAccountAssignmentGroup MatlAccountAssignmentGroup 2
MaxNmbrOfPartialDelivery MaxNmbrOfPartialDelivery 1
MinDeliveryQtyInBaseUnit MinDeliveryQtyInBaseUnit 1
NetAmount NetAmount 5
NetPriceAmount NetPriceAmount 1
NetPriceQuantity NetPriceQuantity 1
NetPriceQuantityUnit NetPriceQuantityUnit 1
OrderID OrderID 1
OrderQuantity OrderQuantity 4
OrderQuantityUnit OrderQuantityUnit 5
OrderRelatedBillingStatus OrderRelatedBillingStatus 1
OrderToBaseQuantityDnmntr OrderToBaseQuantityDnmntr 1
OrderToBaseQuantityNmrtr OrderToBaseQuantityNmrtr 1
OriginallyRequestedMaterial OriginallyRequestedMaterial 1
OriginSDDocument OriginSDDocument 1
OriginSDDocumentItem OriginSDDocumentItem 1
OverdelivTolrtdLmtRatioInPct OverdelivTolrtdLmtRatioInPct 1
PartialDeliveryIsAllowed PartialDeliveryIsAllowed 1
PaymentMethod PaymentMethod 1
Plant Plant 2
PriceDetnExchangeRate PriceDetnExchangeRate 1
PricingDate PricingDate 2
PricingIncompletionStatus PricingIncompletionStatus 1
Product Product 3
ProductCatalog ProductCatalog 1
ProductConfiguration ProductConfiguration 3
ProductGroup ProductGroup 2
ProductHierarchyNode ProductHierarchyNode 1
ProductTaxClassification1 ProductTaxClassification1 2
ProductTaxClassification2 ProductTaxClassification2 2
ProductTaxClassification3 ProductTaxClassification3 2
ProductTaxClassification4 ProductTaxClassification4 2
ProductTaxClassification5 ProductTaxClassification5 2
ProductTaxClassification6 ProductTaxClassification6 2
ProductTaxClassification7 ProductTaxClassification7 2
ProductTaxClassification8 ProductTaxClassification8 2
ProductTaxClassification9 ProductTaxClassification9 2
ProfitabilitySegment ProfitabilitySegment 1
ProfitabilitySegment_2 ProfitabilitySegment_2 1
ProfitCenter ProfitCenter 2
PurchaseOrderByCustomer PurchaseOrderByCustomer 2
PurchaseOrderByShipToParty PurchaseOrderByShipToParty 1
ReferenceSDDocumentCategory ReferenceSDDocumentCategory 3
ReferenceSDDocumentItem ReferenceSDDocumentItem 2
RequestedQuantity RequestedQuantity 2
RequestedQuantityInBaseUnit RequestedQuantityInBaseUnit 1
RequestedQuantityUnit RequestedQuantityUnit 2
RetsMgmtProcess RetsMgmtProcess 4
RetsMgmtProcessingBlock RetsMgmtProcessingBlock 3
ReturnReason ReturnReason 2
ReturnsRefundExtent ReturnsRefundExtent 3
Route Route 1
SalesDeal SalesDeal 1
SalesDistrict SalesDistrict 1
SalesDocumentRjcnReason SalesDocumentRjcnReason 2
SDDocumentRejectionStatus SDDocumentRejectionStatus 3
SDProcessStatus SDProcessStatus 4
ServicesRenderedDate ServicesRenderedDate 1
ShippingPoint ShippingPoint 1
ShippingType ShippingType 2
StatisticalValueControl StatisticalValueControl 1
StorageLocation StorageLocation 2
Subtotal1Amount Subtotal1Amount 2
Subtotal2Amount Subtotal2Amount 2
Subtotal3Amount Subtotal3Amount 2
Subtotal4Amount Subtotal4Amount 2
Subtotal5Amount Subtotal5Amount 2
Subtotal6Amount Subtotal6Amount 2
TargetDelivQtyInOrderQtyUnit TargetDelivQtyInOrderQtyUnit 1
TaxAmount TaxAmount 2
TotalDeliveryStatus TotalDeliveryStatus 1
TotalSDDocReferenceStatus TotalSDDocReferenceStatus 1
TransactionCurrency TransactionCurrency 5
UnderdelivTolrtdLmtRatioInPct UnderdelivTolrtdLmtRatioInPct 1
UnderlyingPurchaseOrderItem UnderlyingPurchaseOrderItem 1
UndrlgPurOrdItmByShipToParty UndrlgPurOrdItmByShipToParty 1
UnlimitedOverdeliveryIsAllowed UnlimitedOverdeliveryIsAllowed 1
WBSElementInternalID WBSElementInternalID 2
@ClientHandling.algorithm: #SESSION_VARIABLE
@EndUserText.label: 'Returns Order Item'
@VDM: {
  viewType: #BASIC,
  lifecycle.contract.type: #PUBLIC_LOCAL_API
}
@AccessControl: {
  authorizationCheck: #CHECK,
  personalData.blocking: #('TRANSACTIONAL_DATA'),
  privilegedAssociations: [ '_CreatedByUser' ]
}
@AbapCatalog: {
  sqlViewName: 'ISDCUSTRETURNITM',
  preserveKey: true,
  compiler.compareFilter: true
}
@ObjectModel: {
  representativeKey: 'CustomerReturnItem',
  modelingPattern: #ANALYTICAL_DIMENSION,
  supportedCapabilities: [#ANALYTICAL_DIMENSION,
                          #CDS_MODELING_ASSOCIATION_TARGET,
                          #CDS_MODELING_DATA_SOURCE,
                          #SQL_DATA_SOURCE,
                          #EXTRACTION_DATA_SOURCE],
  usageType: {
    dataClass:      #TRANSACTIONAL,
    serviceQuality: #C,
    sizeCategory:   #XL
  }
}
@Analytics.dataCategory: #DIMENSION
@Metadata.ignorePropagatedAnnotations: true
@Metadata.allowExtensions:true
@ObjectModel.sapObjectNodeType.name: 'CustomerReturnItem'   

@Analytics: {
    dataExtraction: {
        enabled: true,
        delta.changeDataCapture: {
            mapping:[
                {
                    table: 'vbap', role: #MAIN,
                    viewElement: ['CustomerReturn', 'CustomerReturnItem'],
                    tableElement: ['vbeln', 'posnr']
                },
                {
                    table: 'vbak', role: #LEFT_OUTER_TO_ONE_JOIN,
                    viewElement: ['CustomerReturn'],
                    tableElement: ['vbeln']},
                {
                    table: 'vbkd', role: #LEFT_OUTER_TO_ONE_JOIN,
                    viewElement: ['CustomerReturn', 'CustomerReturnItem'],
                    tableElement: ['vbeln', 'posnr']
                },   
                {
                    table: 'veda', role: #LEFT_OUTER_TO_ONE_JOIN,
                    viewElement: ['CustomerReturn', 'CustomerReturnItem'],
                    tableElement: ['vbeln', 'vposn']
                }       
            ]
        }
    }
 }

define view I_CustomerReturnItem
  as select from           I_SalesDocumentItem  as SalesDocumentItem
    left outer to one join I_SalesDocumentBasic as SalesDocumentBasic on SalesDocumentItem.SalesDocument = SalesDocumentBasic.SalesDocument

  //Associations

  association [1..1] to I_CustomerReturn             as _CustomerReturn      on  $projection.CustomerReturn     = _CustomerReturn.CustomerReturn
  association [0..1] to I_CustomerReturnType         as _CustomerReturnType  on  $projection.CustomerReturnType = _CustomerReturnType.CustomerReturnType
  association [0..1] to I_RetsMgmtProcessItem        as _RetsMgmtProcessItem on  $projection.RetsMgmtProcess    = _RetsMgmtProcessItem.RetsMgmtProcess
                                                                             and $projection.CustomerReturnItem = _RetsMgmtProcessItem.RetsMgmtProcessItem
  association [0..*] to I_CustomerReturnScheduleLine as _ScheduleLine        on  $projection.CustomerReturn     = _ScheduleLine.CustomerReturn
                                                                             and $projection.CustomerReturnItem = _ScheduleLine.CustomerReturnItem
  
  association [0..1] to I_CustomerReturnItem         as _HigherLevelItem     on  $projection.CustomerReturn     = _HigherLevelItem.CustomerReturn
                                                                             and $projection.HigherLevelItem    = _HigherLevelItem.CustomerReturnItem
  
  //Extensibility

  association [0..1] to E_SalesDocumentItemBasic     as _Extension           on  SalesDocumentItem.SalesDocument     = _Extension.SalesDocument
                                                                             and SalesDocumentItem.SalesDocumentItem = _Extension.SalesDocumentItem
{
      //key

      //--[ GENERATED:012:GFBfhyK17jY4pu9}5ALROG

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_CustomerReturnStdVH',
                     element: 'CustomerReturn' }
        }]
      // ]--GENERATED

      @ObjectModel.foreignKey.association: '_CustomerReturn'
  key cast(SalesDocumentItem.SalesDocument as vdm_customer_return preserving type)          as CustomerReturn,
      @ObjectModel.text.element: 'CustomerReturnItemText'
  key cast(SalesDocumentItem.SalesDocumentItem as vdm_customer_return_item preserving type) as CustomerReturnItem,

      SalesDocumentItem.SalesDocumentItemUUID                                               as CustomerReturnItemUUID,

      //Category

      @ObjectModel.foreignKey.association: '_ItemCategory'
      SalesDocumentItem.SalesDocumentItemCategory                                           as CustomerReturnItemCategory,
      SalesDocumentItem.SalesDocumentItemType                                               as CustomerReturnItemType,
      SalesDocumentItem.IsReturnsItem,

      //Admin

      SalesDocumentItem.CreatedByUser,
      @Semantics.systemDate.createdAt: true
      SalesDocumentItem.CreationDate,
      SalesDocumentItem.CreationTime,
      @Semantics.systemDate.lastChangedAt: true
      SalesDocumentItem.LastChangeDate,

      //Org

      @ObjectModel.foreignKey.association: '_Division'
      SalesDocumentItem.Division,

      //Product

      //--[ GENERATED:012:GFBfhyK17jY4pu9}5ALROG

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_MaterialStdVH',
                     element: 'Material' }
        }]
      // ]--GENERATED

      @ObjectModel.foreignKey.association: '_Material'
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: 'Product'
      SalesDocumentItem.Material,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: '_Product'
      SalesDocumentItem._Material,

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_ProductVH',
                     element: 'Product' }
        }]
      @Analytics.internalName: #LOCAL
      @ObjectModel.foreignKey.association: '_Product'
      SalesDocumentItem.Product,
      SalesDocumentItem._Product,

      @ObjectModel.foreignKey.association: '_MaterialGroup'
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: 'ProductGroup'
      SalesDocumentItem.MaterialGroup,
      @API.element.releaseState: #DEPRECATED
      @API.element.successor: '_ProductGroup'
      SalesDocumentItem._MaterialGroup,

      @Analytics.internalName: #LOCAL
      @ObjectModel.foreignKey.association: '_ProductGroup'
      SalesDocumentItem.ProductGroup,
      SalesDocumentItem._ProductGroup,

      //--[ GENERATED:012:GFBfhyK17jY4pu9}5ALROG

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_MaterialStdVH',
                     element: 'Material' }
        }]
      // ]--GENERATED

      @ObjectModel.foreignKey.association: '_OriginallyRequestedMaterial'
      SalesDocumentItem.OriginallyRequestedMaterial,
      SalesDocumentItem.MaterialByCustomer,
      SalesDocumentItem.InternationalArticleNumber,
      SalesDocumentItem.Batch,
      SalesDocumentItem.ProductHierarchyNode,
      SalesDocumentItem.ProductCatalog,
      @ObjectModel.foreignKey.association: '_AdditionalMaterialGroup1'
      SalesDocumentItem.AdditionalMaterialGroup1,
      @ObjectModel.foreignKey.association: '_AdditionalMaterialGroup2'
      SalesDocumentItem.AdditionalMaterialGroup2,
      @ObjectModel.foreignKey.association: '_AdditionalMaterialGroup3'
      SalesDocumentItem.AdditionalMaterialGroup3,
      @ObjectModel.foreignKey.association: '_AdditionalMaterialGroup4'
      SalesDocumentItem.AdditionalMaterialGroup4,
      @ObjectModel.foreignKey.association: '_AdditionalMaterialGroup5'
      SalesDocumentItem.AdditionalMaterialGroup5,
      @ObjectModel.foreignKey.association: '_Plant'
      SalesDocumentItem.Plant,
      @ObjectModel.foreignKey.association: '_StorageLocation'
      SalesDocumentItem.StorageLocation,
      SalesDocumentItem.ProductConfiguration,
      SalesDocumentItem.BillOfMaterial,
      SalesDocumentItem.BOMExplosionDate,

      //Sales

      @Semantics.text: true
      SalesDocumentItem.SalesDocumentItemText                                               as CustomerReturnItemText,
      SalesDocumentItem.PurchaseOrderByCustomer,
      SalesDocumentItem.PurchaseOrderByShipToParty,
      SalesDocumentItem.CorrespncExternalReference,
      SalesDocumentItem.CorrespncExtRefByShipToParty,
      SalesDocumentItem.UnderlyingPurchaseOrderItem,
      SalesDocumentItem.UndrlgPurOrdItmByShipToParty,
      @Analytics.internalName: #LOCAL
      @ObjectModel.foreignKey.association: '_CustPurOrdTypeByShipToParty'
      SalesDocumentItem.CustPurOrdTypeByShipToParty,
      @Analytics.internalName: #LOCAL
      @ObjectModel.foreignKey.association: '_CustomerPurchaseOrderType'
      SalesDocumentItem.CustomerPurchaseOrderType,
      @DefaultAggregation: #SUM
      @Semantics.quantity.unitOfMeasure: 'OrderQuantityUnit'
      SalesDocumentItem.OrderQuantity,
      @DefaultAggregation: #SUM
      @Semantics.quantity.unitOfMeasure: 'OrderQuantityUnit'
      SalesDocumentItem.ConfdDelivQtyInOrderQtyUnit,
      @DefaultAggregation: #SUM
      @Semantics.quantity.unitOfMeasure: 'OrderQuantityUnit'
      SalesDocumentItem.TargetDelivQtyInOrderQtyUnit,
      @Semantics.unitOfMeasure: true
      @ObjectModel.foreignKey.association: '_OrderQuantityUnit'
      SalesDocumentItem.OrderQuantityUnit,
      @DefaultAggregation: #SUM
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      SalesDocumentItem.ConfdDeliveryQtyInBaseUnit,
      @Semantics.unitOfMeasure: true
      @ObjectModel.foreignKey.association: '_BaseUnit'
      SalesDocumentItem.BaseUnit,
      SalesDocumentItem.OrderToBaseQuantityDnmntr,
      SalesDocumentItem.OrderToBaseQuantityNmrtr,

      @DefaultAggregation: #SUM
      @Semantics.quantity.unitOfMeasure: 'RequestedQuantityUnit'
      SalesDocumentItem.RequestedQuantity,
      @Semantics.unitOfMeasure: true
      @ObjectModel.foreignKey.association: '_RequestedQuantityUnit'
      SalesDocumentItem.RequestedQuantityUnit,

      @DefaultAggregation: #SUM
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      SalesDocumentItem.RequestedQuantityInBaseUnit,

      @DefaultAggregation: #SUM
      @Semantics.quantity.unitOfMeasure: 'ItemWeightUnit'
      SalesDocumentItem.ItemGrossWeight,
      @DefaultAggregation: #SUM
      @Semantics.quantity.unitOfMeasure: 'ItemWeightUnit'
      SalesDocumentItem.ItemNetWeight,
      @Semantics.unitOfMeasure: true
      @ObjectModel.foreignKey.association: '_ItemWeightUnit'
      SalesDocumentItem.ItemWeightUnit,
      @DefaultAggregation: #SUM
      @Semantics.quantity.unitOfMeasure: 'ItemVolumeUnit'
      SalesDocumentItem.ItemVolume,
      @Semantics.unitOfMeasure: true
      @ObjectModel.foreignKey.association: '_ItemVolumeUnit'
      SalesDocumentItem.ItemVolumeUnit,
      SalesDocumentItem.ServicesRenderedDate,
      @ObjectModel.foreignKey.association: '_SalesDistrict'
      SalesDocumentItem.SalesDistrict,
      //--[ GENERATED:012:GFBfhyK17jY4pu9}5ALROG

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_SalesDealStdVH',
                     element: 'SalesDeal' }
        }]
      // ]--GENERATED

      @ObjectModel.foreignKey.association: '_SalesDeal'
      SalesDocumentItem.SalesDeal,
      @ObjectModel.foreignKey.association: '_CustomerGroup'
      SalesDocumentItem.CustomerGroup,
      @ObjectModel.foreignKey.association: '_SalesDocumentRjcnReason'
      SalesDocumentItem.SalesDocumentRjcnReason,
      @ObjectModel.foreignKey.association: '_ReturnReason'
      SalesDocumentItem.ReturnReason,
      @ObjectModel.foreignKey.association: '_ReturnsRefundExtent'
      SalesDocumentItem.ReturnsRefundExtent,
      SalesDocumentItem.RetsMgmtProcessingBlock,

      //Contract

      //OrderQuantityUnitDcmls,


      //Pricing

      @DefaultAggregation: #SUM
      @Semantics.amount.currencyCode: 'TransactionCurrency'
      SalesDocumentItem.NetAmount,
      SalesDocumentItem.PricingDate,
      @Semantics.currencyCode: true
      @ObjectModel.foreignKey.association: '_TransactionCurrency'
      SalesDocumentItem.TransactionCurrency,
      SalesDocumentItem.ExchangeRateDate,
      SalesDocumentItem.PriceDetnExchangeRate,
      @Semantics.amount.currencyCode: 'TransactionCurrency'
      SalesDocumentItem.NetPriceAmount,
      @Semantics.quantity.unitOfMeasure: 'NetPriceQuantityUnit'
      SalesDocumentItem.NetPriceQuantity,
      @Semantics.unitOfMeasure: true
      @ObjectModel.foreignKey.association: '_NetPriceQuantityUnit'
      SalesDocumentItem.NetPriceQuantityUnit,

      @ObjectModel.foreignKey.association: '_StatisticalValueControl'
      SalesDocumentItem.StatisticalValueControl,
      SalesDocumentItem._StatisticalValueControl,

      @DefaultAggregation: #SUM
      @Semantics.amount.currencyCode: 'TransactionCurrency'
      SalesDocumentItem.TaxAmount,
      @DefaultAggregation: #SUM
      @Semantics.amount.currencyCode: 'TransactionCurrency'
      SalesDocumentItem.CostAmount,
      @DefaultAggregation: #SUM
      @Semantics.amount.currencyCode: 'TransactionCurrency'
      SalesDocumentItem.Subtotal1Amount,
      @DefaultAggregation: #SUM
      @Semantics.amount.currencyCode: 'TransactionCurrency'
      SalesDocumentItem.Subtotal2Amount,
      @DefaultAggregation: #SUM
      @Semantics.amount.currencyCode: 'TransactionCurrency'
      SalesDocumentItem.Subtotal3Amount,
      @DefaultAggregation: #SUM
      @Semantics.amount.currencyCode: 'TransactionCurrency'
      SalesDocumentItem.Subtotal4Amount,
      @DefaultAggregation: #SUM
      @Semantics.amount.currencyCode: 'TransactionCurrency'
      SalesDocumentItem.Subtotal5Amount,
      @DefaultAggregation: #SUM
      @Semantics.amount.currencyCode: 'TransactionCurrency'
      SalesDocumentItem.Subtotal6Amount,

      //Shipping

      //--[ GENERATED:012:GFBfhyK17jY4pu9}5ALROG

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_ShippingPointStdVH',
                     element: 'ShippingPoint' }
        }]
      // ]--GENERATED

      @ObjectModel.foreignKey.association: '_ShippingPoint'
      SalesDocumentItem.ShippingPoint,
      @Analytics.internalName: #LOCAL
      @ObjectModel.foreignKey.association: '_ShippingType'
      SalesDocumentItem.ShippingType,
      SalesDocumentItem.InventorySpecialStockType,
      @ObjectModel.foreignKey.association: '_DeliveryPriority'
      SalesDocumentItem.DeliveryPriority,
      SalesDocumentItem.Route,
      SalesDocumentItem.DeliveryDateQuantityIsFixed,
      SalesDocumentItem.PartialDeliveryIsAllowed,
      SalesDocumentItem.MaxNmbrOfPartialDelivery,
      SalesDocumentItem.UnlimitedOverdeliveryIsAllowed,
      SalesDocumentItem.OverdelivTolrtdLmtRatioInPct,
      SalesDocumentItem.UnderdelivTolrtdLmtRatioInPct,
      @DefaultAggregation: #SUM
      @Semantics.quantity.unitOfMeasure: 'BaseUnit'
      SalesDocumentItem.MinDeliveryQtyInBaseUnit,
      @ObjectModel.foreignKey.association: '_IncotermsClassification'
      SalesDocumentItem.IncotermsClassification,
      SalesDocumentItem.IncotermsTransferLocation,
      SalesDocumentItem.IncotermsLocation1,
      SalesDocumentItem.IncotermsLocation2,
      @ObjectModel.foreignKey.association: '_IncotermsVersion'
      SalesDocumentItem.IncotermsVersion,
      SalesDocumentItem.ItemIsDeliveryRelevant,

      //Billing

      SalesDocumentItem.BillingDocumentDate,
      @ObjectModel.foreignKey.association: '_ItemIsBillingRelevant'
      SalesDocumentItem.ItemIsBillingRelevant,
      @ObjectModel.foreignKey.association: '_ItemBillingBlockReason'
      SalesDocumentItem.ItemBillingBlockReason,
      @ObjectModel.foreignKey.association: '_MatlAccountAssignmentGroup'
      @Analytics.internalName: #LOCAL
      SalesDocumentItem.MatlAccountAssignmentGroup,
      //Payment

      @ObjectModel.foreignKey.association: '_CustomerPaymentTerms'
      SalesDocumentItem.CustomerPaymentTerms,
      SalesDocumentItem.PaymentMethod,
      
      SalesDocumentItem.CustomerPriceGroup,
      SalesDocumentItem.MaterialPricingGroup,
      SalesDocumentItem.FixedValueDate,

      //Tax Classfication

      SalesDocumentItem.ProductTaxClassification1,
      SalesDocumentItem.ProductTaxClassification2,
      SalesDocumentItem.ProductTaxClassification3,
      SalesDocumentItem.ProductTaxClassification4,
      SalesDocumentItem.ProductTaxClassification5,
      SalesDocumentItem.ProductTaxClassification6,
      SalesDocumentItem.ProductTaxClassification7,
      SalesDocumentItem.ProductTaxClassification8,
      SalesDocumentItem.ProductTaxClassification9,

      //Accounting

      SalesDocumentItem.FiscalYear,
      SalesDocumentItem.FiscalPeriod,
      @ObjectModel.foreignKey.association: '_CustomerAccountAssgmtGroup'
      SalesDocumentItem.CustomerAccountAssignmentGroup,
      //--[ GENERATED:012:GFBfhyK17jY4pu9}5ALROG

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_BusinessAreaStdVH',
                     element: 'BusinessArea' }
        }]
      // ]--GENERATED

      @ObjectModel.foreignKey.association: '_BusinessArea'
      SalesDocumentItem.BusinessArea,
      @ObjectModel.foreignKey.association: '_ProfitCenter'
      @Analytics.internalName: #LOCAL
      SalesDocumentItem.ProfitCenter,
      @Analytics.internalName: #LOCAL
      @ObjectModel.foreignKey.association:'_ControllingArea'
      SalesDocumentItem.ControllingArea,
      @ObjectModel.foreignKey.association: '_WBSElementBasicData_2'
      SalesDocumentItem.WBSElementInternalID,
      SalesDocumentItem.OrderID,
      SalesDocumentItem.ControllingObject,
      @API.element.releaseState: #DECOMMISSIONED
      @API.element.successor: 'ProfitabilitySegment_2'
      SalesDocumentItem.ProfitabilitySegment,
      SalesDocumentItem.ProfitabilitySegment_2,
      SalesDocumentItem.OriginSDDocument,
      SalesDocumentItem.OriginSDDocumentItem,

      //Reference

      //--[ GENERATED:012:GFBfhyK17jY4pu9}5ALROG

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_SalesDocumentStdVH',
                     element: 'SalesDocument' }
        }]
      // ]--GENERATED

      @ObjectModel.foreignKey.association: '_ReferenceSDDocument'
      SalesDocumentItem.ReferenceSDDocument,
      //--[ GENERATED:012:GFBfhyK17jY4pu9}5ALROG

      @Consumption.valueHelpDefinition: [
        { entity:  { name:    'I_SalesDocumentItemStdVH',
                     element: 'SalesDocumentItem' },
          additionalBinding: [{ localElement: 'ReferenceSDDocument',
                                element: 'SalesDocument' }]
        }]
      // ]--GENERATED

      @ObjectModel.foreignKey.association: '_ReferenceSDDocumentItem'
      SalesDocumentItem.ReferenceSDDocumentItem,
      @ObjectModel.foreignKey.association: '_ReferenceSDDocumentCategory'
      SalesDocumentItem.ReferenceSDDocumentCategory,
      @ObjectModel.foreignKey.association: '_HigherLevelItem'
      @Analytics.internalName: #LOCAL
      HigherLevelItem,
      SalesDocumentItem.BusinessSolutionOrderItem,
      SalesDocumentItem.BusSolnOrdItemBundleItem,
      
      //@ObjectModel.foreignKey.association: '_RetsMgmtProcessItem'

      SalesDocumentBasic.RetsMgmtProcess,

      //Status

      @ObjectModel.foreignKey.association: '_SDProcessStatus'
      SalesDocumentItem.SDProcessStatus,
      @ObjectModel.foreignKey.association: '_TotalDeliveryStatus'
      SalesDocumentItem.TotalDeliveryStatus,
      @ObjectModel.foreignKey.association: '_DeliveryStatus'
      SalesDocumentItem.DeliveryStatus,
      @ObjectModel.foreignKey.association: '_DeliveryBlockStatus'
      SalesDocumentItem.DeliveryBlockStatus,
      @ObjectModel.foreignKey.association: '_OrderRelatedBillingStatus'
      SalesDocumentItem.OrderRelatedBillingStatus,
      @ObjectModel.foreignKey.association: '_BillingBlockStatus'
      SalesDocumentItem.BillingBlockStatus,
      @ObjectModel.foreignKey.association: '_ItemGeneralIncompletionStatus'
      SalesDocumentItem.ItemGeneralIncompletionStatus,
      @ObjectModel.foreignKey.association: '_ItemBillingIncompletionStatus'
      SalesDocumentItem.ItemBillingIncompletionStatus,
      @ObjectModel.foreignKey.association: '_PricingIncompletionStatus'
      SalesDocumentItem.PricingIncompletionStatus,
      @ObjectModel.foreignKey.association: '_ItemDelivIncompletionSts'
      SalesDocumentItem.ItemDeliveryIncompletionStatus,
      @ObjectModel.foreignKey.association: '_SDDocumentRejectionStatus'
      SalesDocumentItem.SDDocumentRejectionStatus,
      @ObjectModel.foreignKey.association: '_TotalSDDocReferenceStatus'
      SalesDocumentItem.TotalSDDocReferenceStatus,
      
      //_ANA Fields

      @ObjectModel.foreignKey.association: '_CustomerReturnType'
      cast(SalesDocumentItem.SalesDocumentType as vdm_customer_return_type preserving type) as CustomerReturnType,
      @ObjectModel.foreignKey.association: '_SalesOrganization'
      SalesDocumentItem.SalesOrganization,
      @ObjectModel.foreignKey.association: '_DistributionChannel'
      SalesDocumentItem.DistributionChannel,
      @ObjectModel.foreignKey.association: '_OrganizationDivision'
      SalesDocumentItem.OrganizationDivision,
      @ObjectModel.foreignKey.association: '_SalesOffice'
      SalesDocumentItem.SalesOffice,
      @ObjectModel.foreignKey.association: '_SalesGroup'
      SalesDocumentItem.SalesGroup,
      @ObjectModel.foreignKey.association: '_SoldToParty'
      SalesDocumentItem.SoldToParty,
      @ObjectModel.foreignKey.association: '_AdditionalCustomerGroup1'
      SalesDocumentItem.AdditionalCustomerGroup1,
      @ObjectModel.foreignKey.association: '_AdditionalCustomerGroup2'
      SalesDocumentItem.AdditionalCustomerGroup2,
      @ObjectModel.foreignKey.association: '_AdditionalCustomerGroup3'
      SalesDocumentItem.AdditionalCustomerGroup3,
      @ObjectModel.foreignKey.association: '_AdditionalCustomerGroup4'
      SalesDocumentItem.AdditionalCustomerGroup4,
      @ObjectModel.foreignKey.association: '_AdditionalCustomerGroup5'
      SalesDocumentItem.AdditionalCustomerGroup5,
      SalesDocumentItem.SalesDocumentDate as CustomerReturnDate,
      @ObjectModel.foreignKey.association: '_SDDocumentReason'
      SalesDocumentItem.SDDocumentReason,
      SalesDocumentItem.RequestedDeliveryDate,
      @ObjectModel.foreignKey.association: '_ShippingCondition'
      SalesDocumentItem.ShippingCondition,
      // Analytics partner fields

      @ObjectModel.foreignKey.association: '_ShipToParty'
      SalesDocumentItem.ShipToParty,
      @ObjectModel.foreignKey.association: '_PayerParty'
      SalesDocumentItem.PayerParty,
      @ObjectModel.foreignKey.association: '_BillToParty'
      SalesDocumentItem.BillToParty,
      @ObjectModel.foreignKey.association: '_SalesEmployee'
      SalesDocumentItem.SalesEmployee,
      @ObjectModel.foreignKey.association: '_ResponsibleEmployee'
      SalesDocumentItem.ResponsibleEmployee,
      SalesDocumentItem.SalesEmployeeWorkAgreement,
      SalesDocumentItem.ResponsibleEmployeeWorkAgrmt,
      SalesDocumentItem.SalesDocumentCondition as CustomerReturnCondition,

      @ObjectModel.association.type: [#TO_COMPOSITION_PARENT,
                                     #TO_COMPOSITION_ROOT]
      _CustomerReturn,
      @ObjectModel.association.type: [#TO_COMPOSITION_CHILD]
      _ScheduleLine,
      SalesDocumentItem._Partner,

      SalesDocumentItem._ItemCategory,
      SalesDocumentItem._CreatedByUser,
      SalesDocumentItem._Division,

      SalesDocumentItem._OriginallyRequestedMaterial,
      SalesDocumentItem._ProductHierarchyNode,
      SalesDocumentItem._AdditionalMaterialGroup1,
      SalesDocumentItem._AdditionalMaterialGroup2,
      SalesDocumentItem._AdditionalMaterialGroup3,
      SalesDocumentItem._AdditionalMaterialGroup4,
      SalesDocumentItem._AdditionalMaterialGroup5,
      SalesDocumentItem._Plant,
      SalesDocumentItem._StorageLocation,

      SalesDocumentItem._OrderQuantityUnit,
      SalesDocumentItem._BaseUnit,
      SalesDocumentItem._RequestedQuantityUnit,
      SalesDocumentItem._ItemWeightUnit,
      SalesDocumentItem._ItemVolumeUnit,
      SalesDocumentItem._SalesDistrict,
      SalesDocumentItem._SalesDeal,
      SalesDocumentItem._CustomerGroup,
      SalesDocumentItem._SalesDocumentRjcnReason,
      SalesDocumentItem._ReturnReason,
      SalesDocumentItem._ReturnsRefundExtent,

      SalesDocumentItem._NetPriceQuantityUnit,
      SalesDocumentItem._TransactionCurrency,
      SalesDocumentItem._ShippingPoint,
      SalesDocumentItem._ShippingType,
      SalesDocumentItem._DeliveryPriority,
      SalesDocumentItem._IncotermsClassification,
      SalesDocumentItem._IncotermsVersion,
      SalesDocumentItem._ItemBillingBlockReason,
      SalesDocumentItem._ItemIsBillingRelevant,
      SalesDocumentItem._CustomerPaymentTerms,
      // _PaymentMethod,

      SalesDocumentItem._CustomerAccountAssgmtGroup,
      SalesDocumentItem._BusinessArea,
      SalesDocumentItem._WBSElementBasicData_2,
      SalesDocumentItem._MatlAccountAssignmentGroup,
      SalesDocumentItem._ProfitCenter,
      SalesDocumentItem._ControllingArea,

      SalesDocumentItem._ReferenceSDDocument,
      SalesDocumentItem._ReferenceSDDocumentItem,
      SalesDocumentItem._ReferenceSDDocumentCategory,
      _HigherLevelItem,   
      _RetsMgmtProcessItem,

      SalesDocumentItem._SDProcessStatus,
      SalesDocumentItem._TotalDeliveryStatus,
      SalesDocumentItem._DeliveryStatus,
      SalesDocumentItem._DeliveryBlockStatus,
      SalesDocumentItem._OrderRelatedBillingStatus,
      SalesDocumentItem._BillingBlockStatus,
      SalesDocumentItem._ItemGeneralIncompletionStatus,
      SalesDocumentItem._ItemBillingIncompletionStatus,
      SalesDocumentItem._PricingIncompletionStatus,
      SalesDocumentItem._ItemDelivIncompletionSts,
      SalesDocumentItem._SDDocumentRejectionStatus,
      SalesDocumentItem._TotalSDDocReferenceStatus,
      
      //_ANA associations

      _CustomerReturnType,
      SalesDocumentItem._SalesOrganization,
      SalesDocumentItem._DistributionChannel,
      SalesDocumentItem._OrganizationDivision,
      SalesDocumentItem._SalesOffice,
      SalesDocumentItem._SalesGroup,
      SalesDocumentItem._SoldToParty,
      SalesDocumentItem._AdditionalCustomerGroup1,
      SalesDocumentItem._AdditionalCustomerGroup2,
      SalesDocumentItem._AdditionalCustomerGroup3,
      SalesDocumentItem._AdditionalCustomerGroup4,
      SalesDocumentItem._AdditionalCustomerGroup5,
      SalesDocumentItem._SDDocumentReason,
      SalesDocumentItem._ShippingCondition,
      SalesDocumentItem._ShipToParty,
      SalesDocumentItem._PayerParty,
      SalesDocumentItem._BillToParty,
      SalesDocumentItem._SalesEmployee,
      SalesDocumentItem._ResponsibleEmployee,
      SalesDocumentItem._CustomerPurchaseOrderType,
      SalesDocumentItem._CustPurOrdTypeByShipToParty

}
where
  SalesDocumentItem.SDDocumentCategory = 'H';