I_SlsDocSchedLineAnalytics

DDL: I_SLSDOCSCHEDLINEANALYTICS SQL: ISDSCHEDLINENANA Type: view COMPOSITE

Sales Document Schedule Line Analytics

I_SlsDocSchedLineAnalytics is a Composite CDS View that provides data about "Sales Document Schedule Line Analytics" in SAP S/4HANA. It reads from 1 data source (I_SalesDocumentScheduleLine) and exposes 74 fields with key fields SalesDocument, SalesDocumentItem, ScheduleLine. It has 1 association to related views.

Data Sources (1)

SourceAliasJoin Type
I_SalesDocumentScheduleLine SL from

Associations (1)

CardinalityTargetAliasCondition
[0..1] I_Currency _StatisticsCurrency $projection.StatisticsCurrency = _StatisticsCurrency.Currency

Annotations (9)

NameValueLevelField
ClientHandling.algorithm #SESSION_VARIABLE view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.usageType.serviceQuality #D view
ObjectModel.usageType.sizeCategory #XL view
EndUserText.label Sales Document Schedule Line Analytics view
VDM.viewType #COMPOSITE view
AccessControl.authorizationCheck #CHECK view
AccessControl.personalData.blocking #BLOCKED_DATA_EXCLUDED view
AbapCatalog.sqlViewName ISDSCHEDLINENANA view

Fields (74)

KeyFieldSource TableSource FieldDescription
KEY SalesDocument SalesDocument
KEY SalesDocumentItem SalesDocumentItem
KEY ScheduleLine ScheduleLine
SalesOrganization _SalesDocument SalesOrganization
DistributionChannel _SalesDocument DistributionChannel
OrganizationDivision _SalesDocument OrganizationDivision
SDDocumentCategory _SalesDocument SDDocumentCategory
_SDDocumentCategory _SalesDocument _SDDocumentCategory
Material _SalesDocumentItem Material
Product _SalesDocumentItem Product
OriginallyRequestedMaterial _SalesDocumentItem OriginallyRequestedMaterial
InternationalArticleNumber _SalesDocumentItem InternationalArticleNumber
Batch
ProductHierarchyNode _SalesDocumentItem ProductHierarchyNode
MaterialGroup _SalesDocumentItem MaterialGroup
ProductGroup _SalesDocumentItem ProductGroup
AdditionalMaterialGroup1 _SalesDocumentItem AdditionalMaterialGroup1
AdditionalMaterialGroup2 _SalesDocumentItem AdditionalMaterialGroup2
AdditionalMaterialGroup3 _SalesDocumentItem AdditionalMaterialGroup3
AdditionalMaterialGroup4 _SalesDocumentItem AdditionalMaterialGroup4
AdditionalMaterialGroup5 _SalesDocumentItem AdditionalMaterialGroup5
ProfitCenter _SalesDocumentItem ProfitCenter
SalesOffice _SalesDocument SalesOffice
SalesGroup _SalesDocument SalesGroup
SoldToParty _SalesDocument SoldToParty
SoldToPartyName
CustomerGroup _SalesDocument CustomerGroup
AdditionalCustomerGroup1
_AdditionalCustomerGroup1 _SalesDocument _AdditionalCustomerGroup1
AdditionalCustomerGroup2 _SalesDocument AdditionalCustomerGroup2
_AdditionalCustomerGroup2 _SalesDocument _AdditionalCustomerGroup2
AdditionalCustomerGroup3 _SalesDocument AdditionalCustomerGroup3
_AdditionalCustomerGroup3 _SalesDocument _AdditionalCustomerGroup3
AdditionalCustomerGroup4 _SalesDocument AdditionalCustomerGroup4
_AdditionalCustomerGroup4 _SalesDocument _AdditionalCustomerGroup4
AdditionalCustomerGroup5 _SalesDocument AdditionalCustomerGroup5
_AdditionalCustomerGroup5 _SalesDocument _AdditionalCustomerGroup5
SoldToPartyClassification
SalesDistrict _SalesDocument SalesDistrict
SalesDocumentType _SalesDocument SalesDocumentType
DCLCheckSalesDocumentGoodsIssueDate
CreationDate
OpenSlsOrdersForDelivNetAmount
OpenSlsOrdersForDelivNetAmount
TransactionCurrency TransactionCurrency
OpnSlsOrdrsForDelivQuantity
BaseUnit BaseUnit
_SalesDocument _SalesDocument
_SalesDocumentItem _SalesDocumentItem
_SalesOrganization _SalesDocument _SalesOrganization
_CustomerGroup _SalesDocument _CustomerGroup
_BaseUnit _BaseUnit
_AdditionalMaterialGroup1 _SalesDocumentItem _AdditionalMaterialGroup1
_AdditionalMaterialGroup2 _SalesDocumentItem _AdditionalMaterialGroup2
_AdditionalMaterialGroup3 _SalesDocumentItem _AdditionalMaterialGroup3
_AdditionalMaterialGroup4 _SalesDocumentItem _AdditionalMaterialGroup4
_AdditionalMaterialGroup5 _SalesDocumentItem _AdditionalMaterialGroup5
_OrganizationDivision _SalesDocument _OrganizationDivision
_DistributionChannel _SalesDocument _DistributionChannel
_Material _SalesDocumentItem _Material
_Product _SalesDocumentItem _Product
_ProductText _SalesDocumentItem _ProductText
_MaterialGroup _SalesDocumentItem _MaterialGroup
_ProductGroup _SalesDocumentItem _ProductGroup
_SalesOffice _SalesDocument _SalesOffice
_SalesGroup _SalesDocument _SalesGroup
_SalesDistrict _SalesDocument _SalesDistrict
_SoldToParty _SalesDocument _SoldToParty
_CustomerClassification
ShippingPoint _SalesDocumentItem ShippingPoint
_ShippingPoint _SalesDocumentItem _ShippingPoint
_StatisticsCurrency _StatisticsCurrency
_TransactionCurrency _TransactionCurrency
_OriginallyRequestedMaterial _SalesDocumentItem _OriginallyRequestedMaterial
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.dataClass: #MIXED
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XL
@EndUserText.label: 'Sales Document Schedule Line Analytics'    
@VDM.viewType: #COMPOSITE
@AccessControl.authorizationCheck:#CHECK
@AccessControl.personalData.blocking: #BLOCKED_DATA_EXCLUDED
@AbapCatalog.sqlViewName: 'ISDSCHEDLINENANA'

define view I_SlsDocSchedLineAnalytics   
  
as select from        I_SalesDocumentScheduleLine as SL  
association [0..1] to I_Currency  as _StatisticsCurrency            on  $projection.StatisticsCurrency = _StatisticsCurrency.Currency
{
// Key

   @ObjectModel.foreignKey.association: '_SalesDocument'
   key SalesDocument,
   key SalesDocumentItem,
   key ScheduleLine,

//Dimensions

  //Organization

  @ObjectModel.foreignKey.association: '_SalesOrganization'
  _SalesDocument.SalesOrganization,
  @ObjectModel.foreignKey.association: '_DistributionChannel'
  _SalesDocument.DistributionChannel,
  @ObjectModel.foreignKey.association: '_OrganizationDivision'
  _SalesDocument.OrganizationDivision,
  
  // ----- Category -----

  @ObjectModel.foreignKey.association: '_SDDocumentCategory'
  _SalesDocument.SDDocumentCategory,
  _SalesDocument._SDDocumentCategory,
   
  //Product       

  //Product       --AT*2 17.2.2020 add Product

  @ObjectModel.foreignKey.association: '_Material'
  @VDM.lifecycle: { status: #DEPRECATED, successor: 'Product' } 
  _SalesDocumentItem.Material,
  @ObjectModel.text.association: '_ProductText'
  @Analytics.internalName: #LOCAL
  @ObjectModel.foreignKey.association: '_Product'
  _SalesDocumentItem.Product,
  
  @ObjectModel.foreignKey.association: '_OriginallyRequestedMaterial'
  _SalesDocumentItem.OriginallyRequestedMaterial,
  _SalesDocumentItem.InternationalArticleNumber,
  --@ObjectModel.foreignKey.association: '_PricingReferenceMaterial'
  _SalesDocumentItem.Batch,
  _SalesDocumentItem.ProductHierarchyNode,
  
  @ObjectModel.foreignKey.association: '_MaterialGroup'
  @VDM.lifecycle: { status: #DEPRECATED, successor: 'ProductGroup' }  
  _SalesDocumentItem.MaterialGroup,
  @Analytics.internalName: #LOCAL
  @ObjectModel.foreignKey.association: '_ProductGroup'
  _SalesDocumentItem.ProductGroup,  
  
  @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,
  _SalesDocumentItem.ProfitCenter,
  
  //Team View

  @ObjectModel.foreignKey.association: '_SalesOffice'
  _SalesDocument.SalesOffice,
  @ObjectModel.foreignKey.association: '_SalesGroup'
  _SalesDocument.SalesGroup,
  
  //Customer

  @ObjectModel.foreignKey.association: '_SoldToParty'
  _SalesDocument.SoldToParty,
  cast(_SalesDocument._SoldToParty.CustomerName as vdm_sold_to_name) as SoldToPartyName,
  @ObjectModel.foreignKey.association: '_CustomerGroup'
  _SalesDocument.CustomerGroup,
   --AT 29.04.2019: AdditionalCustomerGroup1..5 added
  @ObjectModel.foreignKey.association: '_AdditionalCustomerGroup1'
  _SalesDocument.AdditionalCustomerGroup1,
  _SalesDocument._AdditionalCustomerGroup1,
  @ObjectModel.foreignKey.association: '_AdditionalCustomerGroup2'
  _SalesDocument.AdditionalCustomerGroup2,
  _SalesDocument._AdditionalCustomerGroup2,
  @ObjectModel.foreignKey.association: '_AdditionalCustomerGroup3'
  _SalesDocument.AdditionalCustomerGroup3,
  _SalesDocument._AdditionalCustomerGroup3,
  @ObjectModel.foreignKey.association: '_AdditionalCustomerGroup4'
  _SalesDocument.AdditionalCustomerGroup4,
  _SalesDocument._AdditionalCustomerGroup4,
  @ObjectModel.foreignKey.association: '_AdditionalCustomerGroup5'
  _SalesDocument.AdditionalCustomerGroup5,
  _SalesDocument._AdditionalCustomerGroup5,
  
  _SalesDocument._SoldToParty.CustomerClassification   as SoldToPartyClassification, 
  
  //Geographics

  @ObjectModel.foreignKey.association: '_SalesDistrict'
  _SalesDocument.SalesDistrict,
  
  // Misc Attributes (for DCL, I_CalenderDate-join)

  _SalesDocument.SalesDocumentType,  -- DCL Check SalesDocument
  GoodsIssueDate,                    -- For Join with I_CalendarDate & CurrencyConversion
  DeliveryDate,                      -- Fallback for GoodsIssueDate
  _SalesDocumentItem.CreationDate,

//Measures   

  @DefaultAggregation: #SUM
  @Semantics.amount.currencyCode: 'TransactionCurrency'
  --cast( OpenDeliveryNetAmount as tdd_odn_amount )      as OpenSlsOrdersForDelivNetAmount,
  cast( OpenDeliveryNetAmount as opn_ord_for_del_amt_itc )      as OpenSlsOrdersForDelivNetAmount,

       
  @Semantics.currencyCode: true
  @ObjectModel.foreignKey.association: '_TransactionCurrency'
  TransactionCurrency,
   
  @Semantics.currencyCode: true
  @ObjectModel.foreignKey.association: '_StatisticsCurrency' --'_StatisticsCurrency'
  _SalesDocument._SalesOrganization.SalesOrganizationCurrency as StatisticsCurrency,
  --Note: take statistical currency from central tvko (versus document)
  
  @DefaultAggregation: #SUM
  @Semantics.quantity.unitOfMeasure: 'BaseUnit'
  --cast( OpenConfdDelivQtyInBaseUnit as mc_oaume )      as OpnSlsOrdrsForDelivQuantity,
   cast( OpenConfdDelivQtyInBaseUnit as opn_ord_for_del_qty )      as OpnSlsOrdrsForDelivQuantity,
  
  @Semantics.unitOfMeasure: true
  @ObjectModel.foreignKey.association: '_BaseUnit'
  BaseUnit,   

//Associations

  _SalesDocument,
  _SalesDocumentItem,
  _SalesDocument._SalesOrganization,
  _SalesDocument._CustomerGroup,
  _BaseUnit,
  _SalesDocumentItem._AdditionalMaterialGroup1,
  _SalesDocumentItem._AdditionalMaterialGroup2,
  _SalesDocumentItem._AdditionalMaterialGroup3,
  _SalesDocumentItem._AdditionalMaterialGroup4,
  _SalesDocumentItem._AdditionalMaterialGroup5,
  _SalesDocument._OrganizationDivision,
  _SalesDocument._DistributionChannel,
   @VDM.lifecycle: { status: #DEPRECATED, successor: '_Product' }
  _SalesDocumentItem._Material,
  _SalesDocumentItem._Product,
  _SalesDocumentItem._ProductText,
  @VDM.lifecycle: { status: #DEPRECATED, successor: '_ProductGroup' }
  _SalesDocumentItem._MaterialGroup,
  _SalesDocumentItem._ProductGroup,
  _SalesDocument._SalesOffice,
  _SalesDocument._SalesGroup,
  _SalesDocument._SalesDistrict,
  _SalesDocument._SoldToParty,
  _SalesDocument._SoldToParty._CustomerClassification,
  @ObjectModel.foreignKey.association: '_ShippingPoint'
  _SalesDocumentItem.ShippingPoint,
  _SalesDocumentItem._ShippingPoint,
  _StatisticsCurrency,
  _TransactionCurrency,
  _SalesDocumentItem._OriginallyRequestedMaterial
} 
where 
    _SalesDocumentItem.StatisticalValueControl = ''            and
    _SalesDocumentItem.IsReturnsItem = ''               and _SalesDocumentItem.ItemIsBillingRelevant != ''    and
    ( _SalesDocumentItem.ItemIsBillingRelevant = 'A' or  _SalesDocumentItem.ItemIsBillingRelevant = 'H' or 
      _SalesDocumentItem.ItemIsBillingRelevant = 'J' or _SalesDocumentItem.ItemIsBillingRelevant = 'K' or 
      _SalesDocumentItem.ItemIsBillingRelevant = 'M' or _SalesDocumentItem.ItemIsBillingRelevant = 'O' or 
      _SalesDocumentItem.ItemIsBillingRelevant = 'P' or _SalesDocumentItem.ItemIsBillingRelevant = 'Q' or 
      _SalesDocumentItem.ItemIsBillingRelevant = 'R' or _SalesDocumentItem.ItemIsBillingRelevant = 'T' or 
      _SalesDocumentItem.ItemIsBillingRelevant = 'U' or _SalesDocumentItem.ItemIsBillingRelevant = 'V' or 
      _SalesDocumentItem.ItemIsBillingRelevant = 'W' )    and 
   (_SalesDocumentItem.TotalDeliveryStatus = 'A'        or  _SalesDocumentItem.TotalDeliveryStatus = 'B')  and 
    _SalesDocumentItem.SDDocumentRejectionStatus != 'C'      and
    OpenDeliveryNetAmount > 0               
                                            
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
 /*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_CUSTOMER",
"I_SALESDOCUMENT",
"I_SALESDOCUMENTITEM",
"I_SALESDOCUMENTSCHEDULELINE",
"I_SALESORGANIZATION"
],
"ASSOCIATED":
[
"I_ADDITIONALCUSTOMERGROUP1",
"I_ADDITIONALCUSTOMERGROUP2",
"I_ADDITIONALCUSTOMERGROUP3",
"I_ADDITIONALCUSTOMERGROUP4",
"I_ADDITIONALCUSTOMERGROUP5",
"I_ADDITIONALMATERIALGROUP1",
"I_ADDITIONALMATERIALGROUP2",
"I_ADDITIONALMATERIALGROUP3",
"I_ADDITIONALMATERIALGROUP4",
"I_ADDITIONALMATERIALGROUP5",
"I_CURRENCY",
"I_CUSTOMER",
"I_CUSTOMERCLASSIFICATION",
"I_CUSTOMERGROUP",
"I_DISTRIBUTIONCHANNEL",
"I_DIVISION",
"I_MATERIAL",
"I_MATERIALGROUP",
"I_PRODUCT",
"I_PRODUCTGROUP_2",
"I_PRODUCTTEXT",
"I_SALESDISTRICT",
"I_SALESDOCUMENT",
"I_SALESDOCUMENTITEM",
"I_SALESGROUP",
"I_SALESOFFICE",
"I_SALESORGANIZATION",
"I_SDDOCUMENTCATEGORY",
"I_SHIPPINGPOINT",
"I_UNITOFMEASURE"
],
"BASE":
[
"I_CUSTOMER",
"I_SALESDOCUMENT",
"I_SALESDOCUMENTITEM",
"I_SALESDOCUMENTSCHEDULELINE"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/