Codeunit 20445 "Qlty. Inventory Availability"
Quality Management · Microsoft.QualityManagement.Integration.Inventory
Across versions
- BC23-28not present
- BC29-30present
Neighbourhood 8 connected objects and pages
Quality Management · Microsoft.QualityManagement.Integration.Inventory · BC29-30 · source at ea08af5e · facts from BC29
Events published
OnBeforePopulateBinContentBuffer(var QltyInspectionHeader: Record "Qlty. Inspection Header"; var TempInstructionQltyDispositionBuffer: Record "Qlty. Disposition Buffer" temporary; var TempQuantityQltyDispositionBuffer: Record "Qlty. Disposition Buffer" temporary; var TempExistingInventoryBinContent: Record "Bin Content" temporary; var IsHandled: Boolean)(integration): Notifies subscribers before disposition quantities are allocated to inventory locations and bins.OnAfterPopulateBinContentBuffer(var QltyInspectionHeader: Record "Qlty. Inspection Header"; var TempInstructionQltyDispositionBuffer: Record "Qlty. Disposition Buffer" temporary; var TempQuantityQltyDispositionBuffer: Record "Qlty. Disposition Buffer" temporary; var TempExistingInventoryBinContent: Record "Bin Content" temporary)(integration): Notifies subscribers after disposition quantities are allocated to inventory locations and bins.
Procedures
GetCurrentLocationOfTrackedInventory(QltyInspectionHeader: Record "Qlty. Inspection Header"; var TempBinContent: Record "Bin Content" temporary): Boolean(internal): Finds locations and bins containing positive inventory for the item-tracking values on an inspection. If multiple locations/bins are determined then those multiple locations/bins are supplied in TempBinContent.GetFromDetailsFromInspectionSource(QltyInspectionHeader: Record "Qlty. Inspection Header"; var TempToMoveBinContent: Record "Bin Content" temporary)(internal): Resolves source locations, bins, and quantities from the inspection’s related records into a temporary buffer.GetPassOrFailSamplesCount(var QltyInspectionHeader: Record "Qlty. Inspection Header"; QltyQuantityBehavior: Enum "Qlty. Quantity Behavior"): Decimal(internal): Gets the inspection’s passed or failed sample quantity and rejects nonpositive results. This can exceed the sample size to allow for oversampling. Pass Conditions: the samples must have passed all sampling test measurements Fail Conditions: One or more fail results for a sample designates it as fail…PopulateQuantityBuffer(var QltyInspectionHeader: Record "Qlty. Inspection Header"; var TempInstructionQltyDispositionBuffer: Record "Qlty. Disposition Buffer" temporary; var TempQuantityQltyDispositionBuffer: Record "Qlty. Disposition Buffer" temporary)(internal): Allocates the disposition quantity across eligible inventory locations and bins.ErrorIfFromBinIsReceiveBin(QltyInspectionHeader: Record "Qlty. Inspection Header"; FromLocationCode: Code[10]; FromBinCode: Code[20])(internal): Raises an error if the inventory would be moved from a receiving bin, which is not allowed in directed put-away and pick locations until the items have been put away.
Plus 8 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 20439 “Qlty. Item Tracking Mgmt.” (1 call:
GetFromLocationAndBinBasedOnNamingConventions → GetItemTrackingCode)
Called by
- Codeunit 20442 “Qlty. Disp. Move Auto Choose” (2 calls:
PerformDisposition → ErrorIfFromBinIsReceiveBin,PerformDisposition → PopulateQuantityBuffer) - Codeunit 20451 “Qlty. Disp. Move Worksheet” (2 calls:
PerformDisposition → ErrorIfFromBinIsReceiveBin,PerformDisposition → PopulateQuantityBuffer) - Codeunit 20424 “Qlty. Workflow Response” (1 call:
HandleOnExecuteWorkflowResponse → PopulateQuantityBuffer) - Codeunit 20443 “Qlty. Disp. Change Tracking” (1 call:
PerformDisposition → PopulateQuantityBuffer) - Codeunit 20449 “Qlty. Disp. Move Whse.Reclass.” (1 call:
PerformDisposition → PopulateQuantityBuffer) - Codeunit 20450 “Qlty. Disp. Internal Move” (1 call:
PerformDisposition → PopulateQuantityBuffer) - Codeunit 20452 “Qlty. Disp. Move Item Reclass.” (1 call:
PerformDisposition → PopulateQuantityBuffer)
Recent changes
- 2026-08-20 #10270 [Quality Management] Repair and improve XML documentation of procedures (main, BC30, refactor)
- 2026-07-15 #9168 [QM] Fix internal put-away from Quality Inspection sourcing wrong bin (main, BC30, fix)
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: "Qlty. Inventory Availability"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.