I_MfgOrderMaterialDocumentItem
Manufacturing Order Material Document Item
I_MfgOrderMaterialDocumentItem is a Composite CDS View (Dimension) that provides data about "Manufacturing Order Material Document Item" in SAP S/4HANA. It reads from 2 data sources (I_MaterialDocumentRecord, I_MfgOrderBasic) and exposes 101 fields with key fields MaterialDocument, MaterialDocumentYear. It has 43 associations to related views.
Data Sources (2)
| Source | Alias | Join Type |
|---|---|---|
| I_MaterialDocumentRecord | doc | from |
| I_MfgOrderBasic | ord | inner |
Associations (43)
| Cardinality | Target | Alias | Condition |
|---|---|---|---|
| [1..1] | I_MaterialDocumentHeader_2 | _MaterialDocumentHeader | $projection.MaterialDocument = _MaterialDocumentHeader.MaterialDocument and $projection.MaterialDocumentYear = _MaterialDocumentHeader.MaterialDocumentYear |
| [1..1] | I_MaterialDocumentYear | _MaterialDocumentYear | $projection.MaterialDocumentYear = _MaterialDocumentYear.MaterialDocumentYear |
| [1..1] | I_MaterialDocumentItem_2 | _MaterialDocumentItem | $projection.MaterialDocumentYear = _MaterialDocumentItem.MaterialDocumentYear and $projection.MaterialDocument = _MaterialDocumentItem.MaterialDocument and $projection.MaterialDocumentItem = _MaterialDocumentItem.MaterialDocumentItem |
| [1..1] | I_User | _CreatedByUser | $projection.CreatedByUser = _CreatedByUser.UserID |
| [1..1] | I_ManufacturingOrder | _MfgOrder | $projection.ManufacturingOrder = _MfgOrder.ManufacturingOrder |
| [1..1] | I_ManufacturingOrderItem | _MfgOrderItem | $projection.ManufacturingOrder = _MfgOrderItem.ManufacturingOrder and $projection.ManufacturingOrderItem = _MfgOrderItem.ManufacturingOrderItem |
| [1..1] | I_MfgOrderType | _MfgOrderType | $projection.ManufacturingOrderType = _MfgOrderType.ManufacturingOrderType |
| [0..1] | I_CalendarDate | _CreationDate | $projection.creationdate = _CreationDate.CalendarDate |
| [0..1] | I_CalendarDate | _DocumentDate | $projection.DocumentDate = _DocumentDate.CalendarDate |
| [0..1] | I_CalendarDate | _PostingDate | $projection.PostingDate = _PostingDate.CalendarDate |
| [0..1] | I_ReservationDocumentHeader | _Reservation | $projection.Reservation = _Reservation.Reservation |
| [0..1] | I_ReservationDocumentItem | _ReservationItem | $projection.Reservation = _ReservationItem.Reservation and $projection.ReservationItem = _ReservationItem.ReservationItem and $projection.ReservationRecordType = _ReservationItem.RecordType |
| [0..1] | I_ReservationDocRecordType | _ReservationRecordType | $projection.ReservationRecordType = _ReservationRecordType.RecordType |
| [1..1] | I_Plant | _Plant | $projection.Plant = _Plant.Plant |
| [1..1] | I_Material | _Material | $projection.Material = _Material.Material |
| [1..1] | I_Product | _Product | $projection.Material = _Product.Product |
| [1..1] | I_ProductPlantBasic | _ProductPlant | $projection.Plant = _ProductPlant.Plant and $projection.Material = _ProductPlant.Product |
| [0..1] | I_UnitOfMeasure | _BaseUnit | $projection.BaseUnit = _BaseUnit.UnitOfMeasure |
| [1..1] | I_UnitOfMeasure | _EntryUnit | $projection.EntryUnit = _EntryUnit.UnitOfMeasure |
| [1..1] | I_GoodsMovementType | _GoodsMovementType | $projection.GoodsMovementType = _GoodsMovementType.GoodsMovementType |
| [0..1] | I_PhysInvtryReasonCode | _GoodsMovementReason | $projection.GoodsMovementType = _GoodsMovementReason.GoodsMovementType and $projection.GoodsMovementReasonCode = _GoodsMovementReason.ReasonForPhysInvtryDifference |
| [0..1] | I_GoodsMovementRefDocType | _GoodsMovementRefDocType | $projection.GoodsMovementRefDocType = _GoodsMovementRefDocType.GoodsMovementRefDocType |
| [0..1] | I_InventorySpecialStockType | _InventorySpecialStockType | $projection.InventorySpecialStockType = _InventorySpecialStockType.InventorySpecialStockType |
| [0..1] | I_InventoryValuationType | _InventoryValuationType | $projection.InventoryValuationType = _InventoryValuationType.InventoryValuationType |
| [0..1] | I_ConsumptionPosting | _ConsumptionPosting | $projection.ConsumptionPosting = _ConsumptionPosting.ConsumptionPosting |
| [0..1] | I_DebitCreditCode | _DebitCreditCode | $projection.DebitCreditCode = _DebitCreditCode.DebitCreditCode |
| [0..1] | I_StockType_2 | _InventoryUsabilityCode | $projection.InventoryUsabilityCode = _InventoryUsabilityCode.StockType |
| [0..1] | I_StorageLocation | _StorageLocation | $projection.Plant = _StorageLocation.Plant and $projection.StorageLocation = _StorageLocation.StorageLocation |
| [0..1] | I_Batch | _Batch | $projection.Plant = _Batch.Plant and $projection.Material = _Batch.Material and $projection.Batch = _Batch.Batch |
| [0..1] | I_SalesOrder | _SalesOrder | $projection.SalesOrder = _SalesOrder.SalesOrder |
| [0..1] | I_SalesOrderItem | _SalesOrderItem | $projection.SalesOrder = _SalesOrderItem.SalesOrder and $projection.SalesOrderItem = _SalesOrderItem.SalesOrderItem |
| [0..1] | I_WBSElementBasicData | _WBSElement | $projection.WBSElementInternalID = _WBSElement.WBSElementInternalID |
| [0..1] | I_PurchaseOrderAPI01 | _PurchaseOrder | $projection.PurchaseOrder = _PurchaseOrder.PurchaseOrder |
| [0..1] | I_PurchaseOrderItemAPI01 | _PurchaseOrderItem | $projection.PurchaseOrder = _PurchaseOrderItem.PurchaseOrder and $projection.PurchaseOrderItem = _PurchaseOrderItem.PurchaseOrderItem |
| [0..1] | I_Supplier | _Supplier | $projection.Supplier = _Supplier.Supplier |
| [0..1] | I_Customer | _Customer | $projection.Customer = _Customer.Customer |
| [0..1] | I_SupplierCompanyByPlant | _SupplierCompanyByPlant | $projection.Plant = _SupplierCompanyByPlant.Plant and $projection.Supplier = _SupplierCompanyByPlant.Supplier |
| [0..1] | I_CustomerCompanyByPlant | _CustomerCompanyByPlant | $projection.Plant = _CustomerCompanyByPlant.Plant and $projection.Customer = _CustomerCompanyByPlant.Customer |
| [0..1] | I_CompanyCode | _CompanyCode | $projection.CompanyCode = _CompanyCode.CompanyCode |
| [0..1] | I_BusinessArea | _BusinessArea | $projection.BusinessArea = _BusinessArea.BusinessArea |
| [0..1] | I_ControllingArea | _ControllingArea | $projection.ControllingArea = _ControllingArea.ControllingArea |
| [0..*] | I_CostCenter | _CostCenter | $projection.ControllingArea = _CostCenter.ControllingArea and $projection.CostCenter = _CostCenter.CostCenter |
| [0..1] | I_Currency | _Currency | $projection.CompanyCodeCurrency = _Currency.Currency |
Annotations (16)
| Name | Value | Level | Field |
|---|---|---|---|
| AbapCatalog.sqlViewName | IMFGORDMATDOCITM | view | |
| AbapCatalog.compiler.compareFilter | true | view | |
| AccessControl.authorizationCheck | #MANDATORY | view | |
| Analytics.dataCategory | #DIMENSION | view | |
| Analytics.internalName | #LOCAL | view | |
| ClientHandling.algorithm | #SESSION_VARIABLE | view | |
| Metadata.allowExtensions | true | view | |
| Metadata.ignorePropagatedAnnotations | true | view | |
| ObjectModel.modelingPattern | #NONE | view | |
| ObjectModel.representativeKey | MaterialDocumentItem | view | |
| ObjectModel.usageType.serviceQuality | #C | view | |
| ObjectModel.usageType.sizeCategory | #XL | view | |
| ObjectModel.usageType.dataClass | #TRANSACTIONAL | view | |
| VDM.lifecycle.contract.type | #PUBLIC_LOCAL_API | view | |
| VDM.viewType | #COMPOSITE | view | |
| EndUserText.label | Manufacturing Order Material Document Item | view |
Fields (101)
| Key | Field | Source Table | Source Field | Description |
|---|---|---|---|---|
| KEY | MaterialDocument | I_MaterialDocumentRecord | MaterialDocument | |
| MaterialDocumentItem | ||||
| KEY | MaterialDocumentYear | I_MaterialDocumentRecord | MaterialDocumentYear | |
| ManufacturingOrder | I_MaterialDocumentRecord | OrderID | ||
| ManufacturingOrderItem | I_MaterialDocumentRecord | OrderItem | ||
| ManufacturingOrderCategory | I_MfgOrderBasic | ManufacturingOrderCategory | ||
| ManufacturingOrderType | I_MfgOrderBasic | ManufacturingOrderType | ||
| CreationDate | _MaterialDocumentHeader | CreationDate | ||
| CreationTime | _MaterialDocumentHeader | CreationTime | ||
| CreatedByUser | ||||
| ReversedMaterialDocumentYear | I_MaterialDocumentRecord | ReversedMaterialDocumentYear | ||
| ReversedMaterialDocument | I_MaterialDocumentRecord | ReversedMaterialDocument | ||
| ReversedMaterialDocumentItem | I_MaterialDocumentRecord | ReversedMaterialDocumentItem | ||
| GoodsMovementIsCancelled | I_MaterialDocumentRecord | GoodsMovementIsCancelled | ||
| Material | ||||
| Plant | I_MaterialDocumentRecord | Plant | ||
| Reservation | I_MaterialDocumentRecord | Reservation | ||
| ReservationItem | ||||
| ReservationRecordType | ||||
| ReservationIsFinallyIssued | I_MaterialDocumentRecord | ReservationIsFinallyIssued | ||
| StorageLocation | ||||
| Batch | I_MaterialDocumentRecord | Batch | ||
| InventoryValuationType | ||||
| ConsumptionPosting | ||||
| DebitCreditCode | ||||
| GoodsMovementType | ||||
| GoodsMovementReasonCode | I_MaterialDocumentRecord | GoodsMovementReasonCode | ||
| GoodsMovementRefDocType | ||||
| InventoryUsabilityCode | ||||
| InventorySpecialStockType | ||||
| SalesOrder | ||||
| SalesOrderItem | ||||
| WBSElementInternalID | ||||
| Supplier | I_MaterialDocumentRecord | Supplier | ||
| Customer | I_MaterialDocumentRecord | Customer | ||
| GoodsRecipientName | ||||
| UnloadingPointName | I_MaterialDocumentRecord | UnloadingPointName | ||
| GoodsReceiptIsNonValuated | ||||
| IsCompletelyDelivered | I_MaterialDocumentRecord | IsCompletelyDelivered | ||
| StorageType | I_MaterialDocumentRecord | StorageType | ||
| StorageBin | I_MaterialDocumentRecord | StorageBin | ||
| CompanyCode | I_MaterialDocumentRecord | CompanyCode | ||
| BusinessArea | I_MaterialDocumentRecord | BusinessArea | ||
| ControllingArea | I_MaterialDocumentRecord | ControllingArea | ||
| CostCenter | ||||
| PostingDate | I_MaterialDocumentRecord | PostingDate | ||
| DocumentDate | I_MaterialDocumentRecord | DocumentDate | ||
| ShelfLifeExpirationDate | I_MaterialDocumentRecord | ShelfLifeExpirationDate | ||
| ManufactureDate | I_MaterialDocumentRecord | ManufactureDate | ||
| BaseUnit | I_MaterialDocumentRecord | MaterialBaseUnit | ||
| QuantityInBaseUnit | I_MaterialDocumentRecord | QuantityInBaseUnit | ||
| EntryUnit | I_MaterialDocumentRecord | EntryUnit | ||
| QuantityInEntryUnit | ||||
| CompanyCodeCurrency | I_MaterialDocumentRecord | CompanyCodeCurrency | ||
| TotalGoodsMvtAmtInCCCrcy | ||||
| ManufacturingOrderSequence | ||||
| ManufacturingOrderOperation | ||||
| _MaterialDocumentHeader | _MaterialDocumentHeader | |||
| _MaterialDocumentYear | _MaterialDocumentYear | |||
| _MaterialDocumentItem | _MaterialDocumentItem | |||
| _CreatedByUser | _CreatedByUser | |||
| _MfgOrder | _MfgOrder | |||
| _MfgOrderItem | _MfgOrderItem | |||
| _MfgOrderCategory | I_MfgOrderBasic | _MfgOrderCategory | ||
| _MfgOrderType | _MfgOrderType | |||
| _CreationDate | _CreationDate | |||
| _DocumentDate | _DocumentDate | |||
| _PostingDate | _PostingDate | |||
| _Material | _Material | |||
| _Product | _Product | |||
| _ProductPlant | _ProductPlant | |||
| _Plant | _Plant | |||
| _Reservation | _Reservation | |||
| _ReservationItem | _ReservationItem | |||
| _ReservationRecordType | _ReservationRecordType | |||
| _StorageLocation | _StorageLocation | |||
| _Batch | _Batch | |||
| _BaseUnit | _BaseUnit | |||
| _EntryUnit | _EntryUnit | |||
| _GoodsMovementType | _GoodsMovementType | |||
| _GoodsMovementReason | _GoodsMovementReason | |||
| _GoodsMovementRefDocType | _GoodsMovementRefDocType | |||
| _InventorySpecialStockType | _InventorySpecialStockType | |||
| _InventoryValuationType | _InventoryValuationType | |||
| _ConsumptionPosting | _ConsumptionPosting | |||
| _DebitCreditCode | _DebitCreditCode | |||
| _InventoryUsabilityCode | _InventoryUsabilityCode | |||
| _SalesOrder | _SalesOrder | |||
| _SalesOrderItem | _SalesOrderItem | |||
| _WBSElement | _WBSElement | |||
| _PurchaseOrder | _PurchaseOrder | |||
| _PurchaseOrderItem | _PurchaseOrderItem | |||
| _Supplier | _Supplier | |||
| _Customer | _Customer | |||
| _SupplierCompanyByPlant | _SupplierCompanyByPlant | |||
| _CustomerCompanyByPlant | _CustomerCompanyByPlant | |||
| _CompanyCode | _CompanyCode | |||
| _BusinessArea | _BusinessArea | |||
| _ControllingArea | _ControllingArea | |||
| _CostCenter | _CostCenter | |||
| _Currency | _Currency |
@AbapCatalog.sqlViewName: 'IMFGORDMATDOCITM'
@AbapCatalog.compiler.compareFilter: true
@AccessControl.authorizationCheck: #MANDATORY
@AccessControl.personalData.blocking: #('TRANSACTIONAL_DATA')
@Analytics.dataCategory: #DIMENSION
@Analytics.internalName: #LOCAL
@ClientHandling.algorithm: #SESSION_VARIABLE
@Metadata.allowExtensions: true
@Metadata.ignorePropagatedAnnotations: true
@ObjectModel.modelingPattern: #NONE
@ObjectModel.supportedCapabilities: [#CDS_MODELING_DATA_SOURCE, #SQL_DATA_SOURCE]
@ObjectModel.representativeKey: 'MaterialDocumentItem'
@ObjectModel.semanticKey: ['MaterialDocument', 'MaterialDocumentItem', 'MaterialDocumentYear']
@ObjectModel.usageType: {serviceQuality: #C, sizeCategory: #XL, dataClass: #TRANSACTIONAL}
@VDM.lifecycle.contract.type: #PUBLIC_LOCAL_API
@VDM.viewType: #COMPOSITE
@EndUserText.label: 'Manufacturing Order Material Document Item'
// This view selects all material document items (planned & unplanned) that were created for a manufacturing order.
define view I_MfgOrderMaterialDocumentItem
as select from I_MaterialDocumentRecord as doc
inner join I_MfgOrderBasic as ord on doc.OrderID = ord.ManufacturingOrder
association [1..1] to I_MaterialDocumentHeader_2 as _MaterialDocumentHeader on $projection.MaterialDocument = _MaterialDocumentHeader.MaterialDocument
and $projection.MaterialDocumentYear = _MaterialDocumentHeader.MaterialDocumentYear
association [1..1] to I_MaterialDocumentYear as _MaterialDocumentYear on $projection.MaterialDocumentYear = _MaterialDocumentYear.MaterialDocumentYear
association [1..1] to I_MaterialDocumentItem_2 as _MaterialDocumentItem on $projection.MaterialDocumentYear = _MaterialDocumentItem.MaterialDocumentYear
and $projection.MaterialDocument = _MaterialDocumentItem.MaterialDocument
and $projection.MaterialDocumentItem = _MaterialDocumentItem.MaterialDocumentItem
association [1..1] to I_User as _CreatedByUser on $projection.CreatedByUser = _CreatedByUser.UserID
association [1..1] to I_ManufacturingOrder as _MfgOrder on $projection.ManufacturingOrder = _MfgOrder.ManufacturingOrder
association [1..1] to I_ManufacturingOrderItem as _MfgOrderItem on $projection.ManufacturingOrder = _MfgOrderItem.ManufacturingOrder
and $projection.ManufacturingOrderItem = _MfgOrderItem.ManufacturingOrderItem
association [1..1] to I_MfgOrderType as _MfgOrderType on $projection.ManufacturingOrderType = _MfgOrderType.ManufacturingOrderType
association [0..1] to I_CalendarDate as _CreationDate on $projection.creationdate = _CreationDate.CalendarDate
association [0..1] to I_CalendarDate as _DocumentDate on $projection.DocumentDate = _DocumentDate.CalendarDate
association [0..1] to I_CalendarDate as _PostingDate on $projection.PostingDate = _PostingDate.CalendarDate
association [0..1] to I_ReservationDocumentHeader as _Reservation on $projection.Reservation = _Reservation.Reservation
association [0..1] to I_ReservationDocumentItem as _ReservationItem on $projection.Reservation = _ReservationItem.Reservation
and $projection.ReservationItem = _ReservationItem.ReservationItem
and $projection.ReservationRecordType = _ReservationItem.RecordType
association [0..1] to I_ReservationDocRecordType as _ReservationRecordType on $projection.ReservationRecordType = _ReservationRecordType.RecordType
association [1..1] to I_Plant as _Plant on $projection.Plant = _Plant.Plant
association [1..1] to I_Material as _Material on $projection.Material = _Material.Material
association [1..1] to I_Product as _Product on $projection.Material = _Product.Product
association [1..1] to I_ProductPlantBasic as _ProductPlant on $projection.Plant = _ProductPlant.Plant
and $projection.Material = _ProductPlant.Product
association [0..1] to I_UnitOfMeasure as _BaseUnit on $projection.BaseUnit = _BaseUnit.UnitOfMeasure
association [1..1] to I_UnitOfMeasure as _EntryUnit on $projection.EntryUnit = _EntryUnit.UnitOfMeasure
association [1..1] to I_GoodsMovementType as _GoodsMovementType on $projection.GoodsMovementType = _GoodsMovementType.GoodsMovementType
association [0..1] to I_PhysInvtryReasonCode as _GoodsMovementReason on $projection.GoodsMovementType = _GoodsMovementReason.GoodsMovementType
and $projection.GoodsMovementReasonCode = _GoodsMovementReason.ReasonForPhysInvtryDifference
association [0..1] to I_GoodsMovementRefDocType as _GoodsMovementRefDocType on $projection.GoodsMovementRefDocType = _GoodsMovementRefDocType.GoodsMovementRefDocType
association [0..1] to I_InventorySpecialStockType as _InventorySpecialStockType on $projection.InventorySpecialStockType = _InventorySpecialStockType.InventorySpecialStockType
association [0..1] to I_InventoryValuationType as _InventoryValuationType on $projection.InventoryValuationType = _InventoryValuationType.InventoryValuationType
association [0..1] to I_ConsumptionPosting as _ConsumptionPosting on $projection.ConsumptionPosting = _ConsumptionPosting.ConsumptionPosting
association [0..1] to I_DebitCreditCode as _DebitCreditCode on $projection.DebitCreditCode = _DebitCreditCode.DebitCreditCode
association [0..1] to I_StockType_2 as _InventoryUsabilityCode on $projection.InventoryUsabilityCode = _InventoryUsabilityCode.StockType
association [0..1] to I_StorageLocation as _StorageLocation on $projection.Plant = _StorageLocation.Plant
and $projection.StorageLocation = _StorageLocation.StorageLocation
association [0..1] to I_Batch as _Batch on $projection.Plant = _Batch.Plant
and $projection.Material = _Batch.Material
and $projection.Batch = _Batch.Batch
association [0..1] to I_SalesOrder as _SalesOrder on $projection.SalesOrder = _SalesOrder.SalesOrder
association [0..1] to I_SalesOrderItem as _SalesOrderItem on $projection.SalesOrder = _SalesOrderItem.SalesOrder
and $projection.SalesOrderItem = _SalesOrderItem.SalesOrderItem
association [0..1] to I_WBSElementBasicData as _WBSElement on $projection.WBSElementInternalID = _WBSElement.WBSElementInternalID
association [0..1] to I_PurchaseOrderAPI01 as _PurchaseOrder on $projection.PurchaseOrder = _PurchaseOrder.PurchaseOrder
association [0..1] to I_PurchaseOrderItemAPI01 as _PurchaseOrderItem on $projection.PurchaseOrder = _PurchaseOrderItem.PurchaseOrder
and $projection.PurchaseOrderItem = _PurchaseOrderItem.PurchaseOrderItem
association [0..1] to I_Supplier as _Supplier on $projection.Supplier = _Supplier.Supplier
association [0..1] to I_Customer as _Customer on $projection.Customer = _Customer.Customer
association [0..1] to I_SupplierCompanyByPlant as _SupplierCompanyByPlant on $projection.Plant = _SupplierCompanyByPlant.Plant
and $projection.Supplier = _SupplierCompanyByPlant.Supplier
association [0..1] to I_CustomerCompanyByPlant as _CustomerCompanyByPlant on $projection.Plant = _CustomerCompanyByPlant.Plant
and $projection.Customer = _CustomerCompanyByPlant.Customer
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..*] to I_CostCenter as _CostCenter on $projection.ControllingArea = _CostCenter.ControllingArea
and $projection.CostCenter = _CostCenter.CostCenter
association [0..1] to I_Currency as _Currency on $projection.CompanyCodeCurrency = _Currency.Currency
{
// Key
@ObjectModel.foreignKey.association: '_MaterialDocumentHeader'
key doc.MaterialDocument,
-- representative key
key doc.MaterialDocumentItem,
@ObjectModel.foreignKey.association: '_MaterialDocumentYear'
key doc.MaterialDocumentYear,
// Order
@ObjectModel.foreignKey.association: '_MfgOrder'
doc.OrderID as ManufacturingOrder,
@ObjectModel.foreignKey.association: '_MfgOrderItem'
doc.OrderItem as ManufacturingOrderItem,
@ObjectModel.foreignKey.association: '_MfgOrderCategory'
ord.ManufacturingOrderCategory,
@ObjectModel.foreignKey.association: '_MfgOrderType'
ord.ManufacturingOrderType,
// Admin
@Semantics.systemDate.createdAt: true
_MaterialDocumentHeader.CreationDate,
@Semantics.systemTime.createdAt: true
_MaterialDocumentHeader.CreationTime,
@Semantics.user.createdBy: true
cast(_MaterialDocumentHeader.CreatedByUser as ernam preserving type) as CreatedByUser,
doc.ReversedMaterialDocumentYear,
doc.ReversedMaterialDocument,
doc.ReversedMaterialDocumentItem,
doc.GoodsMovementIsCancelled,
// Goods Movement data
@ObjectModel.foreignKey.association: '_Material'
cast(doc.Material as co_matnr preserving type) as Material,
@ObjectModel.foreignKey.association: '_Plant'
doc.Plant,
@ObjectModel.foreignKey.association: '_Reservation'
doc.Reservation,
@ObjectModel.foreignKey.association: '_ReservationItem'
cast(doc.ReservationItem as pph_rspos preserving type) as ReservationItem,
@ObjectModel.foreignKey.association: '_ReservationRecordType'
cast(doc.ReservationRecordType as pph_rsart preserving type) as ReservationRecordType,
doc.ReservationIsFinallyIssued,
@ObjectModel.foreignKey.association: '_StorageLocation'
cast(doc.StorageLocation as pph_lgort preserving type) as StorageLocation,
@ObjectModel.foreignKey.association: '_Batch'
doc.Batch,
@ObjectModel.foreignKey.association: '_InventoryValuationType'
cast(doc.InventoryValuationType as pph_bwtar preserving type) as InventoryValuationType,
@ObjectModel.foreignKey.association: '_ConsumptionPosting'
cast(doc.ConsumptionPosting as pph_kzvbr preserving type) as ConsumptionPosting,
@ObjectModel.foreignKey.association: '_DebitCreditCode'
cast(doc.DebitCreditCode as pph_shkzg preserving type) as DebitCreditCode,
@ObjectModel.foreignKey.association: '_GoodsMovementType'
cast(doc.GoodsMovementType as pph_bwart preserving type) as GoodsMovementType,
@ObjectModel.foreignKey.association: '_GoodsMovementReason'
doc.GoodsMovementReasonCode as GoodsMovementReasonCode,
@ObjectModel.foreignKey.association: '_GoodsMovementRefDocType'
cast(doc.GoodsMovementRefDocType as pph_kzbew preserving type) as GoodsMovementRefDocType,
@ObjectModel.foreignKey.association: '_InventoryUsabilityCode'
cast(doc.InventoryUsabilityCode as inventoryusabilitycode preserving type) as InventoryUsabilityCode,
@ObjectModel.foreignKey.association: '_InventorySpecialStockType'
cast(doc.InventorySpecialStockType as pph_sobkz preserving type) as InventorySpecialStockType,
@ObjectModel.foreignKey.association: '_SalesOrder'
cast(doc.SalesOrder as co_kdauf preserving type) as SalesOrder,
@ObjectModel.foreignKey.association: '_SalesOrderItem'
cast(doc.SalesOrderItem as co_kdpos preserving type) as SalesOrderItem,
@ObjectModel.foreignKey.association: '_WBSElement'
cast(doc.WBSElementInternalID as ps_s4_pspnr preserving type) as WBSElementInternalID,
-- @ObjectModel.foreignKey.association: '_PurchaseOrder'
cast(doc.PurchaseOrder as vdm_purchaseorder preserving type) as PurchaseOrder,
-- @ObjectModel.foreignKey.association: '_PurchaseOrderItem'
cast(doc.PurchaseOrderItem as vdm_purchaseorderitem preserving type) as PurchaseOrderItem,
@ObjectModel.foreignKey.association: '_Supplier'
doc.Supplier,
@ObjectModel.foreignKey.association: '_Customer'
doc.Customer,
@Semantics.text: true
cast(doc.GoodsRecipientName as pph_wempf preserving type) as GoodsRecipientName,
@Semantics.text: true
doc.UnloadingPointName,
cast(doc.GoodsReceiptIsNonValuated as pph_weunb preserving type) as GoodsReceiptIsNonValuated,
doc.IsCompletelyDelivered,
doc.StorageType,
doc.StorageBin,
// Assignments FI/CO
@ObjectModel.foreignKey.association: '_CompanyCode'
doc.CompanyCode,
@ObjectModel.foreignKey.association: '_BusinessArea'
doc.BusinessArea,
@ObjectModel.foreignKey.association: '_ControllingArea'
doc.ControllingArea,
-- @ObjectModel.foreignKey.association: '_CostCenter'
doc.CostCenter,
// Dates
@Semantics.businessDate.at: true
doc.PostingDate,
doc.DocumentDate,
doc.ShelfLifeExpirationDate,
doc.ManufactureDate,
// Quantities and UoM
@Semantics.unitOfMeasure: true
doc.MaterialBaseUnit as BaseUnit,
@Semantics.quantity.unitOfMeasure: 'BaseUnit'
@Aggregation.default: #SUM
doc.QuantityInBaseUnit,
@Semantics.unitOfMeasure: true
doc.EntryUnit,
@Semantics.quantity.unitOfMeasure: 'EntryUnit'
@Aggregation.default: #SUM
cast(doc.QuantityInEntryUnit as pph_erfmg preserving type) as QuantityInEntryUnit,
// Amount and Currency
@Semantics.currencyCode: true
doc.CompanyCodeCurrency,
@Semantics.amount.currencyCode: 'CompanyCodeCurrency'
@Aggregation.default: #SUM
cast(doc.TotalGoodsMvtAmtInCCCrcy as pph_dmbtr preserving type) as TotalGoodsMvtAmtInCCCrcy,
// no longer needed, kept for compatibility reasons
@Consumption.hidden: true
cast('0' as plnfolge) as ManufacturingOrderSequence,
@Consumption.hidden: true
cast('0010' as vdm_vornr) as ManufacturingOrderOperation,
// Associations
_MaterialDocumentHeader,
_MaterialDocumentYear,
_MaterialDocumentItem,
_CreatedByUser,
@ObjectModel.association.type: [#TO_COMPOSITION_ROOT, #TO_COMPOSITION_PARENT]
_MfgOrder,
_MfgOrderItem,
ord._MfgOrderCategory,
_MfgOrderType,
_CreationDate,
_DocumentDate,
_PostingDate,
_Material,
_Product,
_ProductPlant,
_Plant,
_Reservation,
_ReservationItem,
_ReservationRecordType,
_StorageLocation,
_Batch,
_BaseUnit,
_EntryUnit,
_GoodsMovementType,
_GoodsMovementReason,
_GoodsMovementRefDocType,
_InventorySpecialStockType,
_InventoryValuationType,
_ConsumptionPosting,
_DebitCreditCode,
_InventoryUsabilityCode,
_SalesOrder,
_SalesOrderItem,
_WBSElement,
_PurchaseOrder,
_PurchaseOrderItem,
_Supplier,
_Customer,
@Consumption.hidden: true
_SupplierCompanyByPlant,
@Consumption.hidden: true
_CustomerCompanyByPlant,
_CompanyCode,
_BusinessArea,
_ControllingArea,
_CostCenter,
_Currency
}
where
doc.MaterialDocumentRecordType = 'MDOC';
/*+[internal] {
"BASEINFO":
{
"FROM":
[
"I_MATERIALDOCUMENTHEADER_2",
"I_MATERIALDOCUMENTRECORD",
"I_MFGORDERBASIC"
],
"ASSOCIATED":
[
"I_BATCH",
"I_BUSINESSAREA",
"I_CALENDARDATE",
"I_COMPANYCODE",
"I_CONSUMPTIONPOSTING",
"I_CONTROLLINGAREA",
"I_COSTCENTER",
"I_CURRENCY",
"I_CUSTOMER",
"I_CUSTOMERCOMPANYBYPLANT",
"I_DEBITCREDITCODE",
"I_GOODSMOVEMENTREFDOCTYPE",
"I_GOODSMOVEMENTTYPE",
"I_INVENTORYSPECIALSTOCKTYPE",
"I_INVENTORYVALUATIONTYPE",
"I_MANUFACTURINGORDER",
"I_MANUFACTURINGORDERITEM",
"I_MATERIAL",
"I_MATERIALDOCUMENTHEADER_2",
"I_MATERIALDOCUMENTITEM_2",
"I_MATERIALDOCUMENTYEAR",
"I_MFGORDERCATEGORY",
"I_MFGORDERTYPE",
"I_PHYSINVTRYREASONCODE",
"I_PLANT",
"I_PRODUCT",
"I_PRODUCTPLANTBASIC",
"I_PURCHASEORDERAPI01",
"I_PURCHASEORDERITEMAPI01",
"I_RESERVATIONDOCRECORDTYPE",
"I_RESERVATIONDOCUMENTHEADER",
"I_RESERVATIONDOCUMENTITEM",
"I_SALESORDER",
"I_SALESORDERITEM",
"I_STOCKTYPE_2",
"I_STORAGELOCATION",
"I_SUPPLIER",
"I_SUPPLIERCOMPANYBYPLANT",
"I_UNITOFMEASURE",
"I_USER",
"I_WBSELEMENTBASICDATA"
],
"BASE":
[
"I_MFGORDERBASIC"
],
"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