I_OverdueSalesOrder

DDL: I_OVERDUESALESORDER SQL: ISDOVRDSLSORDER Type: view COMPOSITE

Overdue Sales Order

I_OverdueSalesOrder is a Composite CDS View that provides data about "Overdue Sales Order" in SAP S/4HANA. It reads from 2 data sources (P_OverdueSalesOrderUnion, I_SalesDocumentBasic) and exposes 19 fields with key fields SalesOrder, Issue.

Data Sources (2)

SourceAliasJoin Type
P_OverdueSalesOrderUnion IssueUnion from
I_SalesDocumentBasic SalesDocument left_outer

Parameters (2)

NameTypeDefault
P_ExchangeRateType kurst
P_DisplayCurrency vdm_v_display_currency

Annotations (8)

NameValueLevelField
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #S view
EndUserText.label Overdue Sales Order view
VDM.viewType #COMPOSITE view
AccessControl.authorizationCheck #CHECK view
AbapCatalog.sqlViewName ISDOVRDSLSORDER view

Fields (19)

KeyFieldSource TableSource FieldDescription
KEY SalesOrder SalesOrder
KEY Issue Issue
_Issue _Issue
SalesOrderType I_SalesDocumentBasic SalesDocumentType
SoldToParty I_SalesDocumentBasic SoldToParty
_SoldToParty I_SalesDocumentBasic _SoldToParty
SalesOrganization I_SalesDocumentBasic SalesOrganization
_SalesOrganization I_SalesDocumentBasic _SalesOrganization
DistributionChannel I_SalesDocumentBasic DistributionChannel
_DistributionChannel I_SalesDocumentBasic _DistributionChannel
OrganizationDivision I_SalesDocumentBasic OrganizationDivision
_OrganizationDivision I_SalesDocumentBasic _OrganizationDivision
SalesOffice I_SalesDocumentBasic SalesOffice
_SalesOffice I_SalesDocumentBasic _SalesOffice
SalesGroup I_SalesDocumentBasic SalesGroup
_SalesGroup I_SalesDocumentBasic _SalesGroup
NumberOfSalesOrders NumberOfSalesOrders
DisplayCurrency
trueasTotalNetAmountInDisplayCrcy
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #S
@EndUserText.label: 'Overdue Sales Order'
@VDM.viewType: #COMPOSITE
@AccessControl.authorizationCheck: #CHECK
@AbapCatalog.sqlViewName: 'ISDOVRDSLSORDER'

define view I_OverdueSalesOrder
with parameters
  P_ExchangeRateType: kurst,
  P_DisplayCurrency: vdm_v_display_currency
as select from P_OverdueSalesOrderUnion as IssueUnion
left outer join I_SalesDocumentBasic as SalesDocument
  on IssueUnion.SalesOrder = SalesDocument.SalesDocument
association[0..1] to I_Issue as _Issue
  on $projection.Issue = _Issue.Issue 
{ 
  key SalesOrder,
  
  @ObjectModel.foreignKey.association: '_Issue'
  key Issue,
  _Issue,
  
  SalesDocument.SalesDocumentType as SalesOrderType,
   
  @ObjectModel.foreignKey.association: '_SoldToParty'
  SalesDocument.SoldToParty,
  SalesDocument._SoldToParty,
  @ObjectModel.foreignKey.association: '_SalesOrganization'
  SalesDocument.SalesOrganization,
  SalesDocument._SalesOrganization,
  @ObjectModel.foreignKey.association: '_DistributionChannel'
  SalesDocument.DistributionChannel,
  SalesDocument._DistributionChannel,
  @ObjectModel.foreignKey.association: '_OrganizationDivision'
  SalesDocument.OrganizationDivision,
  SalesDocument._OrganizationDivision,
  @ObjectModel.foreignKey.association: '_SalesOffice'
  SalesDocument.SalesOffice,
  SalesDocument._SalesOffice,
  @ObjectModel.foreignKey.association: '_SalesGroup'
  SalesDocument.SalesGroup,
  SalesDocument._SalesGroup,

  @DefaultAggregation: #SUM
  NumberOfSalesOrders,
  
  @Semantics.currencyCode: true
  cast(:P_DisplayCurrency as vdm_v_display_currency) as  DisplayCurrency,

  @DefaultAggregation: #SUM
  @Semantics.amount.currencyCode: 'DisplayCurrency'  
  currency_conversion(
    amount => SalesDocument.TotalNetAmount,
    source_currency => TransactionCurrency,
    target_currency => :P_DisplayCurrency,
    exchange_rate_date => cast($session.system_date as abap.dats),
    exchange_rate_type => :P_ExchangeRateType,
    error_handling => 'FAIL_ON_ERROR',
    round => #CDSBoolean.true,
    decimal_shift => #CDSBoolean.true,
    decimal_shift_back => #CDSBoolean.true
  ) as TotalNetAmountInDisplayCrcy
}
where DueDays <= 0
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_SALESDOCUMENTBASIC",
"P_OVERDUESALESORDERUNION"
],
"ASSOCIATED":
[
"I_CUSTOMER",
"I_DISTRIBUTIONCHANNEL",
"I_DIVISION",
"I_ISSUE",
"I_SALESGROUP",
"I_SALESOFFICE",
"I_SALESORGANIZATION"
],
"BASE":
[
"I_SALESDOCUMENTBASIC"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/