Codeunit 87 "Blanket Sales Order to Order"
Base Application · Microsoft.Sales.Document
Across versions
- BC23present
- BC241 events added
- BC256 procedures added, 3 procedures removed
- BC26-27unchanged
- BC281 procedures added
- BC291 procedures added
- BC30unchanged
Neighbourhood 15 connected objects and pages
Base Application · Microsoft.Sales.Document · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| TableNo | Sales Header |
Events published
OnAfterRun(var SalesHeader: Record "Sales Header"; var SalesOrderHeader: Record "Sales Header")(integration)OnBeforeAutoReserve(var SalesLine: Record "Sales Line"; var TempSalesLine: Record "Sales Line" temporary; var IsHandled: Boolean)(integration)OnBeforeCheckBlockedCustomer(var SalesHeader: Record "Sales Header"; var Customer: Record Customer; HideValidationDialog: Boolean; var IsHandled: Boolean)(integration)OnBeforeRun(var SalesHeader: Record "Sales Header"; var HideValidationDialog: Boolean; var SuppressCommit: Boolean)(integration)OnBeforeInsertSalesOrderHeader(var SalesOrderHeader: Record "Sales Header"; var BlanketOrderSalesHeader: Record "Sales Header")(integration)- subscribers: Codeunit 1173 “Document Attachment Mgmt” DocAttachFlowForSalesHeaderFromBlanketOrderToSalesOrder
OnAfterInsertSalesOrderLine(var SalesOrderLine: Record "Sales Line"; SalesOrderHeader: Record "Sales Header"; BlanketOrderSalesLine: Record "Sales Line"; BlanketOrderSalesHeader: Record "Sales Header")(integration)- subscribers: Codeunit 1173 “Document Attachment Mgmt” DocAttachFlowForSalesLinesFromBlanketOrderToSalesOrder, Codeunit 8069 “Sales Subscription Line Mgmt.” BlanketSalesOrderToOrderUpdateSalesServiceCommitmentOnAfterInsertSalesOrderLine
OnBeforeInsertSalesOrderLine(var SalesOrderLine: Record "Sales Line"; SalesOrderHeader: Record "Sales Header"; BlanketOrderSalesLine: Record "Sales Line"; BlanketOrderSalesHeader: Record "Sales Header")(integration)- subscribers: Codeunit 8063 “Sales Documents” BlanketSalesOrderToOrderValidateQuantityOnSalesLineOnBeforeInsertSalesOrderLine
OnAfterInsertAllSalesOrderLines(var BlanketOrderSalesHeader: Record "Sales Header"; var OrderSalesHeader: Record "Sales Header")(integration)OnAfterResetQuantityFields(var SalesLine: Record "Sales Line")(integration)OnBeforeCheckBlanketOrderLineQuantity(var BlanketOrderSalesLine: Record "Sales Line"; QuantityOnOrders: Decimal; var IsHandled: Boolean)(integration)OnBeforeCheckSalesLineItemAvailability(var SalesLine: Record "Sales Line"; var IsHandled: Boolean; BlanketOrderSalesHeader: Record "Sales Header")(integration)OnBeforeCheckAvailability(BlanketOrderSalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration)OnBeforeCreateSalesHeader(var SalesHeader: Record "Sales Header"; PrepmtPercent: Decimal; var CreditLimitExceeded: Boolean; var IsHandled: Boolean; var OrderSalesHeader: Record "Sales Header")(integration)OnBeforeHandlingBlanketOrderSalesLine(var BlanketOrderSalesLine: Record "Sales Line")(integration)OnBeforeSalesOrderLineValidateQuantity(var SalesOrderLine: Record "Sales Line"; BlanketOrderSalesLine: Record "Sales Line"; var IsHandled: Boolean)(integration)OnBeforeSalesOrderHeaderModify(var SalesOrderHeader: Record "Sales Header"; BlanketOrderSalesHeader: Record "Sales Header")(integration)OnBeforeReserveItemsManuallyLoop(var SalesHeader: Record "Sales Header"; var SalesOrderHeader: Record "Sales Header"; var TempSalesLine: Record "Sales Line" temporary; var SuppressCommit: Boolean)(integration)OnCheckAvailabilityOnAfterCalcShouldCheckSalesLineItemAvailability(BlanketOrderSalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; var ShouldCheckSalesLineItemAvailability: Boolean)(integration)OnCheckAvailabilityOnBeforeSalesLineInitOutstanding(var SalesLine: Record "Sales Line"; BlanketOrderSalesLine: Record "Sales Line")(integration)OnCreateSalesHeaderOnAfterSalesOrderHeaderInitFromSalesHeader(var SalesHeader: Record "Sales Header"; HideValidationDialog: Boolean; var SalesOrderHeader: Record "Sales Header")(integration)OnRunOnAfterBlanketOrderSalesLineSetFilters(var BlanketOrderSalesLine: Record "Sales Line")(integration)OnRunOnAfterSalesOrderLineValidateShipmentDate(BlanketOrderSalesLine: Record "Sales Line"; var SalesOrderLine: Record "Sales Line")(integration)OnRunOnAfterSalesLineSetFilters(var SalesLine: Record "Sales Line")(integration)OnRunOnBeforeSalesLineReserveTransferSaleLineToSalesLine(var BlanketOrderSalesLine: Record "Sales Line"; var SalesOrderLine: Record "Sales Line")(integration)OnRunOnBeforeResetQuantityFields(var BlanketOrderSalesLine: Record "Sales Line"; var SalesOrderLine: Record "Sales Line")(integration)OnRunOnBeforeValidateBlanketOrderSalesLineQtytoShip(var BlanketOrderSalesLine: Record "Sales Line"; SalesOrderLine: Record "Sales Line"; SalesOrderHeader: Record "Sales Header"; BlanketOrderSalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration)OnCreateSalesHeaderOnAfterSalesOrderHeaderInsert(SalesHeader: Record "Sales Header"; var SalesOrderHeader: Record "Sales Header")(integration)OnRunOnAfterCheckAvailability(var SalesLine: Record "Sales Line"; var BlanketOrderSalesLine: Record "Sales Line")(integration)OnBeforeProcessBlanketOrderSalesLine(var BlanketOrderSalesLine: Record "Sales Line"; var ProcessLine: Boolean)+ BC24 (integration)
Procedures
CreateSalesOrderLines(var SalesHeaderBlanketOrder: Record "Sales Header"; var SalesLineBlanketOrder: Record "Sales Line"; var SalesHeaderOrder: Record "Sales Header"; var SalesLineOrder: Record "Sales Line"; var NextLineNo: Integer)+ BC25: Creates sales order lines from blanket sales order lines by transferring quantities and settings.ReserveSalesOrderLines(SalesHeaderOrder: Record "Sales Header"; var SalesLineOrder: Record "Sales Line"; var TempSalesLine: Record "Sales Line" temporary)+ BC25: Reserves sales order lines automatically and tracks lines requiring manual reservation.GetSalesOrderHeader(var SalesHeader: Record "Sales Header"): Retrieves the created sales order header after conversion.SetSalesOrderHeader(var SalesHeader: Record "Sales Header")+ BC25: Sets the sales order header to use as the target for conversion.SetHideValidationDialog(NewHideValidationDialog: Boolean): Specifies whether to hide validation dialogs during the conversion process.
Plus 11 local procedures.
Triggers
OnRun
Relations
- runs on Table 36 “Sales 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 311 “Item-Check Avail.” (2 calls:
CheckSalesLineItemAvailability → RaiseUpdateInterruptedError,CheckSalesLineItemAvailability → SalesLineCheck) - Codeunit 312 “Cust-Check Cr. Limit” (2 calls:
CreateSalesHeader → SalesHeaderCheck,OnRun → BlanketSalesOrderToOrderCheck) - Codeunit 56 “Sales - Calc Discount By Type” (2 calls:
OnRun → ResetRecalculateInvoiceDisc,OnRun → ShouldRedistributeInvoiceDiscountAmount) - Codeunit 99000845 “Reservation Management” (2 calls:
AutoReserve → AutoReserve,AutoReserve → SetReservSource) - Codeunit 170 “Standard Codes Mgt.” (1 call:
CreateSalesHeader → SetSkipRecurringLines) - Codeunit 441 “Prepayment Mgt.” (1 call:
CreateSalesOrderLines → SetSalesPrepaymentPct) - Codeunit 447 “Record Link Management” (1 call:
OnRun → CopyLinks) - Codeunit 5402 “Unit of Measure Management” (1 call:
CheckAvailability → QtyRndPrecision) - Codeunit 99000832 “Sales Line-Reserve” (1 call:
CreateSalesOrderLines → TransferSaleLineToSalesLine)
Called by
- Codeunit 7280 “Sales Line Utility” (3 calls:
CreateFromBlanketOrder → CreateSalesOrderLines,CreateFromBlanketOrder → SetHideValidationDialog,CreateFromBlanketOrder → SetSalesOrderHeader) - Codeunit 84 “Blnkt Sales Ord. to Ord. (Y/N)” (2 calls:
OnRun → (object),OnRun → GetSalesOrderHeader)
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 Sales Order to Order"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.