Codeunit 5991 "Sales Warehouse Mgt."
Base Application · Microsoft.Sales.Document
Across versions
- BC23-24present
- BC254 procedures added, 1 events changed
- BC26-27unchanged
- BC281 procedures added, 1 procedures removed
- BC29-30unchanged
Neighbourhood 11 connected objects and pages
Base Application · Microsoft.Sales.Document · BC23-30 · source at ea08af5e · facts from BC29
Events published
OnBeforeShowSalesLines(var SalesLine: Record "Sales Line"; SourceSubType: Integer; SourceNo: Code[20]; SourceLineNo: Integer; var IsHandled: Boolean)(integration)OnBeforeShowAttachedSalesLines(var SalesLine: Record "Sales Line"; SourceSubType: Integer; SourceNo: Code[20]; SourceLineNo: Integer; var IsHandled: Boolean)(integration)OnAfterSalesLineVerifyChange(var NewRecordRef: RecordRef; var OldRecordRef: RecordRef)(integration)OnAfterSalesLineDelete(var SalesLine: Record "Sales Line")(integration)OnBeforeSalesLineVerifyChange(var NewSalesLine: Record "Sales Line"; var OldSalesLine: Record "Sales Line"; var IsHandled: Boolean)(integration)OnBeforeSalesHeaderVerifyChange(var NewSalesHeader: Record "Sales Header"; var OldSalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration)OnBeforeFromSalesLine2ShptLine(var SalesLine: Record "Sales Line"; var Result: Boolean; var IsHandled: Boolean; WarehouseShipmentHeader: Record "Warehouse Shipment Header")(integration)OnFromSalesLine2ShptLineOnBeforeCreateATOShipmentLine(WarehouseShipmentHeader: Record "Warehouse Shipment Header"; AssemblyHeader: Record "Assembly Header"; var SalesLine: Record "Sales Line"; var ATOWhseShptLineQty: Decimal; var ATOWhseShptLineQtyBase: Decimal)(integration)OnFromSalesLine2ShptLineOnBeforeCreateShipmentLine(WarehouseShipmentHeader: Record "Warehouse Shipment Header"; SalesLine: Record "Sales Line"; var TotalOutstandingWhseShptQty: Decimal; var TotalOutstandingWhseShptQtyBase: Decimal)(integration)OnAfterInitNewWhseShptLine(var WarehouseShipmentLine: Record "Warehouse Shipment Line"; WarehouseShipmentHeader: Record "Warehouse Shipment Header"; SalesLine: Record "Sales Line"; AssembleToOrder: Boolean; var WhseShptLineQty: Decimal; var WhseShptLineQtyBase: Decimal; var IsHandled: Boolean; var Return: Boolean)(integration)OnBeforeCreateShptLineFromSalesLine(var WarehouseShipmentLine: Record "Warehouse Shipment Line"; WarehouseShipmentHeader: Record "Warehouse Shipment Header"; SalesLine: Record "Sales Line"; SalesHeader: Record "Sales Header")(integration)OnAfterCreateShptLineFromSalesLine(var WarehouseShipmentLine: Record "Warehouse Shipment Line"; WarehouseShipmentHeader: Record "Warehouse Shipment Header"; SalesLine: Record "Sales Line"; SalesHeader: Record "Sales Header")(integration)OnBeforeSalesLine2ReceiptLine(WarehouseReceiptHeader: Record "Warehouse Receipt Header"; var SalesLine: Record "Sales Line"; var Result: Boolean; var IsHandled: Boolean)Δ BC25 (integration)OnSalesLine2ReceiptLineOnAfterInitNewLine(var WarehouseReceiptLine: Record "Warehouse Receipt Line"; WarehouseReceiptHeader: Record "Warehouse Receipt Header"; SalesLine: Record "Sales Line")(integration)OnSalesLine2ReceiptLineOnBeforeUpdateReceiptLine(var WarehouseReceiptLine: Record "Warehouse Receipt Line"; SalesLine: Record "Sales Line")(integration)OnBeforeCreateReceiptLineFromSalesLine(var WarehouseReceiptLine: Record "Warehouse Receipt Line"; WarehouseReceiptHeader: Record "Warehouse Receipt Header"; SalesLine: Record "Sales Line")(integration)OnAfterCreateRcptLineFromSalesLine(var WarehouseReceiptLine: Record "Warehouse Receipt Line"; WarehouseReceiptHeader: Record "Warehouse Receipt Header"; SalesLine: Record "Sales Line")(integration)OnBeforeCheckIfSalesLine2ShptLine(var SalesLine: Record "Sales Line"; var ReturnValue: Boolean; var IsHandled: Boolean)(integration)OnBeforeCheckIfSalesLine2ReceiptLine(var SalesLine: Record "Sales Line"; var ReturnValue: Boolean; var IsHandled: Boolean)(integration)OnCreateShptLineFromSalesLineOnBeforeGetSalesHeader(WarehouseShipmentHeader: Record "Warehouse Shipment Header"; SalesLine: Record "Sales Line"; WhseShptLineQty: Decimal; WhseShptLineQtyBase: Decimal; AssembleToOrder: Boolean; var IsHandled: Boolean; var Result: Boolean)(integration)OnSetFiltersOnSourceTablesOnBeforeSetSalesTableView(var WarehouseSourceFilter: Record "Warehouse Source Filter"; var WarehouseRequest: Record "Warehouse Request"; var SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line")(integration)
Event subscriptions
- OnShowSourceDocLine subscribes to Codeunit “WMS Management” OnShowSourceDocLine
- OnShowSourceDocAttachedLines subscribes to Codeunit “WMS Management” OnShowSourceDocAttachedLines
- OnShowPostedSourceDoc subscribes to Codeunit “WMS Management” OnShowPostedSourceDoc
- OnShowSourceDocCard subscribes to Codeunit “WMS Management” OnShowSourceDocCard
- OnWhseLineExistOnBeforeCheckReceipt subscribes to Codeunit “Whse. Validate Source Line” OnWhseLineExistOnBeforeCheckReceipt
- OnWhseLineExistOnBeforeCheckShipment subscribes to Codeunit “Whse. Validate Source Line” OnWhseLineExistOnBeforeCheckShipment
- OnShowSourceDocumentCard subscribes to Table “Warehouse Request” OnShowSourceDocumentCard
- OnSetFiltersOnSourceTables subscribes to Table “Warehouse Source Filter” OnSetFiltersOnSourceTables
- OnAfterGetSrcDocLineQtyOutstanding subscribes to Codeunit “Whse. Management” OnAfterGetSrcDocLineQtyOutstanding
- WhseManagementGetSourceDocumentType subscribes to Codeunit “Whse. Management” OnAfterGetSourceDocumentType
- WhseManagementGetJournalSourceDocument subscribes to Codeunit “Whse. Management” OnAfterGetJournalSourceDocument
- CreatePickOnCheckSourceDocument subscribes to Report “Create Pick” OnCheckSourceDocument
Procedures
SalesLineVerifyChange(var NewSalesLine: Record "Sales Line"; var OldSalesLine: Record "Sales Line"): Verifies that changes to a sales line do not conflict with existing warehouse lines.SalesLineDelete(var SalesLine: Record "Sales Line"): Validates that a sales line can be deleted when warehouse lines exist.SalesHeaderVerifyChange(var NewSalesHeader: Record "Sales Header"; var OldSalesHeader: Record "Sales Header"): Verifies that changes to a sales header’s shipping advice are propagated to warehouse lines.FromSalesLine2ShptLine(WarehouseShipmentHeader: Record "Warehouse Shipment Header"; SalesLine: Record "Sales Line"): Boolean: Creates warehouse shipment lines from a sales line, including assembly-to-order lines if applicable.SalesLine2ReceiptLine(WarehouseReceiptHeader: Record "Warehouse Receipt Header"; SalesLine: Record "Sales Line"): Boolean: Creates a warehouse receipt line from a sales line for returns.CheckIfFromSalesLine2ShptLine(SalesLine: Record "Sales Line"): Boolean: Checks if a warehouse shipment line can be created from a sales line.CheckIfFromSalesLine2ShptLine(SalesLine: Record "Sales Line"; ReservedFromStock: Enum "Reservation From Stock"): Boolean: Checks if a warehouse shipment line can be created from a sales line with a specific reservation filter.CheckIfSalesLine2ReceiptLine(SalesLine: Record "Sales Line"): Boolean: Checks if a warehouse receipt line can be created from a sales line.
Plus 2 local procedures.
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 5750 “Whse.-Create Source Document” (6 calls:
CreateShptLineFromSalesLine → CreateShipmentLine,CreateShptLineFromSalesLine → SetQtysOnShptLine,CreateShptLineFromSalesLine → UpdateShipmentLine, …) - Codeunit 5777 “Whse. Validate Source Line” (4 calls:
SalesLineDelete → RaiseCannotBeDeletedErr,SalesLineDelete → WhseLinesExist,SalesLineVerifyChange → VerifyFieldNotChanged, …) - Codeunit 5775 “Whse. Management” (2 calls:
CheckIfSalesLine2ReceiptLine → SetSourceFilterForWhseRcptLine,CreatePickOnCheckSourceDocument → GetSourceDocumentDoesNotExistErr) - Page 42 “Sales Order” (2 calls:
OnShowSourceDocCard → (object),OnShowSourceDocumentCard → (object)) - Page 6630 “Sales Return Order” (2 calls:
OnShowSourceDocCard → (object),OnShowSourceDocumentCard → (object)) - Codeunit 5781 “Whse. Validate Source Header” (1 call:
SalesHeaderVerifyChange → ChangeWarehouseLines) - Page 130 “Posted Sales Shipment” (1 call:
OnShowPostedSourceDoc → (object)) - Page 516 “Sales Lines” (1 call:
ShowSalesLines → (object)) - Page 6660 “Posted Return Receipt” (1 call:
OnShowPostedSourceDoc → (object))
Called by
- Table 37 “Sales Line” (2 calls:
CheckWarehouseForQtyToShip → SalesLineVerifyChange,OnDelete → SalesLineDelete) - Report 5753 “Get Source Documents” (1 call:
CreateActivityFromSalesLine2ShptLine → FromSalesLine2ShptLine)
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: "Sales Warehouse Mgt."), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.