Codeunit 97 "Blanket Purch. Order to Order"
Base Application · Microsoft.Purchases.Document
Across versions
- BC23present
- BC241 events added
- BC25-26unchanged
- BC271 events added, 1 events removed
- BC281 procedures added
- BC29-30unchanged
Neighbourhood 8 connected objects and pages
Base Application · Microsoft.Purchases.Document · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| TableNo | Purchase Header |
Events published
OnAfterPurchOrderLineInsert(var PurchaseLine: Record "Purchase Line"; var BlanketOrderPurchLine: Record "Purchase Line")(integration)OnAfterRun(var PurchaseHeader: Record "Purchase Header"; var PurchOrderHeader: Record "Purchase Header")(integration)OnAfterResetQuantityFields(var TempPurchLine: Record "Purchase Line")(integration)OnBeforeRun(var PurchaseHeader: Record "Purchase Header"; var SkipCommit: Boolean)(integration)OnBeforeCalcQuantityOnOrders(var PurchBlanketOrderLine: Record "Purchase Line"; var QuantityOnOrders: Decimal; var IsHandled: Boolean)(integration)OnBeforeCheckBlanketOrderLineQuantity(var PurchBlanketOrderLine: Record "Purchase Line"; QuantityOnOrders: Decimal; var IsHandled: Boolean)(integration)OnBeforeCreatePurchHeader(var PurchaseHeader: Record "Purchase Header"; PrepmtPercent: Decimal; var IsHandled: Boolean; var OrderPurchaseHeader: Record "Purchase Header")(integration)OnBeforeInsertPurchOrderHeader(var PurchOrderHeader: Record "Purchase Header"; BlanketOrderPurchHeader: Record "Purchase Header")(integration)OnBeforeInsertPurchOrderLine(var PurchOrderLine: Record "Purchase Line"; PurchOrderHeader: Record "Purchase Header"; var BlanketOrderPurchLine: Record "Purchase Line"; BlanketOrderPurchHeader: Record "Purchase Header")(integration)- subscribers: Codeunit 1173 “Document Attachment Mgmt” DocAttachFlowForBlanketPurchaseLine
OnBeforeIsPurchOrderLineToBeInserted(var PurchaseHader: Record "Purchase Header"; PurchaseLine: Record "Purchase Line"; var Result: Boolean; var IsHandled: Boolean)(integration)OnBeforeUpdatePurchOrderLineDirectUnitCost(var PurchOrderLine: Record "Purchase Line"; PurchBlanketOrderLine: Record "Purchase Line"; PurchOrderHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnAfterInsertAllPurchOrderLines(BlanketOrderPurchHeader: Record "Purchase Header"; OrderPurchHeader: Record "Purchase Header"; var SkipCommit: Boolean)(integration)OnBeforePurchOrderHeaderModify(var PurchOrderHeader: Record "Purchase Header"; BlanketOrderPurchHeader: Record "Purchase Header")(integration)- subscribers: Codeunit 1173 “Document Attachment Mgmt” DocAttachFlowForBlanketPurchaseHeader
OnBeforePurchOrderLineValidateQuantity(var PurchOrderLine: Record "Purchase Line"; BlanketOrderPurchLine: Record "Purchase Line"; var IsHandled: Boolean)(integration)OnBeforePurchOrderLineValidateLineDiscountPct(var PurchaseOrderLine: Record "Purchase Line"; BlanketOrderPurchaseLine: Record "Purchase Line"; PurchaseOrderHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnCalcQuantityOnOrdersOnAfterPurchLineSetFilters(var PurchaseLine: Record "Purchase Line")(integration)OnCreatePurchHeaderOnBeforePurchOrderHeaderInitRecord(var PurchOrderHeader: Record "Purchase Header"; var PurchHeader: Record "Purchase Header")(integration)OnRunOnAfterPurchBlanketOrderLineLoop(var PurchOrderLine: Record "Purchase Line"; var PurchLine: Record "Purchase Line"; var PurchBlanketOrderLine: Record "Purchase Line")(integration)OnRunOnAfterPurchBlanketOrderLineSetFilters(var PurchBlanketOrderLine: Record "Purchase Line")(integration)OnRunOnAfterInitPurchOrderLineFromBlanketOrderLine(var PurchaseOrderLine: Record "Purchase Line"; var BlanketOrderPurchaseLine: Record "Purchase Line")(integration)OnRunOnAfterCalcReservedQtyBase(var PurchaseBlanketOrder: Record "Purchase Header"; var PurchaseBlanketOrderLine: Record "Purchase Line"; PurchaseOrder: Record "Purchase Header"; var PurchaseOrderLine: Record "Purchase Line")(integration)OnRunOnBeforeCheckModifyPurchBlanketOrderLine(var PurchOrderLine: Record "Purchase Line"; var PurchBlanketOrderLine: Record "Purchase Line"; var PurchLine: Record "Purchase Line")(integration)OnCreatePurchHeaderOnAfterPurchOrderHeaderInsert(PurchHeader: Record "Purchase Header"; var PurchOrderHeader: Record "Purchase Header")(integration)OnRunOnBeforeCommit(var PurchaseHeader: Record "Purchase Header"; var PurchHeaderOrder: Record "Purchase Header")(integration)OnRunOnBeforePurchBlanketOrderLineLoop(var PurchaseHeader: Record "Purchase Header"; PurchLineBlanketOrder: Record "Purchase Line"; var IsHandled: Boolean)(integration)OnRunOnBeforeQtyToReceiveIsZero(var PurchaseHeader: Record "Purchase Header"; var IsHandled: Boolean; var Vendor: Record "Vendor")+ BC24 + BC27 − BC27 (integration)
Procedures
GetPurchOrderHeader(var PurchHeader: Record "Purchase Header")
Plus 9 local procedures.
Triggers
OnRun
Relations
- runs on Table 38 “Purchase Header”
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 66 “Purch - Calc Disc. By Type” (2 calls:
OnRun → ResetRecalculateInvoiceDisc,OnRun → ShouldRedistributeInvoiceDiscountAmount) - Codeunit 170 “Standard Codes Mgt.” (1 call:
CreatePurchHeader → SetSkipRecurringLines) - Codeunit 441 “Prepayment Mgt.” (1 call:
OnRun → SetPurchPrepaymentPct) - Codeunit 447 “Record Link Management” (1 call:
OnRun → CopyLinks) - Codeunit 99000834 “Purch. Line-Reserve” (1 call:
OnRun → TransferPurchLineToPurchLine)
Called by
- Codeunit 94 “Blnkt Purch Ord. to Ord. (Y/N)” (2 calls:
OnRun → (object),OnRun → GetPurchOrderHeader)
Recent changes
- 2026-07-09 #9084 Bug 640321: Blanket Purch. Order to Order drops extended text for later items (main, BC30, fix)
Countries that replace it
Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).
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: "Blanket Purch. Order to Order"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.