A_SalesOrderItemSimulation

DDL: A_SALESORDERITEMSIMULATION Type: view COMPOSITE

Sales Order Item Simulation (API)

A_SalesOrderItemSimulation is a Composite CDS View that provides data about "Sales Order Item Simulation (API)" in SAP S/4HANA. It reads from 1 data source (I_SalesOrderItem) and exposes 82 fields with key fields SalesOrder, SalesOrderItem. It has 7 associations to related views.

Data Sources (1)

SourceAliasJoin Type
I_SalesOrderItem SalesOrderItem from

Associations (7)

CardinalityTargetAliasCondition
[1..1] I_SalesDocumentBasic _SalesDocument _SalesDocument.SalesDocument = $projection.SalesOrder
[1..1] A_SalesOrderSimulation _SalesOrder _SalesOrder.SalesOrder = $projection.SalesOrder
[0..*] A_SalesOrderScheduleLineSimln _ScheduleLine _ScheduleLine.SalesOrder = $projection.SalesOrder and _ScheduleLine.SalesOrderItem = $projection.SalesOrderItem
[0..*] A_SalesOrderItemPartnerSimln _Partner _Partner.SalesOrder = $projection.SalesOrder and _Partner.SalesOrderItem = $projection.SalesOrderItem
[0..*] A_SalesOrderItmPrcgElmntSimln _PricingElement _PricingElement.SalesOrder = $projection.SalesOrder and _PricingElement.SalesOrderItem = $projection.SalesOrderItem
[0..*] A_SlsOrdSimlnValAddedSrvc _ValueAddedService _ValueAddedService.SalesOrder = $projection.SalesOrder and _ValueAddedService.SalesOrderItem = $projection.SalesOrderItem
[0..1] E_SalesDocumentItemBasic _Extension $projection.SalesOrder = _Extension.SalesDocument and $projection.SalesOrderItem = _Extension.SalesDocumentItem

Annotations (11)

NameValueLevelField
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Sales Order Item Simulation (API) view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #PUBLIC_REMOTE_API view
AbapCatalog.sqlViewName ASOITMSIM view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
Metadata.ignorePropagatedAnnotations true view

Fields (82)

KeyFieldSource TableSource FieldDescription
KEY SalesOrder SalesOrder
KEY SalesOrderItem SalesOrderItem
HigherLevelItem HigherLevelItem
HigherLevelItemUsage HigherLevelItemUsage
SalesOrderItemCategory SalesOrderItemCategory
SalesOrderItemText SalesOrderItemText
PurchaseOrderByCustomer PurchaseOrderByCustomer
Material Material
OriginallyRequestedMaterial OriginallyRequestedMaterial
MaterialByCustomer MaterialByCustomer
PricingDate PricingDate
PricingReferenceMaterial PricingReferenceMaterial
RequestedQuantity RequestedQuantity
RequestedQuantityUnit RequestedQuantityUnit
RequestedQuantitySAPUnit
RequestedQuantityISOUnit
OrderQuantityUnit OrderQuantityUnit
OrderQuantitySAPUnit
OrderQuantityISOUnit
ConfdDelivQtyInOrderQtyUnit ConfdDelivQtyInOrderQtyUnit
ItemGrossWeight ItemGrossWeight
ItemNetWeight ItemNetWeight
ItemWeightUnit ItemWeightUnit
ItemWeightSAPUnit
ItemWeightISOUnit
ItemVolume ItemVolume
ItemVolumeUnit ItemVolumeUnit
ItemVolumeSAPUnit
ItemVolumeISOUnit
TransactionCurrency TransactionCurrency
NetAmount NetAmount
TaxAmount TaxAmount
CostAmount CostAmount
Subtotal1Amount Subtotal1Amount
Subtotal2Amount Subtotal2Amount
Subtotal3Amount Subtotal3Amount
Subtotal4Amount Subtotal4Amount
Subtotal5Amount Subtotal5Amount
Subtotal6Amount Subtotal6Amount
MaterialSubstitutionReason MaterialSubstitutionReason
MaterialGroup MaterialGroup
MaterialPricingGroup MaterialPricingGroup
Batch Batch
Plant Plant
StorageLocation StorageLocation
DeliveryGroup DeliveryGroup
ShippingPoint ShippingPoint
ShippingType ShippingType
DeliveryPriority DeliveryPriority
IncotermsClassification IncotermsClassification
IncotermsTransferLocation IncotermsTransferLocation
IncotermsLocation1 IncotermsLocation1
IncotermsLocation2 IncotermsLocation2
ProductTaxClassification1 ProductTaxClassification1
ProductTaxClassification2 ProductTaxClassification2
ProductTaxClassification3 ProductTaxClassification3
ProductTaxClassification4 ProductTaxClassification4
ProductTaxClassification5 ProductTaxClassification5
ProductTaxClassification6 ProductTaxClassification6
ProductTaxClassification7 ProductTaxClassification7
ProductTaxClassification8 ProductTaxClassification8
ProductTaxClassification9 ProductTaxClassification9
ReferenceSDDocument ReferenceSDDocument
ReferenceSDDocumentItem ReferenceSDDocumentItem
CustomerPaymentTerms CustomerPaymentTerms
SalesDocumentRjcnReason SalesDocumentRjcnReason
ProductSeasonYear ProductSeasonYear
ProductSeason ProductSeason
ProductCollection ProductCollection
ProductTheme ProductTheme
SeasonCompletenessStatus SeasonCompletenessStatus
FashionCancelDate FashionCancelDate
RequirementSegment RequirementSegment
SalesOrderType _SalesDocument SalesDocumentType
OrganizationDivision _SalesDocument OrganizationDivision
SalesOrganization _SalesDocument SalesOrganization
DistributionChannel _SalesDocument DistributionChannel
_SalesOrder _SalesOrder
_Partner _Partner
_PricingElement _PricingElement
_ScheduleLine _ScheduleLine
_ValueAddedService _ValueAddedService
@ClientHandling.algorithm:#SESSION_VARIABLE
@EndUserText.label: 'Sales Order Item Simulation (API)'
@VDM: {
  viewType: #COMPOSITE,
  lifecycle.contract.type: #PUBLIC_REMOTE_API
}
@AbapCatalog: {
  sqlViewName: 'ASOITMSIM',
  compiler.compareFilter: true
}
@AccessControl: {
  authorizationCheck: #CHECK,
  personalData.blocking: #('TRANSACTIONAL_DATA')
}
@ObjectModel: {
   usageType: {
     dataClass:      #TRANSACTIONAL,
     serviceQuality: #C,
     sizeCategory:   #XL
   }
}
@Metadata.ignorePropagatedAnnotations: true

define view A_SalesOrderItemSimulation
  as select from I_SalesOrderItem as SalesOrderItem

  association [1..1] to I_SalesDocumentBasic          as _SalesDocument     on  _SalesDocument.SalesDocument = $projection.SalesOrder

  association [1..1] to A_SalesOrderSimulation        as _SalesOrder        on  _SalesOrder.SalesOrder = $projection.SalesOrder

  association [0..*] to A_SalesOrderScheduleLineSimln as _ScheduleLine      on  _ScheduleLine.SalesOrder     = $projection.SalesOrder
                                                                            and _ScheduleLine.SalesOrderItem = $projection.SalesOrderItem

  association [0..*] to A_SalesOrderItemPartnerSimln  as _Partner           on  _Partner.SalesOrder     = $projection.SalesOrder
                                                                            and _Partner.SalesOrderItem = $projection.SalesOrderItem

  association [0..*] to A_SalesOrderItmPrcgElmntSimln as _PricingElement    on  _PricingElement.SalesOrder     = $projection.SalesOrder
                                                                            and _PricingElement.SalesOrderItem = $projection.SalesOrderItem

  // RFM enhancement : value-added services

  association [0..*] to A_SlsOrdSimlnValAddedSrvc     as _ValueAddedService on  _ValueAddedService.SalesOrder     = $projection.SalesOrder
                                                                            and _ValueAddedService.SalesOrderItem = $projection.SalesOrderItem

  //    Extensibility

  association [0..1] to E_SalesDocumentItemBasic      as _Extension         on  $projection.SalesOrder     = _Extension.SalesDocument
                                                                            and $projection.SalesOrderItem = _Extension.SalesDocumentItem

{
       @ObjectModel.readOnly: true
  key  SalesOrder,

       @ObjectModel.text.element: 'SalesOrderItemText'
  key  SalesOrderItem,

       HigherLevelItem,

       @ObjectModel.readOnly: true
       HigherLevelItemUsage,

       SalesOrderItemCategory,

       @Semantics.text: true
       SalesOrderItemText,

       PurchaseOrderByCustomer,

       Material,

       @ObjectModel.readOnly: true
       OriginallyRequestedMaterial,

       MaterialByCustomer,

       PricingDate,

       PricingReferenceMaterial,

       @Semantics.quantity.unitOfMeasure: 'RequestedQuantityUnit'
       @Semantics.quantity.unitOfMeasureSapCode: 'RequestedQuantitySAPUnit'
       @Semantics.quantity.unitOfMeasureIsoCode: 'RequestedQuantityISOUnit'
       RequestedQuantity,

       @Semantics.unitOfMeasure: true
       RequestedQuantityUnit,
       cast(_RequestedQuantityUnit.UnitOfMeasureSAPCode as sd_reqd_qty_sapunit preserving type) as RequestedQuantitySAPUnit,
       cast(_RequestedQuantityUnit.UnitOfMeasureISOCode as sd_reqd_qty_isounit preserving type) as RequestedQuantityISOUnit,

       @Semantics.unitOfMeasure: true
       @ObjectModel.readOnly: true
       OrderQuantityUnit,

       @ObjectModel.readOnly: true
       cast(_OrderQuantityUnit.UnitOfMeasureSAPCode as sd_ord_qty_sapunit preserving type)      as OrderQuantitySAPUnit,

       @ObjectModel.readOnly: true
       cast(_OrderQuantityUnit.UnitOfMeasureISOCode as sd_ord_qty_isounit preserving type)      as OrderQuantityISOUnit,

       @ObjectModel.readOnly: true
       @Semantics.quantity.unitOfMeasure: 'OrderQuantityUnit'
       @Semantics.quantity.unitOfMeasureSapCode: 'OrderQuantitySAPUnit'
       @Semantics.quantity.unitOfMeasureIsoCode: 'OrderQuantityISOUnit'
       ConfdDelivQtyInOrderQtyUnit,

       @ObjectModel.readOnly: true
       @Semantics.quantity.unitOfMeasure: 'ItemWeightUnit'
       @Semantics.quantity.unitOfMeasureSapCode: 'ItemWeightSAPUnit'
       @Semantics.quantity.unitOfMeasureIsoCode: 'ItemWeightISOUnit'
       ItemGrossWeight,

       @ObjectModel.readOnly: true
       @Semantics.quantity.unitOfMeasure: 'ItemWeightUnit'
       @Semantics.quantity.unitOfMeasureSapCode: 'ItemWeightSAPUnit'
       @Semantics.quantity.unitOfMeasureIsoCode: 'ItemWeightISOUnit'
       ItemNetWeight,

       @Semantics.unitOfMeasure: true
       @ObjectModel.readOnly: true
       ItemWeightUnit,

       @ObjectModel.readOnly: true
       cast(_ItemWeightUnit.UnitOfMeasureSAPCode as sd_itm_wgt_sapunit preserving type)         as ItemWeightSAPUnit,

       @ObjectModel.readOnly: true
       cast(_ItemWeightUnit.UnitOfMeasureISOCode as sd_itm_wgt_isounit preserving type)         as ItemWeightISOUnit,

       @Semantics.quantity.unitOfMeasure: 'ItemVolumeUnit'
       @Semantics.quantity.unitOfMeasureSapCode: 'ItemVolumeSAPUnit'
       @Semantics.quantity.unitOfMeasureIsoCode: 'ItemVolumeISOUnit'
       @ObjectModel.readOnly: true
       ItemVolume,

       @Semantics.unitOfMeasure: true
       @ObjectModel.readOnly: true
       ItemVolumeUnit,

       @ObjectModel.readOnly: true
       cast(_ItemVolumeUnit.UnitOfMeasureSAPCode as sd_itm_vol_sapunit preserving type)         as ItemVolumeSAPUnit,

       @ObjectModel.readOnly: true
       cast(_ItemVolumeUnit.UnitOfMeasureISOCode as sd_itm_vol_isounit preserving type)         as ItemVolumeISOUnit,

       @Semantics.currencyCode: true
       @ObjectModel.readOnly: true
       TransactionCurrency,

       @Semantics.amount.currencyCode: 'TransactionCurrency'
       @ObjectModel.readOnly: true
       NetAmount,

       @Semantics.amount.currencyCode: 'TransactionCurrency'
       @ObjectModel.readOnly: true
       TaxAmount,

       @Semantics.amount.currencyCode: 'TransactionCurrency'
       @ObjectModel.readOnly: true
       CostAmount,

       @Semantics.amount.currencyCode: 'TransactionCurrency'
       @ObjectModel.readOnly: true
       Subtotal1Amount,

       @Semantics.amount.currencyCode: 'TransactionCurrency'
       @ObjectModel.readOnly: true
       Subtotal2Amount,

       @Semantics.amount.currencyCode: 'TransactionCurrency'
       @ObjectModel.readOnly: true
       Subtotal3Amount,

       @Semantics.amount.currencyCode: 'TransactionCurrency'
       @ObjectModel.readOnly: true
       Subtotal4Amount,

       @Semantics.amount.currencyCode: 'TransactionCurrency'
       @ObjectModel.readOnly: true
       Subtotal5Amount,

       @Semantics.amount.currencyCode: 'TransactionCurrency'
       @ObjectModel.readOnly: true
       Subtotal6Amount,

       @ObjectModel.readOnly: true
       MaterialSubstitutionReason,

       MaterialGroup,
       MaterialPricingGroup,
       Batch,
       Plant,
       StorageLocation,
       DeliveryGroup,
       ShippingPoint,
       ShippingType,
       DeliveryPriority,

       IncotermsClassification,
       IncotermsTransferLocation,
       IncotermsLocation1,
       IncotermsLocation2,

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

       ReferenceSDDocument,
       ReferenceSDDocumentItem,

       CustomerPaymentTerms,

       SalesDocumentRjcnReason,

       //Fashion Enhancement

       @Feature:'SW:RFM_SEASON_UI'
       ProductSeasonYear,
       @Feature:'SW:RFM_SEASON_UI'
       ProductSeason,
       @Feature:'SW:RFM_SEASON_UI'
       ProductCollection,
       @Feature:'SW:RFM_SEASON_UI'
       ProductTheme,
       @ObjectModel.readOnly: true
       @Feature:'SW:RFM_SEASON_UI'
       SeasonCompletenessStatus,
       @Feature:'SW:RFM_FSH_WHSL_UI'
       FashionCancelDate,
       @Feature:'SW:RFM_SEGMTN_UI'
       RequirementSegment,

       // For Access control

       @Consumption.hidden: true
       _SalesDocument.SalesDocumentType                                                         as SalesOrderType,

       @Consumption.hidden: true
       _SalesDocument.OrganizationDivision,

       @Consumption.hidden: true
       _SalesDocument.SalesOrganization,

       @Consumption.hidden: true
       _SalesDocument.DistributionChannel,

       //Expose own associations

       _SalesOrder,
       _Partner,
       _PricingElement,
       _ScheduleLine,

       // RFM enhancement : value-added service

       @Feature:'SW:RFM_VAS_UI'
       _ValueAddedService
}
where
  SalesOrderItem.SalesOrder = '0'