Codeunit 99000787 "Create Prod. Order Lines"
Base Application · Microsoft.Manufacturing.Document
Across versions
- BC23-24present
- BC254 procedures changed
- BC261 procedures added, 1 events changed
- BC27unchanged
- BC282 events added, 1 procedures added
- BC29-30unchanged
Neighbourhood 8 connected objects and pages
Base Application · Microsoft.Manufacturing.Document · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Permissions | TableData Item = r, TableData “Sales Header” = r, TableData “Sales Line” = r, TableData “Prod. Order Line” = rimd, TableData “Prod. Order Component” = rimd, TableData “Manufacturing Setup” = rim, TableData “Family Line” = r, TableData “Production Order” = r |
Events published
OnAfterCopy(var ProdOrder: Record "Production Order"; var ErrorOccured: Boolean)(integration)OnAfterCreateProdOrderLine(ProdOrder: Record "Production Order"; VariantCode: Code[10]; var ErrorOccured: Boolean)Δ BC26 (integration)OnAfterInitProdOrderLine(var ProdOrderLine: Record "Prod. Order Line"; ProdOrder: Record "Production Order"; SalesLine: Record "Sales Line")(integration)OnAfterProdOrderLineInsert(var ProdOrder: Record "Production Order"; var ProdOrderLine: Record "Prod. Order Line"; var NextProdOrderLineNo: Integer)(integration)OnAfterProcessProdOrderLine(var ProdOrderLine: Record "Prod. Order Line"; Direction: Option Forward,Backward; LetDueDateDecrease: Boolean)(integration)OnAfterReserveMultiLevelStructureComp(var ProdOrderLine: Record "Prod. Order Line"; var ProdOrderComponent: Record "Prod. Order Component")(integration)OnAfterShouldIncreasePlanningLevel(ProdOrderComp: Record "Prod. Order Component"; StockkeepingUnit: Record "Stockkeeping Unit"; var IncreasePlanningLevel: Boolean)(integration)OnAfterUpdateProdOrderLine(var ProdOrderLine: Record "Prod. Order Line"; Direction: Option Forward,Backward; LetDueDateDecrease: Boolean)(integration)OnUpdateProdOrderLineOnBeforeUpdateCompPlanningLevel(var ProdOrderLine: Record "Prod. Order Line")+ BC28 (integration)OnBeforeCheckMultiLevelStructure(ProductionOrder: Record "Production Order"; Direction: Option Forward,Backward; var IsHandled: Boolean)(integration)OnBeforeCopy(var ProductionOrder: Record "Production Order"; Direction: Option Forward,Backward; VariantCode: Code[10]; LetDueDateDecrease: Boolean; var ErrorOccured: Boolean; var IsHandled: Boolean)(integration)OnBeforeCopyFromSalesOrder(SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; ProductionOrder: Record "Production Order"; var NextProdOrderLineNo: Integer)(integration)OnBeforeDeleteLinesForProductionOrder(ProductionOrder: Record "Production Order"; var NextProdOrderLineNo: Integer; var IsHandled: Boolean)(integration)OnBeforeInsertProdOrderLine(var ProdOrderLine: Record "Prod. Order Line"; var ProdOrderLine3: Record "Prod. Order Line"; var InsertNew: Boolean; var IsHandled: Boolean)(integration)OnBeforeInitProdOrderLine(ProductionOrder: Record "Production Order"; SalesLine: Record "Sales Line"; var ItemNo: Code[20]; var VariantCode: Code[10]; var LocationCode: Code[10]; var IsHandled: Boolean)(integration)OnBeforeProcessProdOrderLine(var ProdOrderLine: Record "Prod. Order Line"; ProductionOrder: Record "Production Order"; Direction: Option Forward,Backward; LetDueDateDecrease: Boolean; var ErrorOccured: Boolean; var IsHandled: Boolean)(integration)OnBeforeProdOrderLineInsert(var ProdOrderLine: Record "Prod. Order Line"; var ProductionOrder: Record "Production Order"; SalesLineIsSet: Boolean; var SalesLine: Record "Sales Line")(integration)OnBeforeProdOrderLine3Modify(var ProdOrderLine3: Record "Prod. Order Line"; ProdOrderLine: Record "Prod. Order Line")(integration)OnBeforeReserveMultiLevelStructureComp(var ProdOrderComponent: Record "Prod. Order Component"; var ProdOrderLine: Record "Prod. Order Line"; var IsHandled: Boolean)(integration)OnCopyFromFamilyOnAfterInitProdOrderLine(ProductionOrder: Record "Production Order"; FamilyLine: Record "Family Line"; var ProdOrderLine: Record "Prod. Order Line")(integration)OnCopyFromFamilyOnAfterInsertProdOrderLine(var ProdOrderLine: Record "Prod. Order Line")(integration)OnCopyFromFamilyOnAfterFamilyLineSetFilters(var FamilyLine: Record "Family Line"; ProductionOrder: Record "Production Order")(integration)OnCopyFromFamilyOnBeforeInsertProdOrderLine(var ProdOrderLine: Record "Prod. Order Line"; FamilyLine: Record "Family Line")(integration)OnCopyFromSalesOrderOnBeforeSalesPlanLineInsert(var SalesLine: Record "Sales Line"; var SalesPlanningLine: Record "Sales Planning Line")(integration)OnCopyFromSalesOrderOnBeforeProdOrderLineModify(var ProdOrderLine: Record "Prod. Order Line"; SalesLine: Record "Sales Line"; SalesPlanningLine: Record "Sales Planning Line"; var NextProdOrderLineNo: Integer)(integration)OnCopyFromSalesOrderOnAfterCalcQuantityBase(var ProdOrderLine: Record "Prod. Order Line"; SalesLineIsSet: Boolean; var SalesLine: Record "Sales Line"; var QuantityBase: Decimal)(integration)OnCopyFromSalesOrderOnAfterCalcShouldCreateTempSalesPlanningLines(var SalesLine: Record "Sales Line"; var ShouldCreateTempSalesPlanningLines: Boolean)(integration)OnCopyFromSalesOrderOnAfterSalesPlanLinesInsert(SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line")(integration)OnInitProdOrderLineAfterVariantCode(var ProdOrderLine: Record "Prod. Order Line"; VariantCode: Code[10])(integration)OnInitProdOrderLineAfterScrap(var ProdOrderLine: Record "Prod. Order Line"; var ProductionOrder: Record "Production Order")(integration)OnInitProdOrderLineBeforeAssignItemNo(var ProdOrderLine: Record "Prod. Order Line"; ItemNo: Code[20]; VariantCode: Code[10]; LocationCode: Code[10])(integration)OnCheckMakeOrderLineBeforeIf(var ProductionOrder: Record "Production Order"; var ProdOrderLine: Record "Prod. Order Line"; var ProdOrderComponent: Record "Prod. Order Component"; var MakeProdOrder: Boolean)(integration)OnCheckMakeOrderLineBeforeInsert(var ProdOrderLine: Record "Prod. Order Line"; var ProdOrderComponent: Record "Prod. Order Component"; var InsertNew: Boolean)(integration)OnCheckMakeOrderLineOnAfterUpdateProdOrderLine(var ProdOrderLine: Record "Prod. Order Line")(integration)OnBeforeIsReplSystemProdOrder(SalesLine: Record "Sales Line"; var ReplanSystemProdOrder: Boolean; var IsHandled: Boolean)(integration)OnCreateProdOrderLineOnBeforeCreateProdOrderLineFromItem(var IsHandled: Boolean; var ErrorOccured: Boolean; var ProductionOrder: Record "Production Order"; VariantCode: Code[10])+ BC28 (integration)OnCreateProdOrderLineOnBeforeInitProdOrderLine(var InsertNew: Boolean)(integration)OnProcessProdOrderLinesOnBeforeAdjustStartEndingDate(var ProductionOrder: Record "Production Order")(integration)OnCopyFromSalesOrderOnAfterProdOrderLineModify(var ProdOrderLine: Record "Prod. Order Line"; var SalesLine: Record "Sales Line")(integration)
Procedures
CheckStructure(Status: Option; ProdOrderNo: Code[20]; Direction: Option Forward,Backward; MultiLevel: Boolean; LetDueDateDecrease: Boolean)Copy(ProdOrder2: Record "Production Order"; Direction: Option Forward,Backward; VariantCode: Code[10]; LetDueDateDecrease: Boolean): BooleanCopyFromSalesOrder(SalesHeader: Record "Sales Header"): BooleanInitProdOrderLine(ItemNo: Code[20]; VariantCode: Code[10]; LocationCode: Code[10])Δ BC25InsertProdOrderLine(): BooleanΔ BC25CheckMakeOrderLine(var ProdOrderComp: Record "Prod. Order Component"; var ProdOrderLine: Record "Prod. Order Line"; Direction: Option Forward,Backward; MultiLevel: Boolean; LetDueDateDecrease: Boolean): BooleanΔ BC25ReserveMultiLevelStructure(var ProdOrderComp2: Record "Prod. Order Component")Δ BC25CopyDimFromSalesLine(SalesLine: Record "Sales Line"; var ProdOrderLine: Record "Prod. Order Line")SetSalesLine(SalesLine2: Record "Sales Line")CheckReplenishmentSystemProdOrderAndNotProductionBlocked(ItemNo: Code[20]; VariantCode: Code[10]; LocationCode: Code[10]): Boolean+ BC26 (internal)
Plus 12 local procedures.
Triggers
OnRun
Calls
From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an Object::"Name" argument. Interface dispatch and calls through events are not counted, so the list is not complete.
- Codeunit 99000773 “Calculate Prod. Order” (6 calls:
CheckMakeOrderLine → Calculate,CheckMakeOrderLine → Recalculate,InitProdOrderLine → SetProdOrderLineBinCodeFromRoute, …) - Codeunit 5996 “Prod. Order Warehouse Mgt.” (2 calls:
InitProdOrderLine → CompareProdOrderWithProdOrderLinesForLocation,InitProdOrderLine → ValidateWarehousePutAwayLocation) - Codeunit 5404 “Lead-Time Management” (1 call:
CopyFromSalesOrder → GetPlannedEndingDate) - Codeunit 6500 “Item Tracking Management” (1 call:
CopyFromSalesOrder → CopyItemTracking) - Codeunit 99000832 “Sales Line-Reserve” (1 call:
CopyFromSalesOrder → BindToTracking) - Codeunit 99000838 “Prod. Order Comp.-Reserve” (1 call:
ReserveMultiLevelStructure → BindToTracking)
Called by
- Codeunit 99000792 “Create Prod. Order from Sale” (2 calls:
CreateProductionOrder → Copy,CreateProductionOrder → SetSalesLine) - Page extension 99000883 “Mfg. Sales Order Planning” (1 call:
CreateOrders → CheckReplenishmentSystemProdOrderAndNotProductionBlocked)
Recent changes
- 2026-07-28 #9441 [Extensibility Request] issue 30337: add OnCreateProdOrderLineOnBeforeCreateProdOrderLineFromItem event (main, BC30, feature)
Ask your agent
Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: bcatlas_resolve_node(object_type: "codeunit", object_name: "Create Prod. Order Lines"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.