I_MATERIALDOCUMENTRECORD

CDS View

Basis view for MATDOC table

I_MATERIALDOCUMENTRECORD is a CDS View in S/4HANA. Basis view for MATDOC table. It contains 200 fields. 109 CDS views read from this table.

CDS Views using this table (109)

ViewTypeJoinVDMDescription
C_APProcessFlowMatDocVH view from CONSUMPTION AP Process Flow: Material Document
C_HU_ECSlsLstMatlDocCsgnmtC view_entity from CONSUMPTION Hungarian ECSL Consignment - Cube
C_MaintOrderUnplannedMat view_entity from CONSUMPTION Maintenance Order Unplanned material
C_MaterialStockChangeDP view_entity from CONSUMPTION Material Stock Changes Data Provider
C_PFMGoodsMovementDocumentDEX view from CONSUMPTION Material flow data extractor for PFM
C_PFMProductStockDEX view from CONSUMPTION CDI Data Provider for stock inventory BAM data extraction
C_PurchaseOrderGoodsReceipt view from CONSUMPTION Purchase Order Goods Receipt
C_RDPGoodsMovementDocumentDEX view from CONSUMPTION Goods Movement Extractor for RDP
C_RO_MatlDocHeader view from CONSUMPTION View for material document header
C_SustGoodsMovementDocumentDEX view_entity from CONSUMPTION Goods Movement data extractor
F_Mmim_Gr4po_Valgr_Stock view from Purchase order valuated blocked stock
F_Mmim_Matdoc_Item_Account view_entity from Accounting information Material Document
F_Mmim_Matdoc_Year_Vh view_entity from Help-View for material document year
I_ExciseTaxMatlDocItem view from COMPOSITE MatlDocItem for Industry Excise Tax
I_ExistenceCheckOnMatlDocItem view_entity from COMPOSITE Existence Check on Material Doc Item
I_FldLogsDocFlwGIForWrkOrd view from COMPOSITE Field Logistics Doc Flow GI WorkOrder
I_FldLogsMatlDocItems view from COMPOSITE Material Document Items
I_FldLogsSTOFrmPurOrd view_entity inner COMPOSITE STO Details by Purchase Order
I_GoodsMovementDocument view_entity from BASIC Goods Movements
I_GoodsMovementDocumentDEX view_entity from COMPOSITE Material document data extraction
I_GoodsMovementSubstituteDEX view_entity from COMPOSITE Material document substitute extraction
I_IN_MatlDocList view from BASIC Material Document for Subcon Challan
I_MaterialDocumentForPrint view_entity from COMPOSITE View for Material Document Print
I_MaterialDocumentHeader view_entity from COMPOSITE Material Document Header
I_MaterialDocumentHeader_2 view_entity from COMPOSITE Material Document Header
I_MaterialDocumentHeaderVH view_entity from COMPOSITE Material document value help
I_MaterialDocumentItem view_entity from COMPOSITE Material Document Item
I_MaterialDocumentItem_2 view_entity from COMPOSITE Material Document Item
I_MaterialStock_Aggr view_entity from COMPOSITE Aggreg. of material stock on low level
I_MatlDocArchivingDate view_entity from COMPOSITE Latest archiving date per plant
I_MatlDocumentReversals view_entity from COMPOSITE Reversed Material Document
I_MatlDocWeightedStock view_entity from COMPOSITE Weighted stock for average calc
I_MfgOrderConfMatlDocItem view inner COMPOSITE Material Document Items of Mfg Order Confirmation
I_MfgOrderMaterialDocumentItem view from COMPOSITE Manufacturing Order Material Document Item
I_ProcOrdMgmtGoodsMovement view from COMPOSITE Process Order Goods Movement
I_RO_SAFTComplementaryPosting view from COMPOSITE SAFT RO Complementary Posting
I_RO_SAFTMatlStockQuantity view from COMPOSITE Material Stock Quantity for Romania SAFT
I_RptvMfgConfMatlDocItem view_entity inner COMPOSITE Material Document Item of Confirmation in Repetitive Mfg
I_SupDmndOvwBatch view from COMPOSITE Basic view for Assign batches
I_SupDmndOvwNoBatch view from COMPOSITE Basic View for Non batch fix
Mmim_MatDocDocFlow view_entity inner Material Documents Document Flow
Mmim_MatDocFlowIssuingStatus view_entity from Status Issuing
Mmim_MatDocFlowReceivingStatus view_entity from Status Receiving
P_ActlCostgRunTransaclWthMvtTp view_entity inner COMPOSITE Transactional Data with Movement Type
P_BG_SAFTMatlStockQuantity view_entity from COMPOSITE BG SAFT All products
P_BusSolnOrdSlsOrdFlwLvl92 view inner CONSUMPTION Solution Order MTO flow:Good Receipt
P_DEADSTKMVMBASE view_entity from COMPOSITE Dead stock movement base data calculation
P_GetLastPostingDate view_entity inner COMPOSITE Get last Posting Date of Material Documents
P_InvtryTransBsdWithMvt view_entity inner COMPOSITE Transactional based inventory with movement
P_InvtryTurnoverStock view_entity from CONSUMPTION Inventory Turnover Stock Calculation
P_InvtryTurnoverStockPerDay view_entity from CONSUMPTION Inventory Turnover Stock Calculation
P_MatDocHavingRetOrCancel view from CONSUMPTION Material document returned or cancelled
P_MatDocRec view_entity from COMPOSITE Material Documents without Link to PI Item
P_MATERIALDOCTIMEVARIANCE view from CONSUMPTION Material document for time variance
P_MATERIALDOCTIMEVARIANCECT view from CONSUMPTION Material document for time variance
P_MaterialDocumentHeader view_entity from COMPOSITE RAP Material Document Header
P_MaterialDocumentItem_2 view_entity from COMPOSITE RAP Material Document Item
P_MaterialDocumentMigration view from CONSUMPTION Material Document for Migration
P_MaterialDocumentPPMRecords view from CONSUMPTION PPM Material Document Records
P_MaterialKPIConsumptionStocks view_entity from COMPOSITE Cons stocks which are used in Phys Inv
P_MaterialStock_Aggr view_entity from COMPOSITE Aggreg. of Material Stock for KPI Analysis
P_MaterialStockAggrMvt view_entity from COMPOSITE Aggregate of Material Stock on Movement Types
P_MatlDocByInvtryTimeSeriesKey view_entity from CONSUMPTION MATDOC keys for inventory time series
P_MatlDocItemCmptblty_F4674 view from COMPOSITE Material Document Item with negative qty for cancellations
P_MatlStkCsgnmtDocumentItem view_entity from COMPOSITE Consignment Stock Quantity
P_MatlStkCsgnmtStockQuantity view_entity from COMPOSITE Consignment Stock Quantity
P_MltplMatlStk_L1 view_entity from COMPOSITE Stock Multiple Materials level 1
P_MltplMatlStk_L1 view_entity union_all COMPOSITE Stock Multiple Materials level 1
P_PL_SAFTMaterialDocRecdBasic view from COMPOSITE SAFTPL Material Document Record Basic
P_PL_SAFTMaterialDocRecdBasic view inner COMPOSITE SAFTPL Material Document Record Basic
P_PL_SAFTMaterialDocRecdBasic view union_all COMPOSITE SAFTPL Material Document Record Basic
P_PL_SAFTMaterialDocumentRecd view inner COMPOSITE SAFT PL Material Document Record
P_PL_SAFTTransferToStock view inner COMPOSITE SAFT PT Transfer to Stock
P_PlantAndStorLocWithStock view_entity from COMPOSITE Plant and storage location with stock
P_PlantAndStorLocWithStock view_entity union COMPOSITE Plant and storage location with stock
P_POItemAcctMatDoc view_entity from CONSUMPTION PO Item and Material Document Account Assignment
P_ProcOrdMgmtGoodsMovement view from COMPOSITE Process order goods movement
P_ProcOrdMgmtGoodsMovement_2 view_entity from COMPOSITE Process order goods movement
P_ProcOrdOpsMgmtGoodsMovement view from COMPOSITE Process Order Operation Goods Movement
P_PSMMatDocAccAssignments view from BASIC PSM Material Overview with Account Assignments
P_PurReqnProcFlowResvn view inner COMPOSITE Reservations created from Pur Reqn
P_RlvtMaterialDocRecord_F4674 view inner COMPOSITE Filtered Material Document Records
P_RO_SAFTMatlStockQuantity view_entity from COMPOSITE RO SAFT All productss
P_RU_MaterialRcptDateMMMvtMatD view from CONSUMPTION FI RU get Material Receipt Date: MM Movement MatDoc
P_RU_PurchaseOrderHistoryGR view inner CONSUMPTION FI RU PurchaseOrder History GR
P_SlowMoMatPredConsDocRec view_entity from COMPOSITE Stock Change and Consumption Quantity
P_SlowMoMatPredMatDocRec view_entity from COMPOSITE Material Document Records
P_SlowMoMatPredMatDocUnion view_entity left_outer COMPOSITE Material Document Union
P_SLOWMOMATPREDSTOCKSUM view_entity inner COMPOSITE Stock Aggregate
P_SlowMoMatPrMoMatDocRec view_entity from COMPOSITE Material Document Records
P_SlowMoMatPrMoMatDocUnion view_entity left_outer COMPOSITE Material Document Union
P_SlowMoMatPrMoStockSum view_entity inner COMPOSITE Stock Aggregate
P_SlowMovingMaterialGroup view_entity from COMPOSITE SlowNonMovingMaterials: Days since Posting
P_SlowMovingMatlTmeCnsmpnGrp view_entity from COMPOSITE SlowNonMovingMaterials: Stock Inventory Consumption Group
P_SlowOrNonMovingMatlTme view_entity left_outer COMPOSITE Slow or Non-Moving Materials Time Series (Union)
P_StkOnIntervalBoundaryBasic11 view_entity from COMPOSITE Stock on interval boundry quantity basic view branch 1
P_STKONINTERVALBOUNDARYBASIC12 view_entity from COMPOSITE Stock on interval boundry quantity basic view branch 2
P_STKONINTERVALBOUNDARYBASIC12 view_entity union_all COMPOSITE Stock on interval boundry quantity basic view branch 2
P_StkPostgHistBasic view_entity from COMPOSITE Stock posting history basic view
P_StkPostgHistBasic view_entity inner COMPOSITE Stock posting history basic view
P_StkPostgHistBasicNoReversal view_entity from COMPOSITE Stock posting history documents without reversal
P_StkPostgHistBasicNoReversal view_entity inner COMPOSITE Stock posting history documents without reversal
P_StkPostgHistCancelBasic01 view_entity from COMPOSITE Stock posting history cancel documents part 1
P_StkPostgHistCancelBasic02 view_entity from COMPOSITE Stock posting history cancel documents part 2
P_StkValueByType1 view_entity from COMPOSITE 'Stock value by type level 1
P_UserContactCard view from CONSUMPTION User details
V_Mmim_Ddl_Om_Or_Email view from Output Management E-Mail
V_Mmim_Ddl_Om_Or_GR4PO_EMAIL view from Output Management E-Mail GR4PO
V_Mmim_DDL_Om_Param view from Goods Movement Parameters

Fields (200)

KeyField CDS FieldsUsed in Views
KEY CompanyCode CompanyCode 18
KEY GLAccount GLAccount 4
KEY GoodsMovementType GoodsMovementType,MovementType 17
KEY InventorySpecialStockType InventorySpecialStockType 11
KEY InventoryStockType InventoryStockType 11
KEY IssuingOrReceivingPlant IssuingOrReceivingPlant 5
KEY mandt SAPClient 1
KEY Material Material,MaterialForEdit 21
KEY MaterialBaseUnit BaseUnit,MaterialBaseUnit 25
KEY MaterialDocument MaterialDocument,SubsequentDocument 29
KEY MaterialDocumentItem MaterialDocumentItem,SubsequentDocumentItem 26
KEY MaterialDocumentKey1 MaterialDocumentKey1 2
KEY MaterialDocumentKey2 MaterialDocumentKey2 2
KEY MaterialDocumentKey3 MaterialDocumentKey3 2
KEY MaterialDocumentKey4 MaterialDocumentKey4 2
KEY MaterialDocumentKey5 MaterialDocumentKey5 2
KEY MaterialDocumentKey6 MaterialDocumentKey6 2
KEY MaterialDocumentYear MaterialDocumentYear 27
KEY PL_GoodsMovementTypeCategory PL_GoodsMovementTypeCategory 1
KEY Plant Plant,PlantForEdit 32
KEY PostingDate MatlDocLatestPostgDate,PostingDate 21
KEY PurchaseOrder PurchaseOrder 15
KEY PurchaseOrderItem PurchaseOrderItem 14
KEY SpecialStockIdfgCustomer Customer,SpecialStockIdfgCustomer 7
KEY SpecialStockIdfgSalesOrder SalesOrder,SpecialStockIdfgSalesOrder 7
KEY SpecialStockIdfgSalesOrderItem SalesOrderItem,SpecialStockIdfgSalesOrderItem 7
KEY SpecialStockIdfgStockOwner SpecialStockIdfgStockOwner 7
KEY SpecialStockIdfgSupplier SpecialStockIdfgSupplier,Supplier 9
KEY SpecialStockIdfgWBSElement SpecialStockIdfgWBSElement,WBSElementInternalID 7
KEY StockIdentifyingBatch Batch,StockIdentifyingBatch 7
KEY StockIdentifyingMaterial Material,StockIdentifyingMaterial 14
KEY StockIdfgStorageLocation StockIdfgStorageLocation,StorageLocation 5
KEY StorageLocation StorageLocation 14
_BPStockOwner _BPStockOwner 1
_Customer _Customer 1
_CustomerCompanyByPlant _CustomerCompanyByPlant 1
_GoodsMvtTypeBySpclStkIndT _GoodsMvtTypeBySpclStkIndT 1
_IssuingOrReceivingStorageLoc _IssuingOrReceivingStorageLoc 1
_Material _Material 1
_MaterialBaseUnit _MaterialBaseUnit 1
_Plant _Plant 1
_StorageLocation _StorageLocation 2
_Supplier _Supplier 1
_SupplierCompanyByPlant _SupplierCompanyByPlant 1
AccountAssignmentCategory AccountAssignmentCategory 1
AccountingDocumentType AccountingDocumentType 3
ActivityInWarehouseIsPending ActivityInWarehouseIsPending 1
Batch Batch,BatchForEdit 13
BillOfLading BillOfLading 2
BusinessArea BusinessArea 2
CalendarDay CalendarDay,CalendarDayOfYear 3
CalendarMonth CalendarMonth 3
CalendarQuarter CalendarQuarter 3
CalendarWeek CalendarWeek 3
CommitmentItem CommitmentItem 1
CommitmentItemShortID CommitmentItemShortID 1
CompanyCodeCurrency CompanyCodeCurrency,Currency 7
ConsumptionPosting ConsumptionPosting 3
ControllingArea ControllingArea 5
CostCenter CostCenter 4
CostEstimate CostEstimate 4
CostObject CostObject 1
CreatedByUser CreatedByUser 1
CreationDate CreationDate 4
CreationTime CreationTime 4
CrossPlantConfigurableProduct CrossPlantConfigurableProduct 1
Customer Customer 9
DebitCreditCode DebitCreditCode 6
DeliveryDocument DeliveryDocument 8
DeliveryDocumentItem DeliveryDocumentItem 7
DeliveryInMatlDocumentHeader DeliveryInMatlDocumentHeader 1
DeliveryQuantityUnit DeliveryQuantityUnit 1
DocumentDate DocumentDate 10
DocumentYear DocumentYear 1
EmploymentInternalID EmploymentInternalID 1
EnteredSlsAmtInCoCodeCrcy EnteredSlsAmtInCoCodeCrcy 1
EntryUnit EntryUnit,Quantity 9
EWMStorageBin EWMStorageBin 3
EWMWarehouse EWMWarehouse 3
FiscalYear FiscalYear 3
FiscalYearPeriod FiscalYearPeriod 1
FiscalYearVariant FiscalYearVariant 1
FixedAsset FixedAsset 2
FunctionalArea FunctionalArea 1
Fund Fund 1
FundsCenter FundsCenter 1
GdsMvtExtAmtInCoCodeCrcy GdsMvtExtAmtInCoCodeCrcy 1
GoodsMovementCancellationType GoodsMovementCancellationType 2
GoodsMovementIsCancelled GoodsMovementIsCancelled 5
GoodsMovementReasonCode GoodsMovementReasonCode 5
GoodsMovementRefDocType GoodsMovementRefDocType 8
GoodsMovementStkAmtInCCCrcy GoodsMovementStkAmtInCCCrcy 2
GoodsMvtCnsmpnAmtInCCCrcy GoodsMvtCnsmpnAmtInCCCrcy 2
GoodsReceiptIsNonValuated GoodsReceiptIsNonValuated 1
GoodsReceiptQtyInOrderUnit GoodsReceiptQtyInOrderUnit 4
GoodsReceiptType GoodsReceiptType 4
GoodsRecipientName GoodsRecipientName 4
GrantID GrantID 1
HandlingUnitExternalID HandlingUnitExternalID 3
HasMultipleAccountAssignment HasMultipleAccountAssignment 1
HierarchyNodeLevel HierarchyNodeLevel 1
InventorySpecialStockValnType InventorySpecialStockValnType 1
InventoryTransactionType InventoryTransactionType 3
InventoryUsabilityCode InventoryUsabilityCode 1
InventoryValuationType InventoryValuationType 5
InvtryMgmtRefDocumentItem InvtryMgmtRefDocumentItem 3
InvtryMgmtReferenceDocument InvtryMgmtReferenceDocument 6
IsAutomaticallyCreated IsAutomaticallyCreated 3
IsCompletelyDelivered IsCompletelyDelivered 4
IsMaterialDocumentHeader IsMaterialDocumentHeader 1
IsReversalMovementType IsReversalMovementType 8
IssgOrRcvgBatch IssgOrRcvgBatch 4
IssgOrRcvgMaterial IssgOrRcvgMaterial 4
IssgOrRcvgResourceID IssgOrRcvgResourceID 1
IssgOrRcvgSalesOrder IssgOrRcvgSalesOrder 1
IssgOrRcvgSalesOrderItem IssgOrRcvgSalesOrderItem 1
IssgOrRcvgSpclStockInd IssgOrRcvgSpclStockInd 2
IssgOrRcvgStockSegment IssgOrRcvgStockSegment 1
IssgOrRcvgWBSElement IssgOrRcvgWBSElement 1
IssuingOrReceivingStockType IssuingOrReceivingStockType 1
IssuingOrReceivingStorageLoc IssuingOrReceivingStorageLoc 3
IssuingOrReceivingValType IssuingOrReceivingValType 1
MaintOrderOperationCounter MaintOrderOperationCounter 1
MaintOrderRoutingNumber MaintOrderRoutingNumber 1
ManufactureDate ManufactureDate 7
ManufacturerMaterial ManufacturerMaterial 1
ManufacturingOrder ManufacturingOrder,ProcessOrder 10
ManufacturingOrderItem ManufacturingOrderItem 3
MasterFixedAsset MasterFixedAsset 2
MaterialDocumentHeaderText MaterialDocumentHeaderText 1
MaterialDocumentItemText MaterialDocumentItemText 2
MaterialDocumentLine MaterialDocumentLine 3
MaterialDocumentParentLine MaterialDocumentParentLine 1
MaterialDocumentRecordType MaterialDocumentRecordType 4
MatlCnsmpnQtyInMatlBaseUnit MatlCnsmpnQtyInMatlBaseUnit 4
MatlStkChangeQtyInBaseUnit MatlStkChangeQtyInBaseUnit 8
MultiAcctAssgmtOriglMatlDocItm MultiAcctAssgmtOriglMatlDocItm 1
MultipleAccountAssignmentCode MultipleAccountAssignmentCode 1
NumberOfLabelsToBePrinted NumberOfLabelsToBePrinted 1
NumberOfSlipsToBePrinted NumberOfSlipsToBePrinted 1
OrderID MaintenanceOrder,ManufacturingOrder,OrderID 4
OrderItem ManufacturingOrderItem,OrderItem 4
OrderPriceUnit OrderPriceUnit,OrderUnitOfMeasure 2
OrderQuantityUnit OrderQuantityUnit 1
OriginalMaterialDocumentItem OriginalMaterialDocumentItem 2
PL_MMDocumentHasAlwaysPriceAmt PL_MMDocumentHasAlwaysPriceAmt 1
ProductCharacteristic1 ProductCharacteristic1 1
ProductCharacteristic2 ProductCharacteristic2 1
ProductCharacteristic3 ProductCharacteristic3 1
ProductCollection ProductCollection 1
ProductSeason ProductSeason 1
ProductSeasonYear ProductSeasonYear 1
ProductTheme ProductTheme 1
ProfitabilitySegment ProfitabilitySegment 1
ProfitabilitySegment_2 ProfitabilitySegment_2 1
ProfitCenter ProfitCenter 1
ProjectNetwork ProjectNetwork 2
QtyInPurchaseOrderPriceUnit OrderQuantity,QtyInPurchaseOrderPriceUnit 2
QuantityInBaseUnit QuantityInBaseUnit 13
QuantityInDeliveryQtyUnit QuantityInDeliveryQtyUnit 1
QuantityInEntryUnit QuantityInEntryUnit,UnitOfMeasure 6
ReferenceDocument AccountingDocExternalReference,ReferenceDocument 3
Reservation Reservation 7
ReservationIsFinallyIssued ReservationIsFinallyIssued 4
ReservationItem ReservationItem 5
ReservationRecordType ReservationRecordType 2
ResourceID ResourceID 3
ReversedMaterialDocument ReversedMaterialDocument 6
ReversedMaterialDocumentItem ReversedMaterialDocumentItem 6
ReversedMaterialDocumentYear ReversedMaterialDocumentYear 6
RvslOfGoodsReceiptIsAllowed RvslOfGoodsReceiptIsAllowed 1
SalesOrder SalesOrder 4
SalesOrderItem SalesOrderItem 3
SalesOrderScheduleLine SalesOrderScheduleLine 2
ServicePerformer ServicePerformer 1
ServicesRenderedDate ServicesRenderedDate 1
ShelfLifeExpirationDate ShelfLifeExpirationDate 5
ShipgInstrnSupplierCompliance ShipgInstrnSupplierCompliance 1
ShippingInstruction ShippingInstruction 1
SlsPrcAmtInclVATInCoCodeCrcy SlsPrcAmtInclVATInCoCodeCrcy 1
StockOwner StockOwner 2
StockSegment StockSegment 1
StorageBin StorageBin 4
StorageType StorageType 4
Supplier Supplier,Vendor 9
TotalGoodsMvtAmtInCCCrcy TotalGoodsMvtAmtInCCCrcy 2
TransactionCode TransactionCode 1
TransferPriority TransferPriority 1
TransferRequirementNumber TransferRequirementNumber 1
UnloadingPointName UnloadingPointName 2
VersionForPrintingSlip VersionForPrintingSlip 1
WarehouseNumber WarehouseNumber 1
WBSElementInternalID WBSElementInternalID 4
WeekDay WeekDay 1
WorkItem WorkItem 1
YearDay YearDay 1
YearMonth YearMonth 1
YearPeriod YearPeriod 1
YearQuarter YearQuarter 1
YearWeek YearWeek 1
@EndUserText.label: 'Basis view for MATDOC table'
@AccessControl: {
                  authorizationCheck: #CHECK,
                  personalData.blocking: #BLOCKED_DATA_EXCLUDED
                }
@ObjectModel: {
                usageType: {
                             sizeCategory: #XXL,
                             serviceQuality: #A,
                             dataClass:#TRANSACTIONAL
                           }
              }
@VDM: {
        private: false,
        viewType: #BASIC,
        lifecycle.contract.type: #SAP_INTERNAL_API           
        }

define view entity I_MaterialDocumentRecord
  as select from matdoc

  association [0..1] to I_Material                  as _Material                      on  $projection.Material = _Material.Material
  association [0..1] to I_Material                  as _StockIdentifyingMaterial      on  $projection.StockIdentifyingMaterial = _StockIdentifyingMaterial.Material
  association [0..1] to I_Material                  as _IssgOrRcvgMaterial            on  $projection.IssgOrRcvgMaterial = _IssgOrRcvgMaterial.Material
//  association [0..1] to I_Product                   as _Product                       on  $projection.Material = _Product.Product

//  association [0..1] to I_Product                   as _StockIdentifyingProduct       on  $projection.StockIdentifyingMaterial = _StockIdentifyingProduct.Product

//  association [0..1] to I_Product                   as _IssgOrRcvgProduct             on  $projection.IssgOrRcvgMaterial = _IssgOrRcvgProduct.Product


  association [0..1] to I_Plant                     as _Plant                         on  $projection.Plant = _Plant.Plant
  association [0..1] to I_Plant                     as _IssuingOrReceivingPlant       on  $projection.IssuingOrReceivingPlant = _IssuingOrReceivingPlant.Plant
  association [0..1] to I_StorageLocation           as _StorageLocation               on  $projection.StorageLocation = _StorageLocation.StorageLocation
                                                                                      and $projection.Plant           = _StorageLocation.Plant
  association [0..1] to I_StorageLocation           as _IssuingOrReceivingStorageLoc  on  $projection.IssuingOrReceivingStorageLoc = _IssuingOrReceivingStorageLoc.StorageLocation
                                                                                      and $projection.IssuingOrReceivingPlant      = _IssuingOrReceivingStorageLoc.Plant
  association [0..1] to I_StorageLocation           as _StockIdfgStorageLocation      on  $projection.StockIdfgStorageLocation = _StockIdfgStorageLocation.StorageLocation
                                                                                      and $projection.Plant                    = _StockIdfgStorageLocation.Plant

  association [0..1] to I_Supplier                  as _Supplier                      on  $projection.Supplier = _Supplier.Supplier
  association [0..1] to I_Supplier                  as _SpecialStockIdfgSupplier      on  $projection.SpecialStockIdfgSupplier = _SpecialStockIdfgSupplier.Supplier

  association [0..1] to I_Customer                  as _Customer                      on  $projection.Customer = _Customer.Customer
  association [0..1] to I_Customer                  as _SpecialStockIdfgCustomer      on  $projection.SpecialStockIdfgCustomer = _SpecialStockIdfgCustomer.Customer

  association [0..1] to I_SupplierCompanyByPlant    as _SupplierCompanyByPlant      on  $projection.Supplier = _SupplierCompanyByPlant.Supplier
                                                                                    and $projection.Plant = _SupplierCompanyByPlant.Plant
  association [0..1] to I_CustomerCompanyByPlant    as _CustomerCompanyByPlant      on  $projection.Customer = _CustomerCompanyByPlant.Customer
                                                                                    and $projection.Plant    = _CustomerCompanyByPlant.Plant

  association [0..1] to I_Supplier                  as _BPStockOwner                  on  $projection.StockOwner = _BPStockOwner.Supplier
  association [0..1] to I_Supplier                  as _SpecialStockIdfgStockOwner    on  $projection.SpecialStockIdfgStockOwner = _SpecialStockIdfgStockOwner.Supplier

  association [0..1] to I_InventorySpecialStockType as _InventorySpecialStockType     on  $projection.InventorySpecialStockType = _InventorySpecialStockType.InventorySpecialStockType
  association [0..1] to I_InventorySpecialStockType as _IssgOrRcvgSpclStockInd        on  $projection.IssgOrRcvgSpclStockInd = _IssgOrRcvgSpclStockInd.InventorySpecialStockType
  association [0..1] to I_InventoryStockType        as _InventoryStockType            on  $projection.InventoryStockType = _InventoryStockType.InventoryStockType
  association [0..1] to I_InventoryStockType        as _IssuingOrReceivingStockType   on  $projection.IssuingOrReceivingStockType = _IssuingOrReceivingStockType.InventoryStockType
  association [0..1] to I_InventoryValuationType    as _InventoryValuationType        on  $projection.InventoryValuationType = _InventoryValuationType.InventoryValuationType

  association [0..1] to I_GoodsMovementType         as _GoodsMovementType             on  $projection.GoodsMovementType = _GoodsMovementType.GoodsMovementType
  association [0..1] to I_PhysInvtryReasonCode      as _GoodsMovementReasonCode       on  $projection.GoodsMovementType = _GoodsMovementReasonCode.GoodsMovementType
                                                                                      and $projection.GoodsMovementReasonCode = _GoodsMovementReasonCode.ReasonForPhysInvtryDifference

  association [0..1] to I_DebitCreditCode           as _DebitCreditCode               on  $projection.DebitCreditCode = _DebitCreditCode.DebitCreditCode
  -- View I_StockType is deprecated; I_StockType_2 is the successor
  association [0..1] to I_StockType                 as _StockType                     on  $projection.InventoryUsabilityCode = _StockType.StockType
  -- View I_StockType_2 is deprecated; I_InventoryUsabilityCode is the successor
  association [0..1] to I_StockType_2               as _StockType_2                   on  $projection.InventoryUsabilityCode = _StockType_2.StockType
  association [0..1] to I_InventoryUsabilityCode    as _InventoryUsabilityCode        on  $projection.InventoryUsabilityCode = _InventoryUsabilityCode.InventoryUsabilityCode

  association [0..1] to I_UnitOfMeasure             as _MaterialBaseUnit              on  $projection.MaterialBaseUnit = _MaterialBaseUnit.UnitOfMeasure
  association [0..1] to I_UnitOfMeasure             as _EntryUnit                     on  $projection.EntryUnit = _EntryUnit.UnitOfMeasure

  association [0..1] to I_GLAccount                 as _GLAccount                     on  $projection.GLAccount   = _GLAccount.GLAccount
                                                                                      and $projection.CompanyCode = _GLAccount.CompanyCode

  association [0..*] to I_CostCenter                as _CostCenter                    on  $projection.CostCenter      = _CostCenter.CostCenter
                                                                                      and $projection.ControllingArea = _CostCenter.ControllingArea
                                                                                      and $projection.PostingDate    <= _CostCenter.ValidityEndDate
                                                                                      and $projection.PostingDate    >= _CostCenter.ValidityStartDate

  --valid date range not included, multiple entries can be returned
  association [0..*] to I_ProfitCenter              as _ProfitCenter                  on  $projection.ControllingArea = _ProfitCenter.ControllingArea
                                                                                      and $projection.ProfitCenter    = _ProfitCenter.ProfitCenter
                                                                                      and $projection.PostingDate    <= _ProfitCenter.ValidityEndDate
                                                                                      and $projection.PostingDate    >= _ProfitCenter.ValidityStartDate
  association [0..*] to I_ProfitCenter              as _PartnerProfitCenter           on  $projection.ControllingArea = _PartnerProfitCenter.ControllingArea
                                                                                      and $projection.PartnerProfitCenter    = _PartnerProfitCenter.ProfitCenter
                                                                                      and $projection.PostingDate    <= _PartnerProfitCenter.ValidityEndDate
                                                                                      and $projection.PostingDate    >= _PartnerProfitCenter.ValidityStartDate
  association [0..1] to I_BusinessPartner           as _BusinessPartner               on  $projection.ServicePerformer = _BusinessPartner.BusinessPartner
  association [0..1] to I_Employment                as _Employment                    on  $projection.EmploymentInternalID = _Employment.EmploymentInternalID
  association [0..1] to I_PersonWorkAgreement_1     as _PersonWorkAgreement           on  $projection.PersonWorkAgreement = _PersonWorkAgreement.PersonWorkAgreement
  association [0..1] to I_AccountAssignmentCategory as _AccountAssignmentCategory     on  $projection.AccountAssignmentCategory = _AccountAssignmentCategory.AccountAssignmentCategory
  association [0..1] to I_WorkItem                  as _WorkItem                      on  $projection.WorkItem = _WorkItem.WorkItem

  association [0..1] to I_MasterFixedAsset          as _MasterFixedAsset              on  $projection.CompanyCode      = _MasterFixedAsset.CompanyCode
                                                                                      and $projection.MasterFixedAsset = _MasterFixedAsset.MasterFixedAsset
  association [0..1] to I_FixedAsset                as _FixedAsset                    on  $projection.CompanyCode = _FixedAsset.CompanyCode
                                                                                      and $projection.MasterFixedAsset = _FixedAsset.MasterFixedAsset
                                                                                      and $projection.FixedAsset       = _FixedAsset.FixedAsset

  association [0..1] to I_CompanyCode               as _CompanyCode                   on  $projection.CompanyCode = _CompanyCode.CompanyCode
  association [0..1] to I_BusinessArea              as _BusinessArea                  on  $projection.BusinessArea = _BusinessArea.BusinessArea
  association [0..1] to I_ControllingArea           as _ControllingArea               on  $projection.ControllingArea = _ControllingArea.ControllingArea
  association [0..1] to I_FunctionalArea            as _FunctionalArea                on  $projection.FunctionalArea = _FunctionalArea.FunctionalArea

  // CE2111 service document for aac R

  association [0..1] to I_ServiceDocumentType       as _ServiceDocumentType           on  $projection.ServiceDocumentType = _ServiceDocumentType.ServiceDocumentType

  association [0..1] to I_SalesOrder                as _SalesOrder                    on  $projection.SalesOrder = _SalesOrder.SalesOrder
  association [0..1] to I_SalesOrder                as _SpecialStockIdfgSalesOrder    on  $projection.SpecialStockIdfgSalesOrder = _SpecialStockIdfgSalesOrder.SalesOrder

  association [0..1] to I_SalesOrderItem            as _SalesOrderItem                on  $projection.SalesOrder     = _SalesOrderItem.SalesOrder
                                                                                      and $projection.SalesOrderItem = _SalesOrderItem.SalesOrderItem
  association [0..1] to I_SalesOrderItem            as _SpecialStockIdfgSalesOrderItm on  $projection.SpecialStockIdfgSalesOrder     = _SpecialStockIdfgSalesOrderItm.SalesOrder
                                                                                      and $projection.SpecialStockIdfgSalesOrderItem = _SpecialStockIdfgSalesOrderItm.SalesOrderItem
  association [0..1] to I_SalesOrderScheduleLine    as _SalesOrderScheduleLine        on  $projection.SalesOrder     = _SalesOrderScheduleLine.SalesOrder
                                                                                      and $projection.SalesOrderItem = _SalesOrderScheduleLine.SalesOrderItem
                                                                                      and $projection.SalesOrderScheduleLine = _SalesOrderScheduleLine.ScheduleLine
// Deprecated view; replaced by I_WBSElementBasicData

  association [0..1] to I_WBSElementByInternalKey   as _SpecialStockIdfgWBSElement    on  $projection.SpecialStockIdfgWBSElement = _SpecialStockIdfgWBSElement.WBSElementInternalID
// Deprecated view; replaced by I_WBSElementBasicData 

  association [0..1] to I_WBSElementByInternalKey   as _WBSElement                    on  $projection.WBSElementInternalID = _WBSElement.WBSElementInternalID
  association [0..1] to I_WBSElementBasicData       as _SpclStkIdfgWBSElmntBasicData  on  $projection.SpecialStockIdfgWBSElement = _SpclStkIdfgWBSElmntBasicData.WBSElementInternalID
  association [0..1] to I_WBSElementBasicData       as _WBSElementBasicData           on  $projection.WBSElementInternalID = _WBSElementBasicData.WBSElementInternalID


  association [0..1] to I_PurchaseOrder             as _PurchaseOrder                 on  $projection.PurchaseOrder = _PurchaseOrder.PurchaseOrder
  association [0..1] to I_PurchaseOrderItem         as _PurchaseOrderItem             on  $projection.PurchaseOrder     = _PurchaseOrderItem.PurchaseOrder
                                                                                      and $projection.PurchaseOrderItem = _PurchaseOrderItem.PurchaseOrderItem
  association [0..1] to I_ProjectNetwork            as _ProjectNetwork                on  $projection.ProjectNetwork = _ProjectNetwork.ProjectNetwork
// Deprecated view; replaced by I_ManufacturingOrder

  association [0..1] to I_MfgOrder                  as _MfgOrder                      on  $projection.ManufacturingOrder = _MfgOrder.ManufacturingOrder
// Deprecated view; replaced by I_ManufacturingOrderItem

  association [0..1] to I_MfgOrderItem              as _MfgOrderItem                  on  $projection.ManufacturingOrder     = _MfgOrderItem.ManufacturingOrder
                                                                                      and $projection.ManufacturingOrderItem = _MfgOrderItem.ManufacturingOrderItem

  association [0..1] to I_ManufacturingOrder        as _ManufacturingOrder            on  $projection.ManufacturingOrder = _ManufacturingOrder.ManufacturingOrder
  association [0..1] to I_ManufacturingOrderItem    as _ManufacturingOrderItem        on  $projection.ManufacturingOrder     = _ManufacturingOrderItem.ManufacturingOrder
                                                                                      and $projection.ManufacturingOrderItem = _ManufacturingOrderItem.ManufacturingOrderItem

  association [0..1] to I_LogisticsOrder            as _LogisticsOrder                on  $projection.OrderID = _LogisticsOrder.OrderID
// The field AUFPS is not assigned to the field POSNR of table AFPO, AUFPS is only filled in case of a goods receipt to a Production Order

//  association [0..1] to I_OrderItem                 as _OrderItem                     on  $projection.OrderID = _OrderItem.OrderID

//                                                                                      and $projection.OrderItem = _OrderItem.OrderItem

  association [0..1] to I_DeliveryDocument          as _DeliveryDocument              on  $projection.DeliveryDocument = _DeliveryDocument.DeliveryDocument
  association [0..1] to I_DeliveryDocumentItem      as _DeliveryDocumentItem          on  $projection.DeliveryDocument     = _DeliveryDocumentItem.DeliveryDocument
                                                                                      and $projection.DeliveryDocumentItem = _DeliveryDocumentItem.DeliveryDocumentItem
  association [0..1] to I_DeliveryDocument          as _DeliveryInMatlDocumentHeader  on  $projection.DeliveryInMatlDocumentHeader = _DeliveryInMatlDocumentHeader.DeliveryDocument

  association [0..1] to I_User                      as _User                          on  $projection.CreatedByUser = _User.UserID
  association [0..1] to I_AccountingDocumentType    as _AccountingDocumentType        on  $projection.AccountingDocumentType = _AccountingDocumentType.AccountingDocumentType
  association [0..1] to I_InventoryTransactionType  as _InventoryTransactionType      on  $projection.InventoryTransactionType = _InventoryTransactionType.InventoryTransactionType
                                                                                      and _InventoryTransactionType.IsMaterialDocumentRelevant = 'X'
  association [0..1] to I_Currency                  as _Currency                      on  $projection.CompanyCodeCurrency = _Currency.Currency
  
  association [0..*] to I_GoodsMvtTypeBySpclStkIndT as _GoodsMvtTypeBySpclStkIndT     on  $projection.GoodsMovementType         = _GoodsMvtTypeBySpclStkIndT.GoodsMovementType
                                                                                      and $projection.InventorySpecialStockType = _GoodsMvtTypeBySpclStkIndT.InventorySpecialStockType
                                                                                      and $projection.GoodsMovementRefDocType   = _GoodsMvtTypeBySpclStkIndT.GoodsMovementRefDocType
                                                                                      and $projection.GoodsReceiptType          = _GoodsMvtTypeBySpclStkIndT.GoodsReceiptType
                                                                                      and $projection.ConsumptionPosting        = _GoodsMvtTypeBySpclStkIndT.ConsumptionPosting 
  association [0..*] to I_ResourceBasic             as _ResourceBasic                 on  $projection.ResourceID                = _ResourceBasic.ResourceID
  association [0..*] to I_ResourceBasic             as _IssgOrRcvgResourceBasic       on  $projection.IssgOrRcvgResourceID      = _IssgOrRcvgResourceBasic.ResourceID
  association [0..1] to I_GoodsMvtCancelationTypeVH as _CancelationType               on  $projection.GoodsMovementCancellationType = _CancelationType.GoodsMovementCancellationType
{

// The technical key fields from table MATDOC are only inserted here to make them available for the CDS based BW extraction via CDC

// GTNC field names are alligned with R.D. and centrally approved

  @Consumption.hidden: true
  cast(key1 as nsdm_key1   preserving type ) as MaterialDocumentKey1,
  @Consumption.hidden: true
  cast(key2 as nsdm_key2   preserving type ) as MaterialDocumentKey2,
  @Consumption.hidden: true
  cast(key3 as nsdm_key3   preserving type ) as MaterialDocumentKey3,
  @Consumption.hidden: true
  cast(key4 as nsdm_key4   preserving type ) as MaterialDocumentKey4,
  @Consumption.hidden: true
  cast(key5 as nsdm_key5   preserving type ) as MaterialDocumentKey5,
  @Consumption.hidden: true
  cast(key6 as nsdm_key6   preserving type ) as MaterialDocumentKey6,
  
  cast(mjahr as nsdm_mjahr preserving type ) as MaterialDocumentYear,
  mblnr             as MaterialDocument,
  cast(zeile as nsdm_mblpo preserving type ) as MaterialDocumentItem,

  cast(matbf as nsdm_matbf preserving type ) as StockIdentifyingMaterial,
  werks             as Plant,
  cast(lgort_sid as nsdm_lgort_l   preserving type )  as StockIdfgStorageLocation,
  charg_sid         as StockIdentifyingBatch,
  lifnr_sid         as SpecialStockIdfgSupplier,
  cast(mat_kdauf as nsdm_mat_kdauf preserving type )  as SpecialStockIdfgSalesOrder,
  cast(mat_kdpos as nsdm_mat_kdpos preserving type )  as SpecialStockIdfgSalesOrderItem,
  mat_pspnr         as SpecialStockIdfgWBSElement,
  kunnr_sid         as SpecialStockIdfgCustomer,
  cast(sobkz as nsdm_spcl_stock_type           preserving type ) as InventorySpecialStockType,
  lbbsa_sid         as InventoryStockType,
  cast(disub_owner_sid as nsdm_disub_owner_sid preserving type ) as SpecialStockIdfgStockOwner,
  resourcename_sid  as ResourceID,

  ummab_cid         as IssgOrRcvgStkIdfgMaterial,     //v2834623

  cast(umwrk_cid as nsdm_plant_cid_l           preserving type ) as IssgOrRcvgStkIdfgPlant,
  cast(lgort_cid as nsdm_lgort_cid_l           preserving type ) as IssgOrRcvgStkIdfgStorLoc,
  cast(charg_cid as nsdm_batch_cid             preserving type ) as IssgOrRcvgStkIdfgBatch,
  cast(lifnr_cid as nsdm_lifnr_cid             preserving type ) as IssgOrRcvgSpclStkIdfgSupplier,
  mat_kdauf_cid     as IssgOrRcvgSalesOrder,
  mat_kdpos_cid     as IssgOrRcvgSalesOrderItem,
  mat_pspnr_cid     as IssgOrRcvgWBSElement,
  cast(kunnr_cid as nsdm_kunnr_cid                 preserving type )  as IssgOrRcvgSpclStkIdfgCustomer,
  cast(umsok_cid as nsdm_sobkz_cid                 preserving type )  as IssgOrRcvgStkIdfgSpclStkType,
  cast(lbbsa_cid as nsdm_lbbsa_cid                 preserving type )  as IssuingOrReceivingStockType,
  cast(disub_owner_cid  as nsdm_disub_owner_cid    preserving type )  as IssgOrRcvgSpclStkIdfgStkOwner, //^2834623,

  cast(resourcename_cid as nsdm_resourcename_cid_l preserving type )  as IssgOrRcvgResourceID,
  kzzug             as GoodsReceiptType,


  -- with records of type MDOC_CP, AG_MDOC_CF etc there is no unique key except the technical GUID key, so we don't use any key fields at all

  matnr             as Material,
  lgort             as StorageLocation,
  charg             as Batch,
  cast(lifnr as mmim_supplier                      preserving type )  as Supplier,
  kdauf             as SalesOrder,
  cast(kdpos as nsdm_sales_order_item              preserving type )  as SalesOrderItem,
  cast(kdein as nsdm_kdein                         preserving type )  as SalesOrderScheduleLine,
  cast(kunnr as mmim_customer                      preserving type )  as Customer,
  cast(disub_owner as nsdm_add_spcl_stock_supplier preserving type )  as StockOwner,
  cast(ps_psp_pnr as nsdm_wbs_internal_id          preserving type )  as WBSElementInternalID,

  cast(ummat as nsdm_umat  preserving type )        as IssgOrRcvgMaterial,
  cast(umwrk as nsdm_plant preserving type )        as IssuingOrReceivingPlant,
  cast(umlgo as nsdm_umlgo preserving type )        as IssuingOrReceivingStorageLoc,
  cast(umcha as nsdm_umcha preserving type )        as IssgOrRcvgBatch,
  umsok             as IssgOrRcvgSpclStockInd,
  cast(umbar as nsdm_umbar preserving type )        as IssuingOrReceivingValType,

  cast(kzbew as nsdm_kzbew_l preserving type )      as GoodsMovementRefDocType,
  cast(kzvbr as nsdm_kzvbr   preserving type )      as ConsumptionPosting,
  grund             as GoodsMovementReasonCode,
  weanz             as NumberOfSlipsToBePrinted,
  cast(nroflabels as nsdm_labelstobeprinted preserving type ) as NumberOfLabelsToBePrinted,
  bwart             as GoodsMovementType,
  cast(shkzg as mmiv_shkzg preserving type )        as DebitCreditCode,
  cast(insmk as nsdm_insmk preserving type )        as InventoryUsabilityCode,
  @Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
  @DefaultAggregation: #NONE
  menge             as QuantityInBaseUnit,
  meins             as MaterialBaseUnit,

  @DefaultAggregation:#NONE
  @Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
  stock_qty         as MatlStkChangeQtyInBaseUnit,

  @DefaultAggregation:#NONE
  @Semantics.quantity.unitOfMeasure: 'MaterialBaseUnit'
  consumption_qty   as MatlCnsmpnQtyInMatlBaseUnit,
  
  @DefaultAggregation:#NONE
  @Semantics.quantity.unitOfMeasure: 'DeliveryQuantityUnit'
  cast(lsmng as nsdm_lsmng              preserving type ) as QuantityInDeliveryQtyUnit,
  lsmeh             as DeliveryQuantityUnit,

  @Semantics.businessDate.at: true
  bldat             as DocumentDate,
  blart             as AccountingDocumentType,
  cast(vgart as nsdm_vgart              preserving type ) as InventoryTransactionType,
  cast(kzbws as nsdm_separate_valn_type preserving type ) as InventorySpecialStockValnType,
  cast(xobew as nsdm_xobew              preserving type ) as IsSupplierStockValuation,

  cpudt             as CreationDate,
  cputm             as CreationTime,
  usnam             as CreatedByUser,
  bktxt             as MaterialDocumentHeaderText,
  sgtxt             as MaterialDocumentItemText,
  cast(le_vbeln as nsdm_delivery_on_header preserving type) as DeliveryInMatlDocumentHeader,
  frbnr             as BillOfLading,

  vfdat             as ShelfLifeExpirationDate,
  hsdat             as ManufactureDate,

  @Semantics.quantity.unitOfMeasure: 'EntryUnit'
  @DefaultAggregation: #NONE
  cast(erfmg as nsdm_erfmg preserving type )             as QuantityInEntryUnit,
  cast(erfme as nsdm_erfme preserving type )             as EntryUnit,
  bwtar             as InventoryValuationType,

  @Semantics.quantity.unitOfMeasure: 'OrderQuantityUnit'   //v2813353

  @DefaultAggregation: #NONE
  cast(bstmg as nsdm_mb_bstmg preserving type )          as GoodsReceiptQtyInOrderUnit,
  bstme             as OrderQuantityUnit,                  //^2813353


  cast(ebeln as nsdm_bstnr    preserving type )          as PurchaseOrder,
  ebelp             as PurchaseOrderItem,
  nplnr             as ProjectNetwork,
  cast(aufnr as nsdm_manufacturing_order preserving type) as ManufacturingOrder,
  cast(aufps as nsdm_manufacturing_order_item preserving type) as ManufacturingOrderItem,
  aufnr             as OrderID,
  cast(aufps as nsdm_co_posnr preserving type ) as OrderItem,
  cast(rsnum as nsdm_rsnum    preserving type ) as Reservation,
  cast(rspos as nsdm_rspos    preserving type ) as ReservationItem,
  cast(kzear as nsdm_kzear_l  preserving type ) as ReservationIsFinallyIssued,
  vbeln_im          as DeliveryDocument,
  cast(vbelp_im as nsdm_delivery_document_item preserving type) as DeliveryDocumentItem,
  elikz             as IsCompletelyDelivered,

  cast(sjahr as nsdm_sjahr_l preserving type ) as ReversedMaterialDocumentYear,
  cast(smbln as nsdm_smbln_l preserving type ) as ReversedMaterialDocument,
  cast(smblp as nsdm_smblp_l preserving type ) as ReversedMaterialDocumentItem,
  cast(xwsbr as nsdm_xwsbr   preserving type ) as RvslOfGoodsReceiptIsAllowed,
  cast(reversal_movement as nsdm_xstbw preserving type) as IsReversalMovementType,
  cancelled         as GoodsMovementIsCancelled,
  cast(cancellation_type as nsdm_cancellation_type_l preserving type ) as GoodsMovementCancellationType,

  wempf             as GoodsRecipientName,
  ablad             as UnloadingPointName,
  kostl             as CostCenter,
  sakto             as GLAccount,
  kstrg             as CostObject,
  @VDM.lifecycle.status: #DEPRECATED
  @VDM.lifecycle.successor: 'ProfitabilitySegment_2'
  cast( case when paobjnr > '9999999999' then '9999999999' else lpad( paobjnr, 10, '0' ) end as rkeobjnr_numc ) as ProfitabilitySegment,
  cast(paobjnr as rkeobjnr_char preserving type ) as ProfitabilitySegment_2,
  pprctr            as PartnerProfitCenter,
  prctr             as ProfitCenter,
  cast(kalnr as nsdm_kalnr1 preserving type )             as CostEstimate,

  xblnr             as ReferenceDocument,
  serviceperformer  as ServicePerformer,
  @VDM.lifecycle.status: #DEPRECATED
  @VDM.lifecycle.successor: 'PersonWorkAgreement'
  cast(pernr    as nsdm_employment_id preserving type ) as EmploymentInternalID,
  pernr             as PersonWorkAgreement,
  cast(knttp_gr as nsdm_knttp         preserving type ) as AccountAssignmentCategory,
  work_item_id      as WorkItem,
  cast(fbuda    as nsdm_fbuda         preserving type ) as ServicesRenderedDate,
  zekkn             as AccountAssignmentNumber,

  bukrs             as CompanyCode,
  gsber             as BusinessArea,
  kokrs             as ControllingArea,
  fkber             as FunctionalArea,
  cast(urzei as nsdm_urzei            preserving type )   as OriginalMaterialDocumentItem,
  maa_urzei         as MultiAcctAssgmtOriglMatlDocItm,
  weunb             as GoodsReceiptIsNonValuated,
  @VDM.lifecycle.status: #DEPRECATED
  @VDM.lifecycle.successor: 'MultipleAccountAssignmentCode'
  cast(xmacc        as mmim_xmacc_2    preserving type )  as HasMultipleAccountAssignment,
  cast(xmacc        as nsdm_xmacc_code preserving type )  as MultipleAccountAssignmentCode,
  anln1             as MasterFixedAsset,
  cast(anln2        as nsdm_anln2      preserving type )  as FixedAsset,
  @Semantics.businessDate.at: true
  cast(budat        as mmim_postingdate preserving type ) as PostingDate,
  @Semantics.fiscal.yearPeriod: true
  cast(gjper as nsdm_jahrper            preserving type)  as FiscalYearPeriod,
  @Semantics.fiscal.yearVariant: true
  periv             as FiscalYearVariant,

  fistl             as FundsCenter,
  geber             as Fund,
  @VDM.lifecycle.status: #DEPRECATED
  @VDM.lifecycle.successor: 'CommitmentItemShortID'  
  fipos             as CommitmentItem,
  cast(fipos as fmis_ci_internalname    preserving type)  as CommitmentItemShortID,
  grant_nbr         as GrantID,

  lgtyp             as StorageType,
  lgpla             as StorageBin,
  cast(bfwms as nsdm_bfwms             preserving type )  as CtrlPostgForExtWhseMgmtSyst,
  
  --Reference Fields
  cast(lfbja as nsdm_lfbja             preserving type )  as ReferenceDocumentFiscalYear,
  lfbnr             as InvtryMgmtReferenceDocument,
  cast(lfpos as mmiv_lfpos             preserving type )  as InvtryMgmtRefDocumentItem, 

  --EWM Fields
  ewm_lgnum         as EWMWarehouse,
  ewm_lgpla         as EWMStorageBin,
  cast(ewm_huident  as exidv            preserving type)  as HandlingUnitExternalID,

  --Service Document Fields
  service_doc_id    as ServiceDocument,
  cast(service_doc_item_id as nsdm_fco_srvdoc_item_id preserving type ) as ServiceDocumentItem,
  cast(service_doc_type    as nsdm_fco_srvdoc_type    preserving type ) as ServiceDocumentType,
  
  --Fields for print documents
  cast(aufpl as nsdm_co_aufpl  preserving type )          as MaintOrderRoutingNumber,
  cast(aplzl as nsdm_cim_count preserving type )          as MaintOrderOperationCounter,
  ematn             as ManufacturerMaterial,
  cast(xblvs as nsdm_xblvs    preserving type )           as ActivityInWarehouseIsPending,
  lgnum             as WarehouseNumber,
  cast(tbnum as nsdm_tbnum    preserving type )           as TransferRequirementNumber,
  tbpri             as TransferPriority,
  wever             as VersionForPrintingSlip,  
  xprint            as ManualPrintIsTriggered,   
  evers             as ShippingInstruction,
  evere             as ShipgInstrnSupplierCompliance,
  @Semantics.quantity.unitOfMeasure: 'OrderPriceUnit'
  cast(bpmng as mmiv_bpmng_po preserving type )           as QtyInPurchaseOrderPriceUnit,
  bprme             as OrderPriceUnit,

  yearday_budat     as YearDay,
  @Semantics.calendar.yearWeek: true
  yearweek_budat    as YearWeek,
  @Semantics.calendar.yearMonth: true
  yearmonth_budat   as YearMonth,
  @Semantics.calendar.yearQuarter: true
  yearquarter_budat as YearQuarter,
  @Semantics.calendar.year: true
  year_budat        as DocumentYear,
  @Semantics.calendar.quarter: true
  quarter_budat     as CalendarQuarter,
  @Semantics.calendar.month: true
  month_budat       as CalendarMonth,
  @Semantics.calendar.week: true
  week_budat        as CalendarWeek,
  @Semantics.calendar.dayOfYear: true
  cast(day_budat as nsdm_day_of_year preserving type)     as CalendarDay,
  cast(weekday_budat as nsdm_day_of_week preserving type) as WeekDay,
  gjahr             as FiscalYear,
  cast(gjper_curr_per as fins_fyearperiod preserving type) as YearPeriod,

  @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
  @DefaultAggregation: #NONE
  cast(dmbtr       as nsdm_dmbtr_cs      preserving type )  as TotalGoodsMvtAmtInCCCrcy,
  @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
  @DefaultAggregation: #NONE
  cast(dmbtr_stock as nsdm_dmbtr_stock_l preserving type )  as GoodsMovementStkAmtInCCCrcy,
  @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
  @DefaultAggregation: #NONE
  cast(dmbtr_cons  as nsdm_dmbtr_cons_l  preserving type )  as GoodsMvtCnsmpnAmtInCCCrcy,
  cast(waers as nsdm_comp_code_currency  preserving type)   as CompanyCodeCurrency,

  @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
  @DefaultAggregation: #NONE
  cast(exbwr as nsdm_exbwr preserving type )              as GdsMvtExtAmtInCoCodeCrcy,
  @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
  @DefaultAggregation: #NONE
  cast(vkwrt as nsdm_vkwrt preserving type )              as SlsPrcAmtInclVATInCoCodeCrcy,
  @Semantics.amount.currencyCode: 'CompanyCodeCurrency'
  @DefaultAggregation: #NONE
  exvkw             as EnteredSlsAmtInCoCodeCrcy,
  
  cast(xabln as nsdm_xabln preserving type )              as GoodsIssueOrReceiptSlipNumber,

  @Consumption.hidden: true
  tcode2            as TransactionCode,

  @Consumption.hidden: true
  cast(xauto as nsdm_xauto_l      preserving type) as IsAutomaticallyCreated,
  @Consumption.hidden: true
  cast(line_id as nsdm_mb_line_id preserving type) as MaterialDocumentLine,
  @Consumption.hidden: true
  parent_id         as MaterialDocumentParentLine,
  @Consumption.hidden: true
  cast(line_depth as nsdm_mb_line_depth        preserving type ) as HierarchyNodeLevel,

  @Consumption.hidden: true
  record_type       as MaterialDocumentRecordType,
  @Consumption.hidden: true
  cast(header_counter as nsdm_header_counter_l preserving type ) as IsMaterialDocumentHeader,
  
  @DefaultAggregation: #NONE  
  cast(rsart as nsdm_reservation_record_type   preserving type ) as ReservationRecordType,
  
  cast(xsaut as nsdm_xsaut                     preserving type ) as SerialNumbersAreCreatedAutomly,
  cast(xstor as nsdm_kzsto                     preserving type ) as MaterialDocumentPostingType,
  awsys             as LogicalSystem,
  
  _Material,
  _StockIdentifyingMaterial,
  _IssgOrRcvgMaterial,
//  _Product,

//  _StockIdentifyingProduct,

//  _IssgOrRcvgProduct,


  _Plant,
  _IssuingOrReceivingPlant,
  _StorageLocation,
  _IssuingOrReceivingStorageLoc,
  _StockIdfgStorageLocation,

  _Supplier,
  _SpecialStockIdfgSupplier,

  _Customer,
  _SpecialStockIdfgCustomer,

  @Consumption.hidden: true
  _SupplierCompanyByPlant,
  @Consumption.hidden: true
  _CustomerCompanyByPlant,

  _BPStockOwner,
  _SpecialStockIdfgStockOwner,

  _InventorySpecialStockType,
  _IssgOrRcvgSpclStockInd,
  _InventoryStockType,
  _IssuingOrReceivingStockType,
  _InventoryValuationType,

  _GoodsMovementType,
  _GoodsMovementReasonCode,
  _DebitCreditCode,
  @API.element.releaseState: #DEPRECATED
  @API.element.successor: '_StockType_2'
  @VDM.lifecycle.status: #DEPRECATED
  @VDM.lifecycle.successor: '_StockType_2'
  _StockType,
  @API.element.releaseState: #DEPRECATED
  @API.element.successor: '_InventoryUsabilityCode'
  @VDM.lifecycle.status: #DEPRECATED
  @VDM.lifecycle.successor: '_InventoryUsabilityCode'
  _StockType_2,
  _InventoryUsabilityCode,

  _MaterialBaseUnit,
  _EntryUnit,

  _BusinessPartner,
  @VDM.lifecycle.status: #DEPRECATED
  @VDM.lifecycle.successor: '_PersonWorkAgreement'
  _Employment,
  _PersonWorkAgreement,
  _AccountAssignmentCategory,
  _WorkItem,
  _MasterFixedAsset,
  _FixedAsset,
  _CompanyCode,
  _BusinessArea,
  _ControllingArea,
  _GLAccount,
  _CostCenter,
  _FunctionalArea,
  _ProfitCenter,

  _ServiceDocumentType,

  _SalesOrder,
  _SpecialStockIdfgSalesOrder,

  _SalesOrderItem,
  _SpecialStockIdfgSalesOrderItm,

  _SalesOrderScheduleLine,

  @VDM.lifecycle.status: #DEPRECATED
  @VDM.lifecycle.successor: '_WBSElementBasicData'
  _WBSElement,
  @VDM.lifecycle.status: #DEPRECATED
  @VDM.lifecycle.successor: '_SpclStkIdfgWBSElmntBasicData'
  _SpecialStockIdfgWBSElement,
  _WBSElementBasicData,
  _SpclStkIdfgWBSElmntBasicData,

  _PurchaseOrder,
  _PurchaseOrderItem,
  _ProjectNetwork,
  @VDM.lifecycle.status: #DEPRECATED
  @VDM.lifecycle.successor: '_ManufacturingOrder'
  _MfgOrder,
  @VDM.lifecycle.status: #DEPRECATED
  @VDM.lifecycle.successor: '_ManufacturingOrderItem'
  _MfgOrderItem,
  _ManufacturingOrder,
  _ManufacturingOrderItem,
  _LogisticsOrder,
  _DeliveryDocument,
  _DeliveryDocumentItem,
  _DeliveryInMatlDocumentHeader,

  _User,
  _AccountingDocumentType,
  _InventoryTransactionType,
  _Currency,
  _GoodsMvtTypeBySpclStkIndT,
  
  _ResourceBasic,
  _IssgOrRcvgResourceBasic,
  _PartnerProfitCenter,
  _CancelationType
}