A_SalesOrderItemText

DDL: A_SALESORDERITEMTEXT Type: view COMPOSITE Package: ODATA_SD_SALESORDER_API

Item Text

A_SalesOrderItemText is a Composite CDS View that provides data about "Item Text" in SAP S/4HANA. It reads from 2 data sources (P_SalesDocumentItemText, I_SalesDocumentBasic) and exposes 11 fields with key fields SalesOrder, SalesOrderItem, Language, LongTextID. It has 2 associations to related views. Part of development package ODATA_SD_SALESORDER_API.

Data Sources (2)

SourceAliasJoin Type
P_SalesDocumentItemText P_SalesDocumentItemText from
I_SalesDocumentBasic SalesDocumentBasic inner

Associations (2)

CardinalityTargetAliasCondition
[1..1] A_SalesOrder _SalesOrder _SalesOrder.SalesOrder = $projection.SalesOrder
[1..1] A_SalesOrderItem _SalesOrderItem $projection.SalesOrder = _SalesOrderItem.SalesOrder and $projection.SalesOrderItem = _SalesOrderItem.SalesOrderItem

Annotations (14)

NameValueLevelField
ClientHandling.algorithm #SESSION_VARIABLE view
EndUserText.label Item Text view
VDM.viewType #COMPOSITE view
VDM.lifecycle.contract.type #PUBLIC_REMOTE_API view
AbapCatalog.sqlViewName ASOITEXT view
AbapCatalog.compiler.compareFilter true view
AccessControl.authorizationCheck #CHECK view
ObjectModel.createEnabled true view
ObjectModel.updateEnabled true view
ObjectModel.deleteEnabled true view
ObjectModel.usageType.dataClass #TRANSACTIONAL view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #L view
Metadata.ignorePropagatedAnnotations true view

Fields (11)

KeyFieldSource TableSource FieldDescription
KEY SalesOrder
KEY SalesOrderItem
KEY Language Language
KEY LongTextID LongTextID
LongText LongText
SalesOrderType I_SalesDocumentBasic SalesDocumentType
OrganizationDivision I_SalesDocumentBasic OrganizationDivision
SalesOrganization I_SalesDocumentBasic SalesOrganization
DistributionChannel I_SalesDocumentBasic DistributionChannel
_SalesOrder _SalesOrder
_SalesOrderItem _SalesOrderItem
@ClientHandling.algorithm:#SESSION_VARIABLE
@EndUserText.label: 'Item Text'
@VDM: {
  viewType: #COMPOSITE,
  lifecycle.contract.type: #PUBLIC_REMOTE_API
}
@AbapCatalog: {
  sqlViewName: 'ASOITEXT',
  compiler.compareFilter: true
}
@AccessControl: {
  authorizationCheck: #CHECK,
  personalData.blocking: #('TRANSACTIONAL_DATA')
}
@ObjectModel: {
   createEnabled: true,
   updateEnabled: true,
   deleteEnabled: true,
   usageType: {
     dataClass:      #TRANSACTIONAL,
     serviceQuality: #C,
     sizeCategory:   #L
   }
}
@Metadata.ignorePropagatedAnnotations: true


define view A_SalesOrderItemText
  as select from P_SalesDocumentItemText( P_SAPClient : $session.client ) as SalesOrderItemText
    inner join   I_SalesDocumentBasic                                     as SalesDocumentBasic on  SalesDocumentBasic.SalesDocument = SalesOrderItemText.SalesDocument
                                                                                                and SDDocumentCategory               = 'C'
  association [1..1] to A_SalesOrder     as _SalesOrder     on  _SalesOrder.SalesOrder = $projection.SalesOrder
  association [1..1] to A_SalesOrderItem as _SalesOrderItem on  $projection.SalesOrder     = _SalesOrderItem.SalesOrder
                                                            and $projection.SalesOrderItem = _SalesOrderItem.SalesOrderItem
{

      @ObjectModel.readOnly: true
  key cast(SalesDocumentBasic.SalesDocument as vdm_sales_order preserving type)      as SalesOrder,

      @ObjectModel.readOnly: true
  key cast(SalesOrderItemText.SalesDocumentItem as sales_order_item preserving type) as SalesOrderItem,

  key Language,
  key LongTextID, 
      @ObjectModel.virtualElement
      @ObjectModel.virtualElementCalculatedBy: 'ABAP:CL_SD_S4H_STXL_SALESORDER'
      LongText,

      // For Access control

      @Consumption.hidden: true
      SalesDocumentBasic.SalesDocumentType                                           as SalesOrderType,
      //_SalesOrder.SalesOrderType,

      @Consumption.hidden: true
      SalesDocumentBasic.OrganizationDivision,
      @Consumption.hidden: true
      SalesDocumentBasic.SalesOrganization,
      @Consumption.hidden: true
      SalesDocumentBasic.DistributionChannel,

      // Expose own associations

      _SalesOrder,
      _SalesOrderItem

}