I_GoodsMovementSubstituteDEX

DDL: I_GOODSMOVEMENTSUBSTITUTEDEX Type: view_entity COMPOSITE Package: MM_IM_VDM_STOCK

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. Part of development package MM_IM_VDM_STOCK.

Data Sources (1)

SourceAliasJoin Type
I_MaterialDocumentRecord I_MaterialDocumentRecord from

Associations (2)

CardinalityTargetAliasCondition
[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)

NameValueLevelField
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)

KeyFieldSource TableSource FieldDescription
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' or MaterialDocumentRecordType = 'PURGE_CF'