I_ProductionOrderComponent

DDL: I_PRODUCTIONORDERCOMPONENT Type: view_entity COMPOSITE

Production Order Component

I_ProductionOrderComponent (Composite)

Package: Explore, extend and adapt the SAP S/4HANA Cloud Private Edition with built-in and side-by-side extension capabilities.

ProductionOrderComponent · Manufacturing

I_ProductionOrderComponent is a Composite CDS View (Fact) that provides data about "Production Order Component" in SAP S/4HANA. It reads from 1 data source (I_OrderComponent) and exposes 203 fields with key fields Reservation, ReservationItem, ReservationRecordType. It has 24 associations to related views.

SAP Help Documentation

CategoryCDS Views for Discrete Manufacturing
Data CategoryFact
Purpose
This CDS view retrieves production order component data by semantic key (reservation items, table RESB ). This CDS view provides the data to answer the following business questions: Which components are assigned to a production order operation? What are the required and confirmed available quantities of the components? Which components are to be backflushed? Which components are already finally issued? Which components are to be withdrawn from inventory special stock? What are the reference bill of material (BOM) item data of the components? Which purchasing document item is assigned to an externally procured component? Which components are bulk, discontinuation, or alternative materials? What is the amount of already withdrawn components? To help you decide which CDS view to use for your purposes, SAP has introduced the annotation ObjectModel.supportedCapabilities that indicates the most appropriate use cases for each CDS view. To find out what use cases are best supported by this CDS view, access the entry of the CDS view in the View Browser app and find the values for this annotation under the Annotation tab. For more information, see Supported Capabilities for CDS Views .

Prerequisites
Authorizations Users who want to use this CDS view must have a role with the following restriction types set to read access: AUTYP (Order Category) AUFART_WERKS (Order Type/Plant) You can use the Display Restriction Types app to find out in which business catalogs these restriction types are included.

Structure
Important Fields Important fields in this view include the following: Field Name Description Reservation Reservation ReservationItem Reservation Item ReservationRecordType Reservation Record Type ProductionOrder Production Order ProductionOrderOperation Production Order Operation ProductionOrderType Production Order Type RequirementType Requirement Type MatlCompRequirementDate Requirement Date MatlCompRequirementTime Requirement Time Material Material StorageLocation Storage Location Batch Batch GoodsMovementType Movement Type InventorySpecialStockType Special Stock Type SalesOrder Sales Order SalesOrderItem Sales Order Item WBSElementInternalID WBS Internal ID BillOfMaterialItemNumber Bill Of Material Item Number PurchaseRequisitionItem Requisition Item PurchasingDocumentItem Purchasing Document Item Supplier Supplier BusinessArea Business Area GLAccount G/L Account BaseUnit Base Unit of Measure EntryUnit Unit of Entry Currency Currency RequiredQuantity Requirement Quantity WithdrawnQuantity Withdrawn Quantity ConfirmedAvailableQuantity Available Quantity GoodsMovementEntryQty Quantity in Unit of Entry WithdrawnQuantityAmount Value Withdrawn

Data Extraction
Data Extraction Type This CDS view is enabled for data extraction in full mode.

View on SAP Help Portal →

SAP API Hub

StateC1
Line of BusinessManufacturing
Application ComponentPP-VDM
CapabilitiesData Source for Defining CDS Entities, Data Source for Data Extraction, Data Source in SQL Select
PackageManufacturing for SAP S/4HANA Cloud Private Edition
Description <p>This CDS view retrieves production order component data by semantic key (reservation items, table RESB).</p> <p>This CDS view provides the data to answer the following business questions:</p> <ul> <li><p>Which components are assigned to a production order operation?</p></li> <li><p>What are the required and confirmed available quantities of the components? </p></li> <li><p>Which components are to be backflushed?</p></li> <li><p>Which components are already finally issued?</p></li> <li><p>Which components are to be withdrawn from inventory special stock?</p></li> <li><p>What are the reference bill of material (BOM) item data of the components?</p></li> <li><p>Which purchasing document item is assigned to an externally procured component?</p></li> <li><p>Which components are bulk, discontinuation, or alternative materials?</p></li> <li><p>What is the amount of already withdrawn components?</p></li> </ul> <p>To help you decide which CDS view to use for your purposes, SAP has introduced the annotation ObjectModel.supportedCapabilities that indicates the most appropriate use cases for each CDS view. To find out what use cases are best supported by this CDS view, access the entry of the CDS view in the View Browser app and find the values for this annotation under the Annotation tab. For more information, see Supported Capabilities for CDS Views.</p>

Documentation

Data Sources (1)

SourceAliasJoin Type
I_OrderComponent comp from

Associations (24)

CardinalityTargetAliasCondition
[1..1] I_ReservationDocumentHeader _Reservation $projection.Reservation = _Reservation.Reservation
[1..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_ProductionOrderType _ProductionOrderType $projection.ProductionOrderType = _ProductionOrderType.ProductionOrderType -- SOT relations
[1..1] I_ProductionOrder _ProductionOrderHeader $projection.ProductionOrder = _ProductionOrderHeader.ProductionOrder
[1..1] I_ProductionOrderSequence _ProductionOrderSequence $projection.ProductionOrder = _ProductionOrderSequence.ProductionOrder and $projection.ProductionOrderSequence = _ProductionOrderSequence.ProductionOrderSequence
[1..1] E_ReservationDocumentItem _Extension $projection.Reservation = _Extension.Reservation and $projection.ReservationItem = _Extension.ReservationItem and $projection.ReservationRecordType = _Extension.RecordType -- start new associations for full coverage of text relations
[1..1] I_ProductionOrder _ProductionOrderText $projection.ProductionOrder = _ProductionOrderText.ProductionOrder
[1..1] I_Plant _ProductionPlantText $projection.ProductionPlant = _ProductionPlantText.Plant
[0..1] I_Plant _PlantText $projection.Plant = _PlantText.Plant
[0..*] I_ProductText _MaterialText $projection.Material = _MaterialText.Product
[0..1] I_WBSElementBasicData _WBSElementText $projection.WBSElementInternalID = _WBSElementText.WBSElementInternalID
[0..1] I_StorageLocation _StorageLocationText $projection.Plant = _StorageLocationText.Plant and $projection.StorageLocation = _StorageLocationText.StorageLocation
[0..*] I_ProductionSupplyAreaText _SupplyAreaText $projection.Plant = _SupplyAreaText.Plant and $projection.SupplyArea = _SupplyAreaText.ProductionSupplyArea
[0..1] I_Supplier _SupplierText $projection.Supplier = _SupplierText.Supplier
[0..1] I_PurchasingGroup _PurchasingGroupText $projection.PurchasingGroup = _PurchasingGroupText.PurchasingGroup
[0..*] I_ProductText _AssemblyText $projection.Assembly = _AssemblyText.Product
[0..*] I_ProductText _FollowUpMaterialText $projection.FollowUpMaterial = _FollowUpMaterialText.Product
[1..1] I_StatusObject _StatusObjectText $projection.ObjectInternalID = _StatusObjectText.StatusObject
[0..*] I_BusinessAreaText _BusinessAreaText $projection.BusinessArea = _BusinessAreaText.BusinessArea
[0..1] I_CompanyCode _CompanyCodeText $projection.CompanyCode = _CompanyCodeText.CompanyCode
[0..1] I_ControllingArea _ControllingAreaText $projection.ControllingArea = _ControllingAreaText.ControllingArea
[0..*] I_FunctionalAreaText _FunctionalAreaText $projection.FunctionalArea = _FunctionalAreaText.FunctionalArea -- end new associations for full coverage of text relations
[0..*] I_ProdnOrderComponentLongText _LongText

Annotations (13)

NameValueLevelField
AccessControl.authorizationCheck #MANDATORY view
Analytics.dataCategory #FACT view
Analytics.dataExtraction.enabled true view
Analytics.technicalName IPRODNORDERCOMP view
Metadata.ignorePropagatedAnnotations true view
ObjectModel.modelingPattern #NONE view
ObjectModel.usageType.serviceQuality #C view
ObjectModel.usageType.sizeCategory #XL view
ObjectModel.usageType.dataClass #MIXED view
ObjectModel.sapObjectNodeType.name ProductionOrderComponent view
VDM.lifecycle.contract.type #PUBLIC_LOCAL_API view
VDM.viewType #COMPOSITE view
EndUserText.label Production Order Component view

Fields (203)

KeyFieldSource TableSource FieldDescription
KEY Reservation I_OrderComponent Reservation Number of reservation/dependent requirements
KEY ReservationItem I_OrderComponent ReservationItem Reservation Item
KEY ReservationRecordType I_OrderComponent RecordType Reservation Record Type
MaterialGroup I_OrderComponent MaterialGroup Material Group
Material I_OrderComponent Material Material Number
Plant I_OrderComponent Plant Valuation Area
ProductionOrderType Production Order Type
ProductionOrder Production Order
ProductionOrderSequence Production Order Sequence
SequenceCategory I_OrderComponent SequenceCategory Sequence Category
ProductionOrderOperation Production Order Operation
ProductionPlant I_OrderComponent ProductionPlant Production Plant
OrderInternalID I_OrderComponent OrderInternalID Order Internal ID
OrderOperationInternalID I_OrderComponent OrderOperationInternalID Internal Identifier of an Operation or Activity
MatlCompRequirementDate I_OrderComponent MatlCompRequirementDate Material Component Requirement Date
MatlCompRequirementTime I_OrderComponent MatlCompRequirementTime Material Component Requirement Time
LatestRequirementDate I_OrderComponent LatestRequirementDate Latest Requirement Date
ReservationIsFinallyIssued I_OrderComponent ReservationIsFinallyIssued Final Issue for Reservation
MatlCompIsMarkedForDeletion I_OrderComponent MatlCompIsMarkedForDeletion Indicator: Is Marked For Deletion
MaterialComponentIsMissing I_OrderComponent MaterialComponentIsMissing Missing Part
IsBulkMaterialComponent I_OrderComponent IsBulkMaterialComponent Indicator: bulk material
MatlCompIsMarkedForBackflush I_OrderComponent MatlCompIsMarkedForBackflush Indicator: Backflush
MatlCompIsTextItem I_OrderComponent MatlCompIsTextItem Item is Text indicator
MaterialPlanningRelevance I_OrderComponent MaterialPlanningRelevance Code: Relevant for Materials Planning
MatlCompIsConfigurable I_OrderComponent MatlCompIsConfigurable Indicator: Configurable Item
MaterialComponentIsClassified I_OrderComponent MaterialComponentIsClassified Indicator: Classification Exists
MaterialCompIsIntraMaterial I_OrderComponent MaterialCompIsIntraMaterial Indicator: Intra Material
MaterialIsDirectlyProduced I_OrderComponent MaterialIsDirectlyProduced Indicator for Direct Production (Collective Order)
MaterialIsDirectlyProcured I_OrderComponent MaterialIsDirectlyProcured Direct Procurement Indicator
MaterialComponentText I_OrderComponent MaterialComponentText BOM Item Text (Line 1)
MaterialComponentSecondText I_OrderComponent MaterialComponentSecondText BOM Item Text (Line 2)
MaterialComponentHasLongText I_OrderComponent MaterialComponentHasLongText Long Text Exists
LongTextLanguage I_OrderComponent LongTextLanguage Long Text Language
RequirementType I_OrderComponent RequirementType Requirement Type
SalesOrder I_OrderComponent SalesOrder SD Document
SalesOrderItem I_OrderComponent SalesOrderItem Sales Order Item
WBSElementInternalID WBS Element
ProductConfiguration I_OrderComponent ProductConfiguration Internal Object Number
ChangeNumber I_OrderComponent ChangeNumber Change Number
MaterialRevisionLevel I_OrderComponent MaterialRevisionLevel Revision Level
EffectivityParameterVariant I_OrderComponent EffectivityParameterVariant Parameter Variant/Standard Variant
MaterialComponentSortText I_OrderComponent MaterialComponentSortText Sort string
ObjectInternalID I_OrderComponent ObjectInternalID Object number
BillOfMaterialCategory I_OrderComponent BillOfMaterialCategory Bill of Material Category Code
BillOfMaterialInternalID I_OrderComponent BillOfMaterialInternalID Bill Of Material
BillOfMaterialVariant I_OrderComponent BillOfMaterialVariant Alternative BOM
BillOfMaterialItemNodeNumber I_OrderComponent BOMItem Bill of Material Item
BillOfMaterialItemCategory I_OrderComponent BOMItemCategory Bill of Material Item Category
BillOfMaterialItemNumber I_OrderComponent BillOfMaterialItemNumber Bill Of Material Item Number
PurchasingInfoRecord I_OrderComponent PurchasingInfoRecord Purchasing Info Record
PurchasingGroup I_OrderComponent PurchasingGroup Purchasing Group
PurchaseRequisition I_OrderComponent PurchaseRequisition Purchase Requisition Number
PurchaseRequisitionItem I_OrderComponent PurchaseRequisitionItem Item Number of Purchase Requisition in Order
PurchasingDocument Purchasing Document
PurchasingDocumentItem Purchasing Document Item
Supplier I_OrderComponent Supplier Account Number of Supplier
DeliveryDurationInDays I_OrderComponent DeliveryDurationInDays Delivery Duration In Days
MaterialGoodsReceiptDuration I_OrderComponent MaterialGoodsReceiptDuration Material Goods Receipt Duration in Days
ExternalProcessingPrice Price
NumberOfOperationPriceUnits I_OrderComponent NumberOfPriceUnits Material Price Unit Quantity
GoodsMovementIsAllowed I_OrderComponent GoodsMovementIsAllowed Goods Movement for Reservation Allowed
StorageLocation I_OrderComponent StorageLocation Storage Location
DebitCreditCode I_OrderComponent DebitCreditCode Single-Character Flag
GoodsMovementType I_OrderComponent GoodsMovementType Movement Type (Inventory Management)
InventorySpecialStockType I_OrderComponent InventorySpecialStockType Inventory Special Stock Type
InventorySpecialStockValnType I_OrderComponent InventorySpecialStockValnType Inventory Special Stock Valuation Type
ConsumptionPosting I_OrderComponent ConsumptionPosting Consumption Posting
SupplyArea I_OrderComponent SupplyArea Production Supply Area
GoodsRecipientName I_OrderComponent GoodsRecipientName Goods Recipient
UnloadingPointName I_OrderComponent UnloadingPointName Unloading Point Name
StockSegment I_OrderComponent StockSegment Stock Segment
RequirementSegment I_OrderComponent RequirementSegment Requirement Segment
MaterialStaging I_OrderComponent MaterialStaging Material Staging Indicator for Production Supply
Batch I_OrderComponent Batch Batch Number
BatchEntryDeterminationCode Determination of Batch Entry in an Production/Process Order
BatchSplitType I_OrderComponent BatchSplitType Batch key
BatchMasterReservationItem I_OrderComponent BatchMasterReservationItem Reservation Item of Batch Master Record
BatchClassification I_OrderComponent BatchClassification Internal object number of the batch classification
MaterialCompCostingRelevancy I_OrderComponent MaterialCompCostingRelevancy Indicator for Relevancy to Costing
BusinessArea I_OrderComponent BusinessArea Business Area
CompanyCode I_OrderComponent CompanyCode Receiver Company Code
GLAccount I_OrderComponent GLAccount G/L Account Number
FunctionalArea I_OrderComponent FunctionalArea Sendr Fctl Area
ControllingArea I_OrderComponent ControllingArea Controlling Area
AccountAssignmentCategory I_OrderComponent AccountAssignmentCategory Account Assignment Category
MaterialCompIsVariableSized I_OrderComponent MaterialCompIsVariableSized Variable-Sized Item Indicator
VariableSizeItemUnit Variable-Size Item Unit of Measure
VariableSizeItemQuantity I_OrderComponent VariableSizeItemQuantity Number of Variable-Size Components
VariableSizeComponentUnit Unit of Measure for Variable-Size Components
VariableSizeComponentQuantity I_OrderComponent VariableSizeComponentQuantity Variable-Size Item Quantity per PC
VariableSizeDimensionUnit Unit of measure for sizes 1 to 3
VariableSizeDimension1 I_OrderComponent VariableSizeDimension1 Size 1
VariableSizeDimension2 I_OrderComponent VariableSizeDimension2 Size 2
VariableSizeDimension3 I_OrderComponent VariableSizeDimension3 Size 3
VariableSizeCompFormulaKey I_OrderComponent VariableSizeCompFormulaKey Formula Key for Variable-Size Items
MaterialCompIsAlternativeItem I_OrderComponent MaterialCompIsAlternativeItem Alternative Item Indicator
AlternativeItemGroup I_OrderComponent AlternativeItemGroup Alternative Item Group
AlternativeItemStrategy I_OrderComponent AlternativeItemStrategy Alternative Item Strategy
AlternativeItemPriority I_OrderComponent AlternativeItemPriority Alternative Item Priority
UsageProbabilityPercent I_OrderComponent UsageProbabilityPercent Usage Probability in % (Alternative Item)
AlternativeMstrReservationItem I_OrderComponent AlternativeMstrReservationItem Reservation Item of Alternative Master Record
MaterialComponentIsPhantomItem I_OrderComponent MaterialComponentIsPhantomItem Phantom Item Indicator
OrderPathValue I_OrderComponent OrderPathValue Order path
OrderLevelValue I_OrderComponent OrderLevelValue Order level
Assembly I_OrderComponent Assembly Higher-Level Assembly Material
AssemblyOrderPathValue I_OrderComponent AssemblyOrderPathValue Assembly Order Path
AssemblyOrderLevelValue I_OrderComponent AssemblyOrderLevelValue Assembly Order Level
DiscontinuationGroup I_OrderComponent DiscontinuationGroup Discontinuation Group
MatlCompDiscontinuationType I_OrderComponent MatlCompDiscontinuationType Discontinuation Type
MatlCompIsFollowUpMaterial I_OrderComponent MatlCompIsFollowUpMaterial Indicator: Component is Follow-Up Material
FollowUpGroup I_OrderComponent FollowUpGroup Follow-up group
FollowUpMaterial I_OrderComponent FollowUpMaterial Follow-Up / Original Material
FollowUpMaterialIsActive I_OrderComponent FollowUpMaterialIsActive Indicator: Follow-Up Material is Active
DiscontinuationMasterResvnItem I_OrderComponent DiscontinuationMasterResvnItem Reservation Item of Discontinuation Master Record
LeadTimeOffset I_OrderComponent LeadTimeOffset Lead-Time Offset
OperationLeadTimeOffsetUnit I_OrderComponent OperationLeadTimeOffsetUnit Unit of Measure for Lead-Time Offset for Operations
OperationLeadTimeOffset I_OrderComponent OperationLeadTimeOffset Lead-Time Offset for Operations
QuantityIsFixed I_OrderComponent QuantityIsFixed Quantity is fixed
ScrapQtyIsNetScrap I_OrderComponent IsNetScrap Net Scrap Indicator
ComponentScrapInPercent I_OrderComponent ComponentScrapInPercent Component Scrap in Percent
OperationScrapInPercent I_OrderComponent OperationScrapInPercent Operation Scrap
MaterialQtyToBaseQtyNmrtr I_OrderComponent MaterialQtyToBaseQtyNmrtr Numerator for Conversion to Base Units of Measure
MaterialQtyToBaseQtyDnmntr I_OrderComponent MaterialQtyToBaseQtyDnmntr Denominator for conversion to base units of measure
BaseUnit Base Unit of Measure
RequiredQuantity I_OrderComponent RequiredQuantity Requirement Quantity
WithdrawnQuantity I_OrderComponent WithdrawnQuantity Withdrawn Quantity
ConfirmedAvailableQuantity I_OrderComponent ConfirmedAvailableQuantity Available Quantity
MaterialCompOriginalQuantity I_OrderComponent MaterialCompOriginalQuantity Original Quantity of a Material Component
EntryUnit Unit of entry
GoodsMovementEntryQty I_OrderComponent GoodsMovementEntryQty Quantity in Unit of Entry
Currency I_OrderComponent Currency Valuation Crcy
WithdrawnQuantityAmount I_OrderComponent WithdrawnQuantityAmount Value Withdrawn
_Reservation _Reservation
_ReservationItem _ReservationItem
_ReservationRecordType _ReservationRecordType
_ProductionOrderType _ProductionOrderType
_SequenceCategory I_OrderComponent _SequenceCategory
_OrderInternalID I_OrderComponent _OrderInternalID
_ProductionPlant I_OrderComponent _ProductionPlant
_RequirementType I_OrderComponent _RequirementType
_MaterialGroup I_OrderComponent _MaterialGroup
_Material I_OrderComponent _Material
_Product I_OrderComponent _Product
_ProductPlant I_OrderComponent _ProductPlant
_ProductStorageLocation I_OrderComponent _ProductStorageLocation
_Plant I_OrderComponent _Plant
_StorageLocation I_OrderComponent _StorageLocation
_Batch I_OrderComponent _Batch
_BatchSplitType I_OrderComponent _BatchSplitType
_DebitCreditCode I_OrderComponent _DebitCreditCode
_GoodsMovementType I_OrderComponent _GoodsMovementType
_InventorySpecialStockType I_OrderComponent _InventorySpecialStockType
_InventorySpecialStockValnType I_OrderComponent _InventorySpecialStockValnType
_ConsumptionPosting I_OrderComponent _ConsumptionPosting
_SupplyArea I_OrderComponent _SupplyArea
_FollowUpMaterial I_OrderComponent _FollowUpMaterial
_DiscontinuationType I_OrderComponent _DiscontinuationType
_Assembly I_OrderComponent _PhantomAssembly
_BOMItemCategory I_OrderComponent _BOMItemCategory
_SalesOrder I_OrderComponent _SalesOrder
_SalesOrderItem I_OrderComponent _SalesOrderItem
_WBSElementBasicData I_OrderComponent _WBSElementBasicData
_ChangeNumber I_OrderComponent _ChangeNumber
_MaterialRevisionLevel I_OrderComponent _MaterialRevisionLevel
_PurchasingGroup I_OrderComponent _PurchasingGroup
_PurchasingInfoRecord I_OrderComponent _PurchasingInfoRecord
_PurchaseRequisition I_OrderComponent _PurchaseRequisition
_PurchaseRequisitionItem I_OrderComponent _PurchaseRequisitionItem
_Supplier I_OrderComponent _Supplier
_CompanyCode I_OrderComponent _CompanyCode
_BusinessArea I_OrderComponent _BusinessArea
_GLAccount I_OrderComponent _GLAccount
_ControllingArea I_OrderComponent _ControllingArea
_FunctionalArea I_OrderComponent _FunctionalArea
_AccountAssignmentCategory I_OrderComponent _AccountAssignmentCategory
_OpLeadTimeOffsetUnit I_OrderComponent _OpLeadTimeOffsetUnit
_VariableSizeItemUnit I_OrderComponent _VariableSizeItemUnit
_VariableSizeComponentUnit I_OrderComponent _VariableSizeComponentUnit
_BaseUnit I_OrderComponent _BaseUnit
_EntryUnit I_OrderComponent _EntryUnit
_Currency I_OrderComponent _Currency
_StatusObject I_OrderComponent _StatusObject
_LongTextLanguage I_OrderComponent _LongTextLanguage
Compositions_ProductionOrderHeader
_ProductionOrderSequence _ProductionOrderSequence
_ProductionOrderOperation _ProductionOrderOperation
_LongText _LongText
Textrelations_ProductionOrderText
_PlantText _PlantText
_ProductionPlantText _ProductionPlantText
_MaterialText _MaterialText
_WBSElementText _WBSElementText
_StorageLocationText _StorageLocationText
_SupplyAreaText _SupplyAreaText
_SupplierText _SupplierText
_PurchasingGroupText _PurchasingGroupText
_AssemblyText _AssemblyText
_FollowUpMaterialText _FollowUpMaterialText
_StatusObjectText _StatusObjectText
_BusinessAreaText _BusinessAreaText
_CompanyCodeText _CompanyCodeText
_ControllingAreaText _ControllingAreaText
_FunctionalAreaText _FunctionalAreaText

Derived SQL interpretation, reconstructed from the parsed view metadata (data sources, associations, and field mappings). SAP annotations are omitted and the structure is reformulated as SQL — this is a functional approximation, not the verbatim SAP source.

-- Derived SQL interpretation of CDS view I_ProductionOrderComponent.
-- Reconstructed from parsed metadata (data sources, associations, fields).
-- SAP annotations are omitted and the structure is reformulated as SQL;
-- this is a functional approximation, not the verbatim SAP source. Some join
-- conditions may be unavailable and a few CDS constructs are kept as-is.

CREATE VIEW I_ProductionOrderComponent AS
SELECT
  comp.Reservation AS Reservation,
  comp.ReservationItem AS ReservationItem,
  comp.RecordType AS ReservationRecordType,
  comp.MaterialGroup AS MaterialGroup,
  comp.Material AS Material,
  comp.Plant AS Plant,
  cast(comp.OrderType as vdm_prodnordertype preserving type) AS ProductionOrderType,
  cast(comp.OrderID as vdm_manufacturingorder preserving type) AS ProductionOrder,
  cast(comp.Sequence as vdm_prodnordersequence preserving type) AS ProductionOrderSequence,
  comp.SequenceCategory AS SequenceCategory,
  cast(comp.OrderOperation as vdm_prodnorderoperation preserving type) AS ProductionOrderOperation,
  comp.ProductionPlant AS ProductionPlant,
  comp.OrderInternalID AS OrderInternalID,
  comp.OrderOperationInternalID AS OrderOperationInternalID,
  comp.MatlCompRequirementDate AS MatlCompRequirementDate,
  comp.MatlCompRequirementTime AS MatlCompRequirementTime,
  comp.LatestRequirementDate AS LatestRequirementDate,
  comp.ReservationIsFinallyIssued AS ReservationIsFinallyIssued,
  comp.MatlCompIsMarkedForDeletion AS MatlCompIsMarkedForDeletion,
  comp.MaterialComponentIsMissing AS MaterialComponentIsMissing,
  comp.IsBulkMaterialComponent AS IsBulkMaterialComponent,
  comp.MatlCompIsMarkedForBackflush AS MatlCompIsMarkedForBackflush,
  comp.MatlCompIsTextItem AS MatlCompIsTextItem,
  comp.MaterialPlanningRelevance AS MaterialPlanningRelevance,
  comp.MatlCompIsConfigurable AS MatlCompIsConfigurable,
  comp.MaterialComponentIsClassified AS MaterialComponentIsClassified,
  comp.MaterialCompIsIntraMaterial AS MaterialCompIsIntraMaterial,
  comp.MaterialIsDirectlyProduced AS MaterialIsDirectlyProduced,
  comp.MaterialIsDirectlyProcured AS MaterialIsDirectlyProcured,
  comp.MaterialComponentText AS MaterialComponentText,
  comp.MaterialComponentSecondText AS MaterialComponentSecondText,
  comp.MaterialComponentHasLongText AS MaterialComponentHasLongText,
  comp.LongTextLanguage AS LongTextLanguage,
  comp.RequirementType AS RequirementType,
  comp.SalesOrder AS SalesOrder,
  comp.SalesOrderItem AS SalesOrderItem,
  comp.ProductConfiguration AS ProductConfiguration,
  comp.ChangeNumber AS ChangeNumber,
  comp.MaterialRevisionLevel AS MaterialRevisionLevel,
  comp.EffectivityParameterVariant AS EffectivityParameterVariant,
  comp.MaterialComponentSortText AS MaterialComponentSortText,
  comp.ObjectInternalID AS ObjectInternalID,
  comp.BillOfMaterialCategory AS BillOfMaterialCategory,
  comp.BillOfMaterialInternalID AS BillOfMaterialInternalID,
  comp.BillOfMaterialVariant AS BillOfMaterialVariant,
  comp.BOMItem AS BillOfMaterialItemNodeNumber,
  comp.BOMItemCategory AS BillOfMaterialItemCategory,
  comp.BillOfMaterialItemNumber AS BillOfMaterialItemNumber,
  comp.PurchasingInfoRecord AS PurchasingInfoRecord,
  comp.PurchasingGroup AS PurchasingGroup,
  comp.PurchaseRequisition AS PurchaseRequisition,
  comp.PurchaseRequisitionItem AS PurchaseRequisitionItem,
  cast(comp.PurchaseOrder as pph_ebeln preserving type) AS PurchasingDocument,
  cast(comp.PurchaseOrderItem as pph_ebelp preserving type) AS PurchasingDocumentItem,
  comp.Supplier AS Supplier,
  comp.DeliveryDurationInDays AS DeliveryDurationInDays,
  comp.MaterialGoodsReceiptDuration AS MaterialGoodsReceiptDuration,
  comp.NumberOfPriceUnits AS NumberOfOperationPriceUnits,
  comp.GoodsMovementIsAllowed AS GoodsMovementIsAllowed,
  comp.StorageLocation AS StorageLocation,
  comp.DebitCreditCode AS DebitCreditCode,
  comp.GoodsMovementType AS GoodsMovementType,
  comp.InventorySpecialStockType AS InventorySpecialStockType,
  comp.InventorySpecialStockValnType AS InventorySpecialStockValnType,
  comp.ConsumptionPosting AS ConsumptionPosting,
  comp.SupplyArea AS SupplyArea,
  comp.GoodsRecipientName AS GoodsRecipientName,
  comp.UnloadingPointName AS UnloadingPointName,
  comp.StockSegment AS StockSegment,
  comp.RequirementSegment AS RequirementSegment,
  comp.MaterialStaging AS MaterialStaging,
  comp.Batch AS Batch,
  comp.BatchSplitType AS BatchSplitType,
  comp.BatchMasterReservationItem AS BatchMasterReservationItem,
  comp.BatchClassification AS BatchClassification,
  comp.MaterialCompCostingRelevancy AS MaterialCompCostingRelevancy,
  comp.BusinessArea AS BusinessArea,
  comp.CompanyCode AS CompanyCode,
  comp.GLAccount AS GLAccount,
  comp.FunctionalArea AS FunctionalArea,
  comp.ControllingArea AS ControllingArea,
  comp.AccountAssignmentCategory AS AccountAssignmentCategory,
  comp.MaterialCompIsVariableSized AS MaterialCompIsVariableSized,
  comp.VariableSizeItemQuantity AS VariableSizeItemQuantity,
  comp.VariableSizeComponentQuantity AS VariableSizeComponentQuantity,
  comp.VariableSizeDimension1 AS VariableSizeDimension1,
  comp.VariableSizeDimension2 AS VariableSizeDimension2,
  comp.VariableSizeDimension3 AS VariableSizeDimension3,
  comp.VariableSizeCompFormulaKey AS VariableSizeCompFormulaKey,
  comp.MaterialCompIsAlternativeItem AS MaterialCompIsAlternativeItem,
  comp.AlternativeItemGroup AS AlternativeItemGroup,
  comp.AlternativeItemStrategy AS AlternativeItemStrategy,
  comp.AlternativeItemPriority AS AlternativeItemPriority,
  comp.UsageProbabilityPercent AS UsageProbabilityPercent,
  comp.AlternativeMstrReservationItem AS AlternativeMstrReservationItem,
  comp.MaterialComponentIsPhantomItem AS MaterialComponentIsPhantomItem,
  comp.OrderPathValue AS OrderPathValue,
  comp.OrderLevelValue AS OrderLevelValue,
  comp.Assembly AS Assembly,
  comp.AssemblyOrderPathValue AS AssemblyOrderPathValue,
  comp.AssemblyOrderLevelValue AS AssemblyOrderLevelValue,
  comp.DiscontinuationGroup AS DiscontinuationGroup,
  comp.MatlCompDiscontinuationType AS MatlCompDiscontinuationType,
  comp.MatlCompIsFollowUpMaterial AS MatlCompIsFollowUpMaterial,
  comp.FollowUpGroup AS FollowUpGroup,
  comp.FollowUpMaterial AS FollowUpMaterial,
  comp.FollowUpMaterialIsActive AS FollowUpMaterialIsActive,
  comp.DiscontinuationMasterResvnItem AS DiscontinuationMasterResvnItem,
  comp.LeadTimeOffset AS LeadTimeOffset,
  comp.OperationLeadTimeOffsetUnit AS OperationLeadTimeOffsetUnit,
  comp.OperationLeadTimeOffset AS OperationLeadTimeOffset,
  comp.QuantityIsFixed AS QuantityIsFixed,
  comp.IsNetScrap AS ScrapQtyIsNetScrap,
  comp.ComponentScrapInPercent AS ComponentScrapInPercent,
  comp.OperationScrapInPercent AS OperationScrapInPercent,
  comp.MaterialQtyToBaseQtyNmrtr AS MaterialQtyToBaseQtyNmrtr,
  comp.MaterialQtyToBaseQtyDnmntr AS MaterialQtyToBaseQtyDnmntr,
  comp.RequiredQuantity AS RequiredQuantity,
  comp.WithdrawnQuantity AS WithdrawnQuantity,
  comp.ConfirmedAvailableQuantity AS ConfirmedAvailableQuantity,
  comp.MaterialCompOriginalQuantity AS MaterialCompOriginalQuantity,
  comp.GoodsMovementEntryQty AS GoodsMovementEntryQty,
  comp.Currency AS Currency,
  comp.WithdrawnQuantityAmount AS WithdrawnQuantityAmount,
  comp._SequenceCategory AS _SequenceCategory,
  comp._OrderInternalID AS _OrderInternalID,
  comp._ProductionPlant AS _ProductionPlant,
  comp._RequirementType AS _RequirementType,
  comp._MaterialGroup AS _MaterialGroup,
  comp._Material AS _Material,
  comp._Product AS _Product,
  comp._ProductPlant AS _ProductPlant,
  comp._ProductStorageLocation AS _ProductStorageLocation,
  comp._Plant AS _Plant,
  comp._StorageLocation AS _StorageLocation,
  comp._Batch AS _Batch,
  comp._BatchSplitType AS _BatchSplitType,
  comp._DebitCreditCode AS _DebitCreditCode,
  comp._GoodsMovementType AS _GoodsMovementType,
  comp._InventorySpecialStockType AS _InventorySpecialStockType,
  comp._InventorySpecialStockValnType AS _InventorySpecialStockValnType,
  comp._ConsumptionPosting AS _ConsumptionPosting,
  comp._SupplyArea AS _SupplyArea,
  comp._FollowUpMaterial AS _FollowUpMaterial,
  comp._DiscontinuationType AS _DiscontinuationType,
  comp._PhantomAssembly AS _Assembly,
  comp._BOMItemCategory AS _BOMItemCategory,
  comp._SalesOrder AS _SalesOrder,
  comp._SalesOrderItem AS _SalesOrderItem,
  comp._WBSElementBasicData AS _WBSElementBasicData,
  comp._ChangeNumber AS _ChangeNumber,
  comp._MaterialRevisionLevel AS _MaterialRevisionLevel,
  comp._PurchasingGroup AS _PurchasingGroup,
  comp._PurchasingInfoRecord AS _PurchasingInfoRecord,
  comp._PurchaseRequisition AS _PurchaseRequisition,
  comp._PurchaseRequisitionItem AS _PurchaseRequisitionItem,
  comp._Supplier AS _Supplier,
  comp._CompanyCode AS _CompanyCode,
  comp._BusinessArea AS _BusinessArea,
  comp._GLAccount AS _GLAccount,
  comp._ControllingArea AS _ControllingArea,
  comp._FunctionalArea AS _FunctionalArea,
  comp._AccountAssignmentCategory AS _AccountAssignmentCategory,
  comp._OpLeadTimeOffsetUnit AS _OpLeadTimeOffsetUnit,
  comp._VariableSizeItemUnit AS _VariableSizeItemUnit,
  comp._VariableSizeComponentUnit AS _VariableSizeComponentUnit,
  comp._BaseUnit AS _BaseUnit,
  comp._EntryUnit AS _EntryUnit,
  comp._Currency AS _Currency,
  comp._StatusObject AS _StatusObject,
  comp._LongTextLanguage AS _LongTextLanguage
FROM I_OrderComponent AS comp
LEFT OUTER JOIN I_ReservationDocumentHeader AS _Reservation ON Reservation = _Reservation.Reservation  -- association [1..1]
LEFT OUTER JOIN I_ReservationDocumentItem AS _ReservationItem ON Reservation = _ReservationItem.Reservation AND ReservationItem = _ReservationItem.ReservationItem AND ReservationRecordType = _ReservationItem.RecordType  -- association [1..1]
LEFT OUTER JOIN I_ReservationDocRecordType AS _ReservationRecordType ON ReservationRecordType = _ReservationRecordType.RecordType  -- association [0..1]
LEFT OUTER JOIN I_ProductionOrderType AS _ProductionOrderType ON ProductionOrderType = _ProductionOrderType.ProductionOrderType  -- association [1..1]
LEFT OUTER JOIN I_ProductionOrder AS _ProductionOrderHeader ON ProductionOrder = _ProductionOrderHeader.ProductionOrder  -- association [1..1]
LEFT OUTER JOIN I_ProductionOrderSequence AS _ProductionOrderSequence ON ProductionOrder = _ProductionOrderSequence.ProductionOrder AND ProductionOrderSequence = _ProductionOrderSequence.ProductionOrderSequence  -- association [1..1]
LEFT OUTER JOIN E_ReservationDocumentItem AS _Extension ON Reservation = _Extension.Reservation AND ReservationItem = _Extension.ReservationItem AND ReservationRecordType = _Extension.RecordType  -- association [1..1]
LEFT OUTER JOIN I_ProductionOrder AS _ProductionOrderText ON ProductionOrder = _ProductionOrderText.ProductionOrder  -- association [1..1]
LEFT OUTER JOIN I_Plant AS _ProductionPlantText ON ProductionPlant = _ProductionPlantText.Plant  -- association [1..1]
LEFT OUTER JOIN I_Plant AS _PlantText ON Plant = _PlantText.Plant  -- association [0..1]
LEFT OUTER JOIN I_ProductText AS _MaterialText ON Material = _MaterialText.Product  -- association [0..*]
LEFT OUTER JOIN I_WBSElementBasicData AS _WBSElementText ON WBSElementInternalID = _WBSElementText.WBSElementInternalID  -- association [0..1]
LEFT OUTER JOIN I_StorageLocation AS _StorageLocationText ON Plant = _StorageLocationText.Plant AND StorageLocation = _StorageLocationText.StorageLocation  -- association [0..1]
LEFT OUTER JOIN I_ProductionSupplyAreaText AS _SupplyAreaText ON Plant = _SupplyAreaText.Plant AND SupplyArea = _SupplyAreaText.ProductionSupplyArea  -- association [0..*]
LEFT OUTER JOIN I_Supplier AS _SupplierText ON Supplier = _SupplierText.Supplier  -- association [0..1]
LEFT OUTER JOIN I_PurchasingGroup AS _PurchasingGroupText ON PurchasingGroup = _PurchasingGroupText.PurchasingGroup  -- association [0..1]
LEFT OUTER JOIN I_ProductText AS _AssemblyText ON Assembly = _AssemblyText.Product  -- association [0..*]
LEFT OUTER JOIN I_ProductText AS _FollowUpMaterialText ON FollowUpMaterial = _FollowUpMaterialText.Product  -- association [0..*]
LEFT OUTER JOIN I_StatusObject AS _StatusObjectText ON ObjectInternalID = _StatusObjectText.StatusObject  -- association [1..1]
LEFT OUTER JOIN I_BusinessAreaText AS _BusinessAreaText ON BusinessArea = _BusinessAreaText.BusinessArea  -- association [0..*]
LEFT OUTER JOIN I_CompanyCode AS _CompanyCodeText ON CompanyCode = _CompanyCodeText.CompanyCode  -- association [0..1]
LEFT OUTER JOIN I_ControllingArea AS _ControllingAreaText ON ControllingArea = _ControllingAreaText.ControllingArea  -- association [0..1]
LEFT OUTER JOIN I_FunctionalAreaText AS _FunctionalAreaText ON FunctionalArea = _FunctionalAreaText.FunctionalArea  -- association [0..*]
LEFT OUTER JOIN I_ProdnOrderComponentLongText AS _LongText ON /* condition not available in parsed metadata */  -- association [0..*]
;