I_GoodsMovementSubstituteDEX
Material document substitute extraction
I_GoodsMovementSubstituteDEX is a Composite CDS View (Fact) that provides data about "Material document substitute extraction" in SAP S/4HANA. It reads from 1 data source (I_MaterialDocumentRecord) and exposes 47 fields with key fields MaterialDocumentKey1, MaterialDocumentKey2, MaterialDocumentKey3, MaterialDocumentKey4, MaterialDocumentKey5. It has 2 associations to related views.
Data Sources (1)
| Source | Alias | Join Type |
|---|---|---|
| I_MaterialDocumentRecord | I_MaterialDocumentRecord | from |
Associations (2)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [0..1] | I_SupplierCompanyByPlant | _SpecStkIdfgSupplierByPlant | $projection.SpecialStockIdfgSupplier = _SpecStkIdfgSupplierByPlant.Supplier and $projection.Plant = _SpecStkIdfgSupplierByPlant.Plant |
| [0..1] | I_CustomerCompanyByPlant | _SpecStockIdfgCustByPlant | $projection.SpecialStockIdfgCustomer = _SpecStockIdfgCustByPlant.Customer and $projection.Plant = _SpecStockIdfgCustByPlant.Plant |
Annotations (13)
| Name | Value | Level | Field |
|---|---|---|---|
| EndUserText.label | Material document substitute extraction | view | |
| AccessControl.authorizationCheck | #CHECK | view | |
| AccessControl.personalData.blocking | #NOT_REQUIRED | view | |
| ObjectModel.usageType.sizeCategory | #XXL | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| ObjectModel.sapObjectNodeType.name | MaterialStock | view | |
| VDM.viewType | #COMPOSITE | view | |
| VDM.lifecycle.contract.type | #PUBLIC_LOCAL_API | view | |
| Analytics.dataCategory | #FACT | view | |
| Analytics.internalName | #LOCAL | view | |
| Analytics.dataExtraction.enabled | true | view | |
| Metadata.ignorePropagatedAnnotations | true | view |
Fields (47)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | MaterialDocumentKey1 | MaterialDocumentKey1 | ||
| KEY | MaterialDocumentKey2 | MaterialDocumentKey2 | ||
| KEY | MaterialDocumentKey3 | MaterialDocumentKey3 | ||
| KEY | MaterialDocumentKey4 | MaterialDocumentKey4 | ||
| KEY | MaterialDocumentKey5 | MaterialDocumentKey5 | ||
| KEY | MaterialDocumentKey6 | MaterialDocumentKey6 | ||
| StockIdentifyingMaterial | StockIdentifyingMaterial | |||
| Plant | Plant | |||
| StockIdfgStorageLocation | StockIdfgStorageLocation | |||
| StockIdentifyingBatch | StockIdentifyingBatch | |||
| SpecialStockIdfgSupplier | SpecialStockIdfgSupplier | |||
| SpecialStockIdfgSalesOrder | SpecialStockIdfgSalesOrder | |||
| SpecialStockIdfgSalesOrderItem | SpecialStockIdfgSalesOrderItem | |||
| SpecialStockIdfgCustomer | SpecialStockIdfgCustomer | |||
| InventorySpecialStockType | InventorySpecialStockType | |||
| InventoryStockType | InventoryStockType | |||
| SpecialStockIdfgStockOwner | SpecialStockIdfgStockOwner | |||
| ResourceID | ||||
| CostEstimate | CostEstimate | |||
| CompanyCode | CompanyCode | |||
| InventorySpecialStockValnType | InventorySpecialStockValnType | |||
| MatlStkChangeQtyInBaseUnit | MatlStkChangeQtyInBaseUnit | |||
| MatlCnsmpnQtyInMatlBaseUnit | MatlCnsmpnQtyInMatlBaseUnit | |||
| MaterialBaseUnit | MaterialBaseUnit | |||
| GoodsMovementStkAmtInCCCrcy | GoodsMovementStkAmtInCCCrcy | |||
| GoodsMvtCnsmpnAmtInCCCrcy | GoodsMvtCnsmpnAmtInCCCrcy | |||
| CompanyCodeCurrency | CompanyCodeCurrency | |||
| InventoryValuationType | InventoryValuationType | |||
| DocumentDate | DocumentDate | |||
| PostingDate | PostingDate | |||
| FiscalYearVariant | FiscalYearVariant | |||
| FiscalYear | FiscalYear | |||
| FiscalYearPeriod | FiscalYearPeriod | |||
| YearDay | YearDay | |||
| YearWeek | YearWeek | |||
| YearMonth | YearMonth | |||
| YearQuarter | YearQuarter | |||
| CalendarQuarter | CalendarQuarter | |||
| CalendarMonth | CalendarMonth | |||
| CalendarWeek | CalendarWeek | |||
| CalendarDayOfYear | ||||
| WeekDay | WeekDay | |||
| _SpecialStockIdfgSupplier | _SpecialStockIdfgSupplier | |||
| _SpecialStockIdfgStockOwner | _SpecialStockIdfgStockOwner | |||
| _SpecialStockIdfgCustomer | _SpecialStockIdfgCustomer | |||
| _SpecStkIdfgSupplierByPlant | _SpecStkIdfgSupplierByPlant | |||
| _SpecStockIdfgCustByPlant | _SpecStockIdfgCustByPlant |
@EndUserText.label: 'Material document substitute extraction'
@AccessControl: {
authorizationCheck: #CHECK,
personalData.blocking: #NOT_REQUIRED
}
@ObjectModel: {
usageType: {
sizeCategory: #XXL,
serviceQuality: #C,
dataClass:#TRANSACTIONAL
},
sapObjectNodeType.name : 'MaterialStock',
// semanticKey: ['MaterialDocumentYear', 'MaterialDocument', 'MaterialDocumentItem'],
supportedCapabilities: [#EXTRACTION_DATA_SOURCE]
}
@VDM: {
viewType: #COMPOSITE,
lifecycle.contract.type: #PUBLIC_LOCAL_API
}
@Analytics: {
dataCategory: #FACT,
internalName: #LOCAL,
dataExtraction.enabled: true
}
@Metadata: {
ignorePropagatedAnnotations: true
}
define view entity I_GoodsMovementSubstituteDEX
as select from I_MaterialDocumentRecord
association [0..1] to I_SupplierCompanyByPlant as _SpecStkIdfgSupplierByPlant on $projection.SpecialStockIdfgSupplier = _SpecStkIdfgSupplierByPlant.Supplier
and $projection.Plant = _SpecStkIdfgSupplierByPlant.Plant
association [0..1] to I_CustomerCompanyByPlant as _SpecStockIdfgCustByPlant on $projection.SpecialStockIdfgCustomer = _SpecStockIdfgCustByPlant.Customer
and $projection.Plant = _SpecStockIdfgCustByPlant.Plant
{
// Technical key fields
@Consumption.hidden: true
key MaterialDocumentKey1,
@Consumption.hidden: true
key MaterialDocumentKey2,
@Consumption.hidden: true
key MaterialDocumentKey3,
@Consumption.hidden: true
key MaterialDocumentKey4,
@Consumption.hidden: true
key MaterialDocumentKey5,
@Consumption.hidden: true
key MaterialDocumentKey6,
// Warehouse stock identifier
StockIdentifyingMaterial,
Plant,
StockIdfgStorageLocation,
StockIdentifyingBatch,
SpecialStockIdfgSupplier,
SpecialStockIdfgSalesOrder,
SpecialStockIdfgSalesOrderItem,
-- CAST to get rid of conversion exit
cast(SpecialStockIdfgWBSElement as nsdm_wbselement_internal_id preserving type) as SpecialStockIdfgWBSElement,
SpecialStockIdfgCustomer,
InventorySpecialStockType,
InventoryStockType,
SpecialStockIdfgStockOwner,
cast(ResourceID as nsdm_resourcename preserving type ) as ResourceID,
// Warehouse stock grouping fields
CostEstimate,
CompanyCode,
InventorySpecialStockValnType,
// Quantities
@Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
// @DefaultAggregation: #NONE
MatlStkChangeQtyInBaseUnit,
@Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
// @DefaultAggregation: #NONE
MatlCnsmpnQtyInMatlBaseUnit,
MaterialBaseUnit,
// Amounts
@Semantics.amount.currencyCode: 'CompanyCodeCurrency'
// @DefaultAggregation: #NONE
GoodsMovementStkAmtInCCCrcy,
@Semantics.amount.currencyCode: 'CompanyCodeCurrency'
// @DefaultAggregation: #NONE
GoodsMvtCnsmpnAmtInCCCrcy,
CompanyCodeCurrency,
// other fields
InventoryValuationType,
//Periods and time
@Semantics.businessDate.at: true
DocumentDate,
PostingDate,
@Semantics.fiscal.yearVariant: true
FiscalYearVariant,
FiscalYear,
@Semantics.fiscal.yearPeriod: true
FiscalYearPeriod,
YearDay,
@Semantics.calendar.yearWeek: true
YearWeek,
@Semantics.calendar.yearMonth: true
YearMonth,
@Semantics.calendar.yearQuarter: true
YearQuarter,
@Semantics.calendar.quarter: true
CalendarQuarter,
@Semantics.calendar.month: true
CalendarMonth,
@Semantics.calendar.week: true
CalendarWeek,
@Semantics.calendar.dayOfYear: true
// CalendarDay, GTN 2 digits but field 3 digits
cast(CalendarDay as nsdm_day_of_year preserving type) as CalendarDayOfYear,
WeekDay,
_SpecialStockIdfgSupplier,
_SpecialStockIdfgStockOwner,
_SpecialStockIdfgCustomer,
_SpecStkIdfgSupplierByPlant,
_SpecStockIdfgCustByPlant
}
where MaterialDocumentRecordType = 'MIG_DELTA' or MaterialDocumentRecordType = 'AG_MDOC_CF'
or MaterialDocumentRecordType = 'ARC_DELTA'
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_MATERIALDOCUMENTRECORD"
],
"ASSOCIATED":
[
"I_CUSTOMER",
"I_CUSTOMERCOMPANYBYPLANT",
"I_SUPPLIER",
"I_SUPPLIERCOMPANYBYPLANT"
],
"BASE":
[
"I_MATERIALDOCUMENTRECORD"
],
"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