C_SalesDocumentSchedLineDEX
Data Extraction for Sales Document Schedule Lines
C_SalesDocumentSchedLineDEX is a Consumption CDS View (Fact) that provides data about "Data Extraction for Sales Document Schedule Lines" in SAP S/4HANA. It reads from 3 data sources (I_SalesDocument, I_SalesDocumentItem, I_SalesDocumentScheduleLine) and exposes 99 fields with key fields SalesDocument, SalesDocumentItem, ScheduleLine. It has 2 associations to related views.
Data Sources (3)
| Source | Alias | Join Type |
|---|---|---|
| I_SalesDocument | SalesDocument | inner |
| I_SalesDocumentItem | SalesDocumentItem | inner |
| I_SalesDocumentScheduleLine | ScheduleLine | from |
Associations (2)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | E_SalesDocumentItemBasic | _ExtensionItem | $projection.SalesDocument = _ExtensionItem.SalesDocument and $projection.SalesDocumentItem = _ExtensionItem.SalesDocumentItem |
| [0..1] | E_SalesDocumentBasic | _ExtensionHeader | $projection.SalesDocument = _ExtensionHeader.SalesDocument |
Annotations (15)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | CSDSDOCSCHEDLNDX | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AbapCatalog.preserveKey | true | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| EndUserText.label | Data Extraction for Sales Document Schedule Lines | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.usageType.serviceQuality | #D | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| VDM.viewType | #CONSUMPTION | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| ObjectModel.modelingPattern | #NONE | view | |
| Analytics.internalName | #LOCAL | view | |
| Analytics.dataCategory | #FACT | view | |
| Analytics.dataExtraction.enabled | true | view |
Fields (99)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | SalesDocument | I_SalesDocumentScheduleLine | SalesDocument | |
| KEY | SalesDocumentItem | I_SalesDocumentScheduleLine | SalesDocumentItem | |
| KEY | ScheduleLine | I_SalesDocumentScheduleLine | ScheduleLine | |
| CreationDate | I_SalesDocumentItem | CreationDate | ||
| CreationTime | I_SalesDocumentItem | CreationTime | ||
| LastChangeDate | I_SalesDocumentItem | LastChangeDate | ||
| SDDocumentCategory | I_SalesDocument | SDDocumentCategory | ||
| SalesDocumentType | I_SalesDocument | SalesDocumentType | ||
| SalesDocumentItemCategory | I_SalesDocumentItem | SalesDocumentItemCategory | ||
| ScheduleLineCategory | I_SalesDocumentScheduleLine | ScheduleLineCategory | ||
| SalesOrganization | I_SalesDocument | SalesOrganization | ||
| DistributionChannel | I_SalesDocument | DistributionChannel | ||
| Division | I_SalesDocumentItem | Division | ||
| SalesGroup | I_SalesDocument | SalesGroup | ||
| SalesOffice | I_SalesDocument | SalesOffice | ||
| PricingDate | I_SalesDocument | PricingDate | ||
| NetPriceQuantityUnit | I_SalesDocumentItem | NetPriceQuantityUnit | ||
| NetPriceQuantity | I_SalesDocumentItem | NetPriceQuantity | ||
| NetPriceAmount | I_SalesDocumentItem | NetPriceAmount | ||
| PriceDetnExchangeRate | I_SalesDocument | PriceDetnExchangeRate | ||
| Material | I_SalesDocumentItem | Material | ||
| MaterialGroup | I_SalesDocumentItem | MaterialGroup | ||
| ProductGroup | I_SalesDocumentItem | ProductGroup | ||
| Product | I_SalesDocumentItem | Product | ||
| ProductHierarchyNode | I_SalesDocumentItem | ProductHierarchyNode | ||
| ProductAvailabilityDate | I_SalesDocumentScheduleLine | ProductAvailabilityDate | ||
| InternationalArticleNumber | I_SalesDocumentItem | InternationalArticleNumber | ||
| OriginallyRequestedMaterial | I_SalesDocumentItem | OriginallyRequestedMaterial | ||
| MaterialSubstitutionReason | I_SalesDocumentItem | MaterialSubstitutionReason | ||
| Batch | I_SalesDocumentItem | Batch | ||
| AdditionalMaterialGroup1 | I_SalesDocumentItem | AdditionalMaterialGroup1 | ||
| AdditionalMaterialGroup2 | I_SalesDocumentItem | AdditionalMaterialGroup2 | ||
| AdditionalMaterialGroup3 | I_SalesDocumentItem | AdditionalMaterialGroup3 | ||
| AdditionalMaterialGroup4 | I_SalesDocumentItem | AdditionalMaterialGroup4 | ||
| AdditionalMaterialGroup5 | I_SalesDocumentItem | AdditionalMaterialGroup5 | ||
| SoldToParty | I_SalesDocument | SoldToParty | ||
| AdditionalCustomerGroup1 | I_SalesDocument | AdditionalCustomerGroup1 | ||
| AdditionalCustomerGroup2 | I_SalesDocument | AdditionalCustomerGroup2 | ||
| AdditionalCustomerGroup3 | I_SalesDocument | AdditionalCustomerGroup3 | ||
| AdditionalCustomerGroup4 | I_SalesDocument | AdditionalCustomerGroup4 | ||
| AdditionalCustomerGroup5 | I_SalesDocument | AdditionalCustomerGroup5 | ||
| CustomerGroup | I_SalesDocument | CustomerGroup | ||
| SDDocumentReason | I_SalesDocument | SDDocumentReason | ||
| IsConfirmedDelivSchedLine | I_SalesDocumentScheduleLine | IsConfirmedDelivSchedLine | ||
| IsRequestedDelivSchedLine | I_SalesDocumentScheduleLine | IsRequestedDelivSchedLine | ||
| TargetQuantityUnit | I_SalesDocumentItem | TargetQuantityUnit | ||
| CorrectedQtyInOrderQtyUnit | I_SalesDocumentScheduleLine | CorrectedQtyInOrderQtyUnit | ||
| OrderQuantityUnit | I_SalesDocumentScheduleLine | OrderQuantityUnit | ||
| ConfdOrderQtyByMatlAvailCheck | I_SalesDocumentScheduleLine | ConfdOrderQtyByMatlAvailCheck | ||
| ScheduleLineOrderQuantity | I_SalesDocumentScheduleLine | ScheduleLineOrderQuantity | ||
| TargetToBaseQuantityDnmntr | I_SalesDocumentItem | TargetToBaseQuantityDnmntr | ||
| TargetToBaseQuantityNmrtr | I_SalesDocumentItem | TargetToBaseQuantityNmrtr | ||
| OrderToBaseQuantityDnmntr | I_SalesDocumentItem | OrderToBaseQuantityDnmntr | ||
| OrderToBaseQuantityNmrtr | I_SalesDocumentItem | OrderToBaseQuantityNmrtr | ||
| BaseUnit | I_SalesDocumentItem | BaseUnit | ||
| ItemVolumeUnit | I_SalesDocumentItem | ItemVolumeUnit | ||
| SalesDocumentRjcnReason | I_SalesDocumentItem | SalesDocumentRjcnReason | ||
| ItemWeightUnit | I_SalesDocumentItem | ItemWeightUnit | ||
| SalesDistrict | I_SalesDocument | SalesDistrict | ||
| DeliveryDate | I_SalesDocumentScheduleLine | DeliveryDate | ||
| RequestedDeliveryDate | I_SalesDocument | RequestedDeliveryDate | ||
| ServicesRenderedDate | I_SalesDocument | ServicesRenderedDate | ||
| StatisticsCurrency | I_SalesDocument | StatisticsCurrency | ||
| ShipToParty | I_SalesDocumentItem | ShipToParty | ||
| PayerParty | I_SalesDocumentItem | PayerParty | ||
| BillToParty | I_SalesDocumentItem | BillToParty | ||
| Route | I_SalesDocumentItem | Route | ||
| Plant | I_SalesDocumentItem | Plant | ||
| StorageLocation | I_SalesDocumentItem | StorageLocation | ||
| ShippingPoint | I_SalesDocumentItem | ShippingPoint | ||
| IncotermsClassification | I_SalesDocument | IncotermsClassification | ||
| IncotermsTransferLocation | I_SalesDocument | IncotermsTransferLocation | ||
| IncotermsVersion | I_SalesDocument | IncotermsVersion | ||
| DeliveryBlockReason | I_SalesDocument | DeliveryBlockReason | ||
| ConfdSchedLineReqdDelivDate | I_SalesDocumentScheduleLine | ConfdSchedLineReqdDelivDate | ||
| ConfirmedDeliveryDate | I_SalesDocumentScheduleLine | ConfirmedDeliveryDate | ||
| MRPRequiredQuantityInBaseUnit | I_SalesDocumentScheduleLine | MRPRequiredQuantityInBaseUnit | ||
| DelivBlockReasonForSchedLine | I_SalesDocumentScheduleLine | DelivBlockReasonForSchedLine | ||
| LoadingDate | I_SalesDocumentScheduleLine | LoadingDate | ||
| TransportationPlanningDate | I_SalesDocumentScheduleLine | TransportationPlanningDate | ||
| GoodsIssueDate | I_SalesDocumentScheduleLine | GoodsIssueDate | ||
| ItemOrderProbabilityInPercent | I_SalesDocumentItem | ItemOrderProbabilityInPercent | ||
| BindingPeriodValidityStartDate | I_SalesDocument | BindingPeriodValidityStartDate | ||
| BindingPeriodValidityEndDate | I_SalesDocument | BindingPeriodValidityEndDate | ||
| BillingCompanyCode | I_SalesDocument | BillingCompanyCode | ||
| BillingDocumentDate | I_SalesDocument | BillingDocumentDate | ||
| ItemBillingBlockReason | I_SalesDocumentItem | ItemBillingBlockReason | ||
| ExchangeRateType | I_SalesDocument | ExchangeRateType | ||
| ExchangeRateDate | I_SalesDocument | ExchangeRateDate | ||
| FiscalYearVariant | CompanyCode | FiscalYearVariant | ||
| TransactionCurrency | I_SalesDocumentItem | TransactionCurrency | ||
| CustomerAccountAssignmentGroup | I_SalesDocument | CustomerAccountAssignmentGroup | ||
| ReferenceSDDocumentCategory | I_SalesDocumentItem | ReferenceSDDocumentCategory | ||
| SDDocumentRejectionStatus | I_SalesDocumentItem | SDDocumentRejectionStatus | ||
| ItemDeliveryIncompletionStatus | I_SalesDocumentItem | ItemDeliveryIncompletionStatus | ||
| ItemGeneralIncompletionStatus | I_SalesDocumentItem | ItemGeneralIncompletionStatus | ||
| ItemBillingIncompletionStatus | I_SalesDocumentItem | ItemBillingIncompletionStatus | ||
| PricingIncompletionStatus | I_SalesDocumentItem | PricingIncompletionStatus | ||
| _SalesDocument | _SalesDocument |
@AbapCatalog.sqlViewName: 'CSDSDOCSCHEDLNDX'
@AbapCatalog.compiler.compareFilter: true
@AbapCatalog.preserveKey: true
@AccessControl:{
authorizationCheck: #CHECK,
personalData.blocking: #('TRANSACTIONAL_DATA')
}
@EndUserText.label: 'Data Extraction for Sales Document Schedule Lines'
@ClientHandling.algorithm: #SESSION_VARIABLE
@ObjectModel.usageType.dataClass: #TRANSACTIONAL
@ObjectModel.usageType.serviceQuality: #D
@ObjectModel.usageType.sizeCategory: #XL
@VDM.viewType: #CONSUMPTION
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.modelingPattern: #NONE
@ObjectModel.supportedCapabilities: [ #EXTRACTION_DATA_SOURCE ]
@Analytics: {
internalName: #LOCAL,
dataCategory: #FACT,
dataExtraction: {
enabled: true,
delta.changeDataCapture: {
mapping:[
{
table: 'vbep', role: #MAIN,
viewElement: ['SalesDocument', 'SalesDocumentItem','ScheduleLine'],
tableElement: ['vbeln', 'posnr','etenr']
},
{
table: 'vbap', role: #LEFT_OUTER_TO_ONE_JOIN,
viewElement: ['SalesDocument', 'SalesDocumentItem'],
tableElement: ['vbeln', 'posnr']
},
{
table: 'vbak', role: #LEFT_OUTER_TO_ONE_JOIN,
viewElement: ['SalesDocument'],
tableElement: ['vbeln']},
{
table: 't001', role: #LEFT_OUTER_TO_ONE_JOIN,
viewElement: ['BillingCompanyCode'],
tableElement: ['bukrs']},
{
table: 'tvko', role: #LEFT_OUTER_TO_ONE_JOIN,
viewElement: ['SalesOrganization'],
tableElement: ['vkorg']
}
]
}
}
}
define view C_SalesDocumentSchedLineDEX
as select from I_SalesDocumentScheduleLine as ScheduleLine
inner join I_SalesDocumentItem as SalesDocumentItem on ScheduleLine.SalesDocument = SalesDocumentItem.SalesDocument
and ScheduleLine.SalesDocumentItem = SalesDocumentItem.SalesDocumentItem
inner join I_SalesDocument as SalesDocument on ScheduleLine.SalesDocument = SalesDocument.SalesDocument
left outer to one join I_CompanyCode as CompanyCode on SalesDocument.BillingCompanyCode = CompanyCode.CompanyCode
//Extensibility
association [0..1] to E_SalesDocumentItemBasic as _ExtensionItem on $projection.SalesDocument = _ExtensionItem.SalesDocument
and $projection.SalesDocumentItem = _ExtensionItem.SalesDocumentItem
association [0..1] to E_SalesDocumentBasic as _ExtensionHeader on $projection.SalesDocument = _ExtensionHeader.SalesDocument
{
// Key
@ObjectModel.foreignKey.association: '_SalesDocument'
key ScheduleLine.SalesDocument,
key ScheduleLine.SalesDocumentItem,
key ScheduleLine.ScheduleLine,
//Admin
SalesDocumentItem.CreationDate,
SalesDocumentItem.CreationTime,
SalesDocumentItem.LastChangeDate,
//Category
SalesDocument.SDDocumentCategory,
SalesDocument.SalesDocumentType,
SalesDocumentItem.SalesDocumentItemCategory,
ScheduleLine.ScheduleLineCategory,
//Organization
SalesDocument.SalesOrganization,
SalesDocument.DistributionChannel,
SalesDocumentItem.Division,
SalesDocument.SalesGroup,
SalesDocument.SalesOffice,
//Pricing
SalesDocument.PricingDate,
@Semantics.unitOfMeasure: true
SalesDocumentItem.NetPriceQuantityUnit,
@Semantics.quantity.unitOfMeasure: 'NetPriceQuantityUnit'
SalesDocumentItem.NetPriceQuantity,
@Semantics.amount.currencyCode: 'TransactionCurrency'
SalesDocumentItem.NetPriceAmount,
SalesDocument.PriceDetnExchangeRate,
//Product
SalesDocumentItem.Material,
SalesDocumentItem.MaterialGroup,
SalesDocumentItem.ProductGroup,
SalesDocumentItem.Product,
SalesDocumentItem.ProductHierarchyNode,
ScheduleLine.ProductAvailabilityDate,
SalesDocumentItem.InternationalArticleNumber,
SalesDocumentItem.OriginallyRequestedMaterial,
SalesDocumentItem.MaterialSubstitutionReason,
SalesDocumentItem.Batch,
SalesDocumentItem.AdditionalMaterialGroup1,
SalesDocumentItem.AdditionalMaterialGroup2,
SalesDocumentItem.AdditionalMaterialGroup3,
SalesDocumentItem.AdditionalMaterialGroup4,
SalesDocumentItem.AdditionalMaterialGroup5,
//Sales
SalesDocument.SoldToParty,
SalesDocument.AdditionalCustomerGroup1,
SalesDocument.AdditionalCustomerGroup2,
SalesDocument.AdditionalCustomerGroup3,
SalesDocument.AdditionalCustomerGroup4,
SalesDocument.AdditionalCustomerGroup5,
SalesDocument.CustomerGroup,
SalesDocument.SDDocumentReason,
ScheduleLine.IsConfirmedDelivSchedLine,
ScheduleLine.IsRequestedDelivSchedLine,
@Semantics.unitOfMeasure: true
SalesDocumentItem.TargetQuantityUnit,
@Semantics.quantity.unitOfMeasure: 'OrderQuantityUnit'
ScheduleLine.CorrectedQtyInOrderQtyUnit,
@Semantics.unitOfMeasure: true
ScheduleLine.OrderQuantityUnit,
@Semantics.quantity.unitOfMeasure: 'OrderQuantityUnit'
ScheduleLine.ConfdOrderQtyByMatlAvailCheck,
@Semantics.quantity.unitOfMeasure: 'OrderQuantityUnit'
ScheduleLine.ScheduleLineOrderQuantity,
SalesDocumentItem.TargetToBaseQuantityDnmntr,
SalesDocumentItem.TargetToBaseQuantityNmrtr,
SalesDocumentItem.OrderToBaseQuantityDnmntr,
SalesDocumentItem.OrderToBaseQuantityNmrtr,
@Semantics.unitOfMeasure: true
SalesDocumentItem.BaseUnit,
@Semantics.unitOfMeasure: true
SalesDocumentItem.ItemVolumeUnit,
SalesDocumentItem.SalesDocumentRjcnReason,
@Semantics.unitOfMeasure: true
SalesDocumentItem.ItemWeightUnit,
SalesDocument.SalesDistrict,
ScheduleLine.DeliveryDate,
SalesDocument.RequestedDeliveryDate,
SalesDocument.ServicesRenderedDate,
@Semantics.currencyCode: true
SalesDocument.StatisticsCurrency,
SalesDocumentItem.ShipToParty as ShipToParty,
SalesDocumentItem.PayerParty as PayerParty,
SalesDocumentItem.BillToParty as BillToParty,
//Shipping
SalesDocumentItem.Route,
SalesDocumentItem.Plant,
SalesDocumentItem.StorageLocation,
SalesDocumentItem.ShippingPoint,
SalesDocument.IncotermsClassification,
SalesDocument.IncotermsTransferLocation,
SalesDocument.IncotermsVersion,
SalesDocument.DeliveryBlockReason,
ScheduleLine.ConfdSchedLineReqdDelivDate,
ScheduleLine.ConfirmedDeliveryDate,
@Semantics.quantity.unitOfMeasure: 'BaseUnit'
ScheduleLine.MRPRequiredQuantityInBaseUnit,
ScheduleLine.DelivBlockReasonForSchedLine,
ScheduleLine.LoadingDate,
ScheduleLine.TransportationPlanningDate,
ScheduleLine.GoodsIssueDate,
//Quotation
SalesDocumentItem.ItemOrderProbabilityInPercent,
SalesDocument.BindingPeriodValidityStartDate,
SalesDocument.BindingPeriodValidityEndDate,
//Billing
SalesDocument.BillingCompanyCode,
SalesDocument.BillingDocumentDate,
SalesDocumentItem.ItemBillingBlockReason,
//Accounting
SalesDocument.ExchangeRateType,
SalesDocument.ExchangeRateDate,
CompanyCode.FiscalYearVariant,
@Semantics.currencyCode: true
SalesDocumentItem.TransactionCurrency,
SalesDocument.CustomerAccountAssignmentGroup,
//Reference
SalesDocumentItem.ReferenceSDDocumentCategory,
//Status
SalesDocumentItem.SDDocumentRejectionStatus,
SalesDocumentItem.ItemDeliveryIncompletionStatus,
SalesDocumentItem.ItemGeneralIncompletionStatus,
SalesDocumentItem.ItemBillingIncompletionStatus,
SalesDocumentItem.PricingIncompletionStatus,
//Association
_SalesDocument
}
where
SalesDocument.SDDocumentCategory = 'A' // Inquiry
or SalesDocument.SDDocumentCategory = 'B' // Quotation
or SalesDocument.SDDocumentCategory = 'C' // Order
or SalesDocument.SDDocumentCategory = 'G' // Contract
or SalesDocument.SDDocumentCategory = 'H' // Returns
or SalesDocument.SDDocumentCategory = 'I' // Order w/o charge
or SalesDocument.SDDocumentCategory = 'K' // Credit Memo Request
or SalesDocument.SDDocumentCategory = 'L' // Debit Memo Request
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_COMPANYCODE",
"I_SALESDOCUMENT",
"I_SALESDOCUMENTITEM",
"I_SALESDOCUMENTSCHEDULELINE"
],
"ASSOCIATED":
[
"E_SALESDOCUMENTBASIC",
"E_SALESDOCUMENTITEMBASIC",
"I_SALESDOCUMENT"
],
"BASE":
[
"I_SALESDOCUMENTSCHEDULELINE"
],
"ANNO_REF":
[],
"SCALAR_FUNCTION":
[],
"VERSION":0,
"ANNOREF_EVALUATION_ERROR":""
}
}*/
Learn More
- What Is a CDS View in SAP S/4HANA?
- Types of CDS Views: Basic, Composite, Consumption, and Transactional
- SAP Tables vs CDS Views — Key Differences
- Understanding Data Lineage in SAP S/4HANA
- VDM (Virtual Data Model) in SAP S/4HANA Explained
- CDS View Annotations — A Complete Guide
- CDS View Field Mapping and Associations
- Understanding the SAP S/4HANA Data Model
- CDS View Extensions and Custom Fields in SAP S/4HANA
- Released APIs and Stability Contracts in SAP S/4HANA