---
id: object/codeunit/7302
type: object
title: Codeunit 7302 "WMS Management"
summary: Codeunit 7302 "WMS Management" in Base Application (Microsoft.Warehouse.Journal). 57 public procedures, 61 events. Present since at least BC23, still in BC30, changed in BC24-26, BC28.
tier: official
language: en
tags:
  - codeunit
  - base application
versions:
  introduced: null
  last_changed: "28"
  deprecated: null
review:
  state: derived
  by: null
  at: null
  flags: []
generated:
  at: "2026-10-11T00:31:51.816Z"
  pipeline: 0.2.0
  prompts: {}
  input_hash: 4ce1b0eec192db0e6f89981facb6d7e1f794a87c69a77dae19df2f8a5de09e4d
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Warehouse/Journal/WMSManagement.Codeunit.al
    title: src/Layers/W1/BaseApp/Warehouse/Journal/WMSManagement.Codeunit.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
  changes:
    - change/bcapps/9333
    - change/bcapps/8905
object_type: codeunit
object_id: 7302
name: WMS Management
namespace: Microsoft.Warehouse.Journal
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "24"
  - "25"
  - "26"
  - "28"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 0
  procedures: 148
  events: 61
  subscribers: 0
relations:
  out: 0
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 29
  calls: 11
  called_by: 104
  implements: 0
---

# Codeunit 7302 "WMS Management"

> Codeunit 7302 "WMS Management" in Base Application (Microsoft.Warehouse.Journal). 57 public procedures, 61 events. Present since at least BC23, still in BC30, changed in BC24-26, BC28.

Base Application · Microsoft.Warehouse.Journal · BC23-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Warehouse/Journal/WMSManagement.Codeunit.al) · facts from BC29

## Events published

- `OnAfterCheckBlockedBin(LocationCode: Code[10]; BinCode: Code[20]; ItemNo: Code[20]; VariantCode: Code[10]; UnitOfMeasureCode: Code[10]; CheckInbound: Boolean)` (integration)
- `OnAfterCheckWhseJnlLine(var WhseJnlLine: Record "Warehouse Journal Line"; SourceJnl: Option " ",ItemJnl,OutputJnl,ConsumpJnl,WhseJnl; DecreaseQtyBase: Decimal; ToTransfer: Boolean; var Item: Record Item)` (integration)
- `OnAfterCheckTrackingSpecificationChangeNeeded(TrackingSpecification: Record "Tracking Specification"; xTrackingSpecification: Record "Tracking Specification"; var CheckNeeded: Boolean)` (integration)
  - subscribers: [Codeunit 6516 "Package Management"](../codeunit/6516.md) WMSManagementOnAfterCheckTrackingSpecificationChangeNeeded
- `OnAfterCreateWhseJnlLine(var WhseJournalLine: Record "Warehouse Journal Line"; ItemJournalLine: Record "Item Journal Line"; ToTransfer: Boolean)` (integration)
- `OnAfterGetWhseJnlLineBinCode(SourceCode: Code[10]; BinCode: Code[20]; AdjBinCode: Code[20]; SourceCodeSetup: Record "Source Code Setup"; var Result: Code[20])` (integration)
  - subscribers: [Codeunit 5995 "Service Warehouse Mgt."](../codeunit/5995.md) OnAfterGetWhseJnlLineBinCode
- `OnAfterSetZoneAndBins(var WarehouseJournalLine: Record "Warehouse Journal Line"; ItemJournalLine: Record "Item Journal Line"; Location: Record Location; Bin: Record Bin)` (integration)
- `OnAfterTransferWhseItemTrkg(var WarehouseJournalLine: Record "Warehouse Journal Line"; ItemJournalLine: Record "Item Journal Line")` (integration)
- `OnBeforeBinContentLookUp(LocationCode: Code[10]; ItemNo: Code[20]; VariantCode: Code[10]; ZoneCode: Code[10]; WhseItemTrackingSetup: Record "Item Tracking Setup"; CurrBinCode: Code[20]; var BinCode: Code[20]; var IsHandled: Boolean)` (integration)
- `OnBeforeCheckBalanceQtyToHandle(var WhseActivityLine: Record "Warehouse Activity Line")` (integration)
- `OnBeforeCheckBlockedBin(LocationCode: Code[10]; BinCode: Code[20]; ItemNo: Code[20]; VariantCode: Code[10]; UnitOfMeasureCode: Code[10]; CheckInbound: Boolean; var IsHandled: Boolean)` (integration)
- `OnBeforeCheckDecreaseBinContent(var WhseJnlLine: Record "Warehouse Journal Line"; SourceJnl: Option " ",ItemJnl,OutputJnl,ConsumpJnl,WhseJnl; DecreaseQtyBase: Decimal; var IsHandled: Boolean)` (integration)
- `OnBeforeCheckItemJnlLineLocation(var ItemJournalLine: Record "Item Journal Line"; var xItemJournalLine: Record "Item Journal Line"; var IsHandled: Boolean)` (integration)
- `OnBeforeCheckItemJnlLineFieldChange(var ItemJournalLine: Record "Item Journal Line"; var xItemJournalLine: Record "Item Journal Line"; CurrentFieldCaption: Text[30]; var IsHandled: Boolean)` (integration)
- `OnBeforeCheckLotNo(ItemNo: Code[20]; VariantCode: Code[10]; LocationCode: Code[10]; BinCode: Code[20]; UOMCode: Code[10]; LotNo: Code[50]; QuantityBase: Decimal; var IsHandled: Boolean)` (integration)
- `OnBeforeCheckWhseDocumentFromZoneCode(WhseJnlLine: Record "Warehouse Journal Line"; var IsHandled: Boolean)` (integration)
- `OnBeforeCheckWhseDocumentToZoneCode(WhseJnlLine: Record "Warehouse Journal Line"; var IsHandled: Boolean)` (integration)
- `OnBeforeCheckToZoneCode(WhseJnlLine: Record "Warehouse Journal Line"; var IsHandled: Boolean)` (integration)
- `OnBeforeCheckItemTrackingChange(TrackingSpecification: Record "Tracking Specification"; xTrackingSpecification: Record "Tracking Specification"; var IsHandled: Boolean)` (integration)
- `OnBeforeCheckPutAwayAvailability(BinCode: Code[20]; CheckFieldCaption: Text[100]; CheckTableCaption: Text[100]; ValueToPutAway: Decimal; ValueAvailable: Decimal; Prohibit: Boolean; var IsHandled: Boolean)` (integration)
- `OnBeforeCheckUserIsWhseEmployee(Location: Record Location; var IsHandled: Boolean)` (integration)
- `OnBeforeCheckWhseJnlLine(var WhseJnlLine: Record "Warehouse Journal Line"; SourceJnl: Option " ",ItemJnl,OutputJnl,ConsumpJnl,WhseJnl; DecreaseQtyBase: Decimal; ToTransfer: Boolean; var IsHandled: Boolean)` (integration)
- `OnBeforeConfirmExceededCapacity(var IsHandled: Boolean; BinCode: Code[20]; CheckFieldCaption: Text[100]; CheckTableCaption: Text[100]; ValueToPutAway: Decimal; ValueAvailable: Decimal)` (integration)
- `OnBeforeCreateWhseJnlLine(var ItemJnlLine: Record "Item Journal Line"; ItemJnlTemplateType: Option; var WhseJnlLine: Record "Warehouse Journal Line"; ToTransfer: Boolean; var IsHandled: Boolean)` (integration)
- `OnBeforeFindBinContent(LocationCode: Code[10]; BinCode: Code[20]; ItemNo: Code[20]; VariantCode: Code[10]; ZoneCode: Code[10]; var IsHandled: Boolean)` (integration)
- `OnBeforeGetAllowedLocation(var LocationCode: Code[10]; var IsHandled: Boolean)` (integration)
- `OnBeforeGetDefaultBin(ItemNo: Code[20]; VariantCode: Code[10]; LocationCode: Code[10]; var BinCode: Code[20]; var Result: Boolean; var IsHandled: Boolean)` (integration)
- `OnBeforeGetDefaultDirectedPutawayAndPickLocation(var LocationCode: Code[10]; var IsHandled: Boolean)` (integration)
- `OnBeforeGetDefaultLocation(var LocationCode: Code[10]; var IsHandled: Boolean)` (integration)
- `OnBeforeGetWrongPickPutAwayQtyErrorText(var WhseActivLine: Record "Warehouse Activity Line"; QtyToPick: Decimal; QtyToPutAway: Decimal; var ErrorTxt: Text[250]; var IsHandled: Boolean; var WarehouseActivityLine: Record "Warehouse Activity Line")` (integration)
- `OnBeforeLocationIsAllowed(LocationCode: Code[10]; var LocationAllowed: Boolean)` (integration)
- `OnBeforeShowPostedSourceDocument(PostedSourceDoc: Enum "Warehouse Shipment Posted Source Document"; PostedSourceNo: Code[20]; WarehouseActivitySourceDocument: Enum "Warehouse Activity Source Document"; var IsHandled: Boolean)` (integration)
- `OnBeforeShowSourceDocCard(SourceType: Integer; SourceSubType: Option; SourceNo: Code[20]; var IsHandled: Boolean)` (integration)
- `OnBeforeSetZoneAndBins(ItemJnlLine: Record "Item Journal Line"; var WhseJnlLine: Record "Warehouse Journal Line"; ToTransfer: Boolean; var IsHandled: Boolean)` (integration)
- `OnBinLookUpOnAfterSetFilters(var Bin: Record Bin)` (integration)
- `OnCheckBalanceQtyToHandleOnAfterSetFilters(var ToWarehouseActivityLine: Record "Warehouse Activity Line"; FromWarehouseActivityLine: Record "Warehouse Activity Line")` (integration)
- `OnCheckWhseJnlLineOnAfterCheckTracking(var WarehouseJournalLine: Record "Warehouse Journal Line"; ItemTrackingCode: Record "Item Tracking Code"; Location: Record Location)` (integration)
  - subscribers: [Codeunit 6516 "Package Management"](../codeunit/6516.md) WMSManagementOnCheckWhseJnlLineOnAfterCheckTracking
- `OnCheckWhseJnlLineOnAfterGetLocation(var WarehouseJournalLine: Record "Warehouse Journal Line"; var Location: Record Location; var Item: Record Item)` (integration)
- `OnCreateWhseJnlLineOnAfterGetLocation(var ItemJnlLine: Record "Item Journal Line"; var WhseJnlLine: Record "Warehouse Journal Line"; var Location: Record Location)` (integration)
- `OnBeforeCheckWhseJnlLineTracking(var WhseJnlLine: Record "Warehouse Journal Line"; var IsHandled: Boolean)` (integration)
- `OnGetItemOnAfterGetItem(var Item: Record "Item")` (integration)
- `OnInitWhseJnlLineCopyFromItemJnlLine(var WarehouseJournalLine: Record "Warehouse Journal Line"; ItemJournalLine: Record "Item Journal Line")` (integration)
- `OnShowPostedSourceDoc(PostedSourceDoc: Option; PostedSourceNo: Code[20]; WarehouseActivitySourceDocument: Enum "Warehouse Activity Source Document")` (integration)
  - subscribers: [Codeunit 5991 "Sales Warehouse Mgt."](../codeunit/5991.md) OnShowPostedSourceDoc, [Codeunit 5992 "Purchases Warehouse Mgt."](../codeunit/5992.md) OnShowPostedSourceDoc, [Codeunit 5993 "Transfer Warehouse Mgt."](../codeunit/5993.md) OnShowPostedSourceDoc, [Codeunit 5995 "Service Warehouse Mgt."](../codeunit/5995.md) OnShowPostedSourceDoc
- `OnShowSourceDocCard(SourceType: Integer; SourceSubType: Option; SourceNo: Code[20])` (integration)
  - subscribers: [Codeunit 5991 "Sales Warehouse Mgt."](../codeunit/5991.md) OnShowSourceDocCard, [Codeunit 5992 "Purchases Warehouse Mgt."](../codeunit/5992.md) OnShowSourceDocCard, [Codeunit 5993 "Transfer Warehouse Mgt."](../codeunit/5993.md) OnShowSourceDocCard, [Codeunit 5996 "Prod. Order Warehouse Mgt."](../codeunit/5996.md) OnShowSourceDocCard, [Codeunit 5997 "Assembly Warehouse Mgt."](../codeunit/5997.md) OnShowSourceDocCard, [Codeunit 5998 "Job Warehouse Mgt."](../codeunit/5998.md) OnShowSourceDocCard
- `OnShowSourceDocLine(SourceType: Integer; SourceSubType: Option; SourceNo: Code[20]; SourceLineNo: Integer; SourceSubLineNo: Integer)` (integration)
  - subscribers: [Codeunit 5991 "Sales Warehouse Mgt."](../codeunit/5991.md) OnShowSourceDocLine, [Codeunit 5992 "Purchases Warehouse Mgt."](../codeunit/5992.md) OnShowSourceDocLine, [Codeunit 5993 "Transfer Warehouse Mgt."](../codeunit/5993.md) OnShowSourceDocLine, [Codeunit 5995 "Service Warehouse Mgt."](../codeunit/5995.md) OnShowSourceDocLine, [Codeunit 5996 "Prod. Order Warehouse Mgt."](../codeunit/5996.md) OnShowSourceDocLine, [Codeunit 5997 "Assembly Warehouse Mgt."](../codeunit/5997.md) OnShowSourceDocLine, [Codeunit 5998 "Job Warehouse Mgt."](../codeunit/5998.md) OnShowSourceDocLine
- `OnShowSourceDocAttachedLines(SourceType: Integer; SourceSubType: Option; SourceNo: Code[20]; SourceLineNo: Integer)` (integration)
  - subscribers: [Codeunit 5991 "Sales Warehouse Mgt."](../codeunit/5991.md) OnShowSourceDocAttachedLines, [Codeunit 5992 "Purchases Warehouse Mgt."](../codeunit/5992.md) OnShowSourceDocAttachedLines, [Codeunit 5995 "Service Warehouse Mgt."](../codeunit/5995.md) OnShowSourceDocAttachedLines
- `OnCheckWhseJnlLineOnBeforeCheckBySourceJnl(var WhseJnlLine: Record "Warehouse Journal Line"; var Bin: Record Bin; SourceJnl: Option; var BinContent: Record "Bin Content"; Location: Record Location; DecreaseQtyBase: Decimal; var IsHandled: Boolean)` (integration)
- `OnBeforeTransferWhseItemTracking(var WarehouseJournalLine: Record "Warehouse Journal Line"; var ItemJournalLine: Record "Item Journal Line"; var ItemTrackingSetup: Record "Item Tracking Setup"; var IsHandled: Boolean)` (integration)
- `OnSetZoneAndBinsOnAfterCalcIsDirectedPutAwayAndPick(ItemJnlLine: Record "Item Journal Line"; Location: Record Location; var IsDirectedPutAwayAndPick: Boolean; IsQtyIncrease: Boolean)` (integration)
- `OnInitWhseJnlLineOnAfterGetQuantity(ItemJnlLine: Record "Item Journal Line"; var WhseJnlLine: Record "Warehouse Journal Line"; Location: Record Location)` (integration)
- `OnShowWhseActivityDocLine(WhseActivityDocType: Enum "Warehouse Activity Document Type"; WhseDocNo: Code[20]; WhseDocLineNo: Integer)` (integration)
  - subscribers: [Codeunit 5996 "Prod. Order Warehouse Mgt."](../codeunit/5996.md) OnAfterShowWhseActivityDocLine, [Codeunit 5997 "Assembly Warehouse Mgt."](../codeunit/5997.md) OnAfterShowWhseActivityDocLine, [Codeunit 5998 "Job Warehouse Mgt."](../codeunit/5998.md) OnAfterShowWhseActivityDocLine
- `OnCheckIfBinIsEligible(ItemJournalLine: Record "Item Journal Line"; var BinIsEligible: Boolean)` (integration)
  - subscribers: [Codeunit 5996 "Prod. Order Warehouse Mgt."](../codeunit/5996.md) OnCheckIfBinIsEligible
- `OnBeforeCalcCubageAndWeight(ItemNo: Code[20]; UOMCode: Code[10]; Qty: Decimal; var Cubage: Decimal; var Weight: Decimal; var IsHandled: Boolean)` (integration)
- `OnGetDestinationEntityName(DestinationType: Enum "Warehouse Destination Type"; DestNo: Code[20]; var DestinationName: Text[100])` (integration)
  - subscribers: [Codeunit 5996 "Prod. Order Warehouse Mgt."](../codeunit/5996.md) OnGetDestinationEntityName
- `OnBeforeGetDestinationEntityName(DestinationType: Enum "Warehouse Destination Type"; DestinationNo: Code[20]; var DestinationName: Text[100]; var IsHandled: Boolean)` (integration)
- `OnSerialNoOnInventoryOnBeforeCalcQtyBase(var WarehouseEntry: Record "Warehouse Entry")` (integration)
- `OnGetCaptionClass(DestinationType: Enum "Warehouse Destination Type"; Selection: Integer; var CaptionClass: Text[50])` (integration)
  - subscribers: [Codeunit 5996 "Prod. Order Warehouse Mgt."](../codeunit/5996.md) OnGetCaptionClass
- `OnCheckItemJnlLineFieldChangeOnBeforeShowError(var ItemJournalLine: Record "Item Journal Line"; xItemJournalLine: Record "Item Journal Line"; var IsHandled: Boolean)` (integration)
- `OnCheckItemJnlLineFieldChangeOnAfterCheckBinCodeChange(var ItemJournalLine: Record "Item Journal Line"; var xItemJournalLine: Record "Item Journal Line"; CurrFieldCaption: Text[30]; var ShowError: Boolean; var BinIsEligible: Boolean)` (integration)
- `OnCheckItemJnlLineFieldChangeOnAfterAssignShowError(var ItemJournalLine: Record "Item Journal Line"; var xItemJournalLine: Record "Item Journal Line"; CurrFieldCaption: Text[30]; var ShowError: Boolean)` (integration)
- `OnAfterCheckItemJournalLineBinCodeForDirectedPutAwayAndPickLocation(ItemJournalLine: Record "Item Journal Line"; var CheckResult: Boolean)` (integration)
- `OnBeforeCheckSerialNo(ItemNo: Code[20]; VariantCode: Code[10]; LocationCode: Code[10]; BinCode: Code[20]; UOMCode: Code[10]; SerialNo: Code[50]; QuantityBase: Decimal; var IsHandled: Boolean)` (integration)

## Procedures

- `CreateWhseJnlLine(ItemJnlLine: Record "Item Journal Line"; ItemJnlTemplateType: Option; var WhseJnlLine: Record "Warehouse Journal Line"; ToTransfer: Boolean): Boolean`
- `CheckWhseJnlLine(var WarehouseJournalLine: Record "Warehouse Journal Line"; SourceJnl: Option " ",ItemJnl,OutputJnl,ConsumpJnl,WhseJnl; DecreaseQtyBase: Decimal; ToTransfer: Boolean)`
- `CheckItemJnlLineFieldChange(ItemJnlLine: Record "Item Journal Line"; xItemJnlLine: Record "Item Journal Line"; CurrFieldCaption: Text[30])`
- `CheckWarehouse(LocationCode: Code[10]; BinCode: Code[20]; ItemNo: Code[20]; VariantCode: Code[10]; ItemUnitOfMeasureCode: Code[10]; Quantity: Decimal)` (internal)
- `CheckItemJnlLineLocation(var ItemJournalLine: Record "Item Journal Line"; xItemJournalLine: Record "Item Journal Line")`
- `CheckItemTrackingChange(TrackingSpecification: Record "Tracking Specification"; xTrackingSpecification: Record "Tracking Specification")`
- `CheckAdjmtBin(Location2: Record Location; Quantity: Decimal; PosEntryType: Boolean)`
- `CheckInbOutbBin(LocationCode: Code[10]; BinCode: Code[20]; CheckInbound: Boolean)`
- `CheckUserIsWhseEmployee()`
- `CheckUserIsWhseEmployeeForLocation(LocationCode: Code[10]; DoCommit: Boolean)`
- `CalcCubageAndWeight(ItemNo: Code[20]; UOMCode: Code[10]; Qty: Decimal; var Cubage: Decimal; var Weight: Decimal)`
- `GetDefaultLocation(): Code[10]`
- `GetWMSLocation(var CurrentLocationCode: Code[10])`
- `GetDefaultDirectedPutawayAndPickLocation(): Code[10]`
- `GetDefaultBin(ItemNo: Code[20]; VariantCode: Code[10]; LocationCode: Code[10]; var BinCode: Code[20]): Boolean`
- `CheckDefaultBin(ItemNo: Code[20]; VariantCode: Code[10]; LocationCode: Code[10]; BinCode: Code[20]): Boolean`
- `CheckBalanceQtyToHandle(var WarehouseActivityLine2: Record "Warehouse Activity Line")`
- `CheckPutAwayAvailability(BinCode: Code[20]; CheckFieldCaption: Text[100]; CheckTableCaption: Text[100]; ValueToPutAway: Decimal; ValueAvailable: Decimal; Prohibit: Boolean)`
- `InitWhseJnlLine(ItemJournalLine: Record "Item Journal Line"; var WarehouseJournalLine: Record "Warehouse Journal Line"; QuantityBase: Decimal)` (internal)
- `InitErrorLog()`
- `GetWarehouseEmployeeLocationFilter(UserName: code[50]): Text`
- `GetAllowedLocation(LocationCode: Code[10]): Code[10]`
- `LocationIsAllowed(LocationCode: Code[10]): Boolean`
- `LocationIsAllowedToView(LocationCode: Code[10]): Boolean`
- `GetBaseUOM(ItemNo: Code[20]): Code[10]`
- `ShowWhseRcptLine(WhseDocNo: Code[20]; WhseDocLineNo: Integer)`
- `ShowPostedWhseRcptLine(WhseDocNo: Code[20]; WhseDocLineNo: Integer)`
- `ShowWhseShptLine(WhseDocNo: Code[20]; WhseDocLineNo: Integer)`
- `ShowPostedWhseShptLine(WhseDocNo: Code[20]; WhseDocLineNo: Integer)`
- `ShowWhseInternalPutawayLine(WhseDocNo: Code[20]; WhseDocLineNo: Integer)`
- `ShowWhseInternalPickLine(WhseDocNo: Code[20]; WhseDocLineNo: Integer)`
- `ShowWhseActivityDocLine(WhseActivityDocType: Enum "Warehouse Activity Document Type"; WhseDocNo: Code[20]; WhseDocLineNo: Integer)`
- `ShowSourceDocLine(SourceType: Integer; SourceSubType: Option; SourceNo: Code[20]; SourceLineNo: Integer; SourceSubLineNo: Integer)`
- `ShowSourceDocAttachedLines(SourceType: Integer; SourceSubType: Option; SourceNo: Code[20]; SourceLineNo: Integer)`
- `ShowPostedSourceDocument(PostedSourceDoc: Enum "Warehouse Shipment Posted Source Document"; PostedSourceNo: Code[20])`
- `ShowPostedSourceDocument(PostedSourceDoc: Enum "Warehouse Shipment Posted Source Document"; PostedSourceNo: Code[20]; WarehouseActivitySourceDocument: Enum "Warehouse Activity Source Document")`
- `ShowSourceDocCard(SourceType: Integer; SourceSubType: Option; SourceNo: Code[20])`
- `TransferWhseItemTracking(var WarehouseJournalLine: Record "Warehouse Journal Line"; ItemJournalLine: Record "Item Journal Line")`
- `SetTransferLine(TransferLine: Record "Transfer Line"; var WarehouseJournalLine: Record "Warehouse Journal Line"; PostingType: Option Shipment,Receipt; PostedDocNo: Code[20])`
- `SerialNoOnInventory(LocationCode: Code[10]; ItemNo: Code[20]; VariantCode: Code[10]; SerialNo: Code[50]): Boolean`
- `BinLookUp(LocationCode: Code[10]; ItemNo: Code[20]; VariantCode: Code[10]; ZoneCode: Code[10]): Code[20]`
- `BinContentLookUp(LocationCode: Code[10]; ItemNo: Code[20]; VariantCode: Code[10]; ZoneCode: Code[10]; CurrBinCode: Code[20]): Code[20]`
- `BinContentLookUp(LocationCode: Code[10]; ItemNo: Code[20]; VariantCode: Code[10]; ZoneCode: Code[10]; WhseItemTrackingSetup: Record "Item Tracking Setup"; CurrBinCode: Code[20]): Code[20]`
- `FindBin(LocationCode: Code[10]; BinCode: Code[20]; ZoneCode: Code[10])`
- `FindBinContent(LocationCode: Code[10]; BinCode: Code[20]; ItemNo: Code[20]; VariantCode: Code[10]; ZoneCode: Code[10])`
- `CalcLineReservedQtyNotonInvt(SourceType: Integer; SourceSubType: Option; SourceNo: Code[20]; SourceLineNo: Integer; SourceSubLineNo: Integer): Decimal`
- `GetCaption(DestType: Option " ",Customer,Vendor,Location,Item,Family,"Sales Order"; SourceDoc: Option " ","Sales Order",,,"Sales Return Order","Purchase Order",,,"Purchase Return Order","Inbound Transfer","Outbound Transfer","Prod. Consumption","Prod. Output"; Selection: Integer): Text[50]`
- `GetCaptionClass(DestType: Enum "Warehouse Destination Type"; SourceDoc: Enum "Warehouse Activity Source Document"; Selection: Integer): Text[50]`
- `GetDestinationEntityName(DestinationType: Enum "Warehouse Destination Type"; DestNo: Code[20]): Text[100]`
- `GetATOSalesLine(SourceType: Integer; SourceSubtype: Option; SourceID: Code[20]; SourceRefNo: Integer; var SalesLine: Record "Sales Line"): Boolean`
- `GetATOJobPlanningLine(SourceType: Integer; SourceID: Code[20]; SourceRefNo: Integer; SourceLineNo: Integer; var JobPlanningLine: Record "Job Planning Line"): Boolean`
- `ATOInvtPickExists(SalesLine: Record "Sales Line"): Boolean`
- `CalcQtyBaseOnATOInvtPick(SalesLine: Record "Sales Line"; WhseItemTrackingSetup: Record "Item Tracking Setup"): Decimal`
- `CalcQtyBaseOnATOInvtPick(JobPlanningLine: Record "Job Planning Line"; WhseItemTrackingSetup: Record "Item Tracking Setup"): Decimal`
- `CheckOutboundBlockedBin(LocationCode: Code[10]; BinCode: Code[20]; ItemNo: Code[20]; VariantCode: Code[10]; UnitOfMeasureCode: Code[10])`
- `CheckInboundBlockedBin(LocationCode: Code[10]; BinCode: Code[20]; ItemNo: Code[20]; VariantCode: Code[10]; UnitOfMeasureCode: Code[10])`
- `ATOWhseShptExists(SalesLine: Record "Sales Line"): Boolean`

Plus 30 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 7327 "WhseEmplLocationBuffer"](../codeunit/7327.md) (4 calls: `GetWarehouseEmployeeLocationFilter → GetWarehouseEmployeeLocationFilter`, `GetWarehouseEmployeeLocationFilter → NeedToCheckLocationSubscribers`, `GetWarehouseEmployeeLocationFilter → SetHasLocationSubscribers`, …)
- [Codeunit 5775 "Whse. Management"](../codeunit/5775.md) (2 calls: `CreateWhseJnlLine → GetWhseJnlSourceDocument`, `SetTransferLine → GetWhseJnlSourceDocument`)
- [Codeunit 6500 "Item Tracking Management"](../codeunit/6500.md) (2 calls: `CheckDecreaseBinContent → GetWhseItemTrkgSetup`, `TransferWhseItemTracking → GetWhseItemTrkgSetup`)
- [Codeunit 27 "Confirm Management"](../codeunit/27.md) (1 call: `ConfirmOpenWarehouseEmployees → GetResponseOrDefault`)
- [Codeunit 5402 "Unit of Measure Management"](../codeunit/5402.md) (1 call: `InitWhseJnlLine → QtyRndPrecision`)
- [Page 7341 "Whse. Shipment Lines"](../page/7341.md) (1 call: `ShowWhseShptLine → (object)`)
- [Page 7342 "Whse. Receipt Lines"](../page/7342.md) (1 call: `ShowWhseRcptLine → (object)`)
- [Page 7360 "Whse. Internal Pick Lines"](../page/7360.md) (1 call: `ShowWhseInternalPickLine → (object)`)
- [Page 7361 "Whse. Internal Put-away Lines"](../page/7361.md) (1 call: `ShowWhseInternalPutawayLine → (object)`)
- [Page 7362 "Posted Whse. Shipment Lines"](../page/7362.md) (1 call: `ShowPostedWhseShptLine → (object)`)
- [Page 7363 "Posted Whse. Receipt Lines"](../page/7363.md) (1 call: `ShowPostedWhseRcptLine → (object)`)

## Called by

- [Codeunit 7322 "Create Inventory Pick/Movement"](../codeunit/7322.md) (8 calls: `CalcRemQtyToPickOrMoveBase → CalcLineReservedQtyNotonInvt`, `CalcRemQtyToPickOrMoveBase → GetATOJobPlanningLine`, `CalcRemQtyToPickOrMoveBase → GetATOSalesLine`, …)
- [Table 5767 "Warehouse Activity Line"](../table/5767.md) (8 calls: `ChangeUOMCode → CalcCubageAndWeight`, `CreateNewUOMLine → CalcCubageAndWeight`, `FindBinCode → BinContentLookUp`, …)
- [Table 7302 "Bin Content"](../table/7302.md) (6 calls: `CheckBinMaxCubageAndWeight → CalcCubageAndWeight`, `CheckIncreaseBinContent → CheckPutAwayAvailability`, `GetWhseLocation → CheckUserIsWhseEmployee`, …)
- [Table 7311 "Warehouse Journal Line"](../table/7311.md) (6 calls: `ExchangeFromToBin → CheckAdjmtBin`, `FindExistingBatch → GetDefaultDirectedPutawayAndPickLocation`, `LookupBinCode → BinContentLookUp`, …)
- [Codeunit 5996 "Prod. Order Warehouse Mgt."](../codeunit/5996.md) (5 calls: `CreateWhseJnlLineFromConsumptionJournal → InitWhseJnlLine`, `CreateWhseJnlLineFromConsumptionJournal → TransferWhseItemTracking`, `CreateWhseJnlLineFromOutputJournal → InitWhseJnlLine`, …)
- [Codeunit 900 "Assembly-Post"](../codeunit/900.md) (4 calls: `CheckWhseJnlLine → CheckWhseJnlLine`, `CreateWhseJnlLine → CalcCubageAndWeight`, `CreateWhseJnlLine → CheckAdjmtBin`, …)
- [Table 37 "Sales Line"](../table/37.md) (4 calls: `CheckBinCodeRelation → FindBin`, `CheckBinCodeRelation → FindBinContent`, `CheckWarehouse → CheckWarehouse`, …)
- [Table 7326 "Whse. Worksheet Line"](../table/7326.md) (4 calls: `CheckBin → CalcCubageAndWeight`, `CheckTemplateName → GetDefaultLocation`, `LookupFromBinCode → BinContentLookUp`, …)
- [Codeunit 23 "Item Jnl.-Post Batch"](../codeunit/23.md) (3 calls: `CheckWMSBin → CheckAdjmtBin`, `PostWhseJnlLines → CheckWhseJnlLine`, `PostWhseJnlLines → CreateWhseJnlLine`)
- [Codeunit 5704 "TransferOrder-Post Shipment"](../codeunit/5704.md) (3 calls: `PostWhseJnlLine → CheckWhseJnlLine`, `PostWhseJnlLine → CreateWhseJnlLine`, `PostWhseJnlLine → SetTransferLine`)
- [Codeunit 5705 "TransferOrder-Post Receipt"](../codeunit/5705.md) (3 calls: `PostWhseJnlLine → CheckWhseJnlLine`, `PostWhseJnlLine → CreateWhseJnlLine`, `PostWhseJnlLine → SetTransferLine`)
- [Codeunit 5856 "TransferOrder-Post Transfer"](../codeunit/5856.md) (3 calls: `PostWhseJnlLine → CheckWhseJnlLine`, `PostWhseJnlLine → CreateWhseJnlLine`, `PostWhseJnlLine → SetTransferLine`)
- [Codeunit 7301 "Whse. Jnl.-Register Line"](../codeunit/7301.md) (3 calls: `CheckDefaultBin → CheckDefaultBin`, `InitWhseEntry → GetBaseUOM`, `InsertWhseEntry → SerialNoOnInventory`)
- [Codeunit 7304 "Whse. Jnl.-Register Batch"](../codeunit/7304.md) (3 calls: `CheckLines → CheckWhseJnlLine`, `Code → CalcCubageAndWeight`, `UpdateTempBinContentBuffer → CalcCubageAndWeight`)
- [Codeunit 7307 "Whse.-Activity-Register"](../codeunit/7307.md) (3 calls: `RegisterWhseJnlLine → CalcCubageAndWeight`, `RegisterWhseJnlLine → GetBaseUOM`, `UpdateTempBinContentBuffer → GetBaseUOM`)
- [Codeunit 7324 "Whse.-Activity-Post"](../codeunit/7324.md) (3 calls: `CheckQuantityInBinContentForTracking → CheckWhseJnlLine`, `CreateWhseJnlLine → GetBaseUOM`, `PostWhseJnlLine → CheckWhseJnlLine`)
- [Codeunit 80 "Sales-Post"](../codeunit/80.md) (3 calls: `CreateWhseJnlLine → CheckAdjmtBin`, `CreateWhseJnlLine → CreateWhseJnlLine`, `PostItemJnlLineWhseLine → CheckWhseJnlLine`)
- [Table 210 "Job Journal Line"](../table/210.md) (3 calls: `BinContentLookUp → BinContentLookUp`, `FindBin → GetDefaultBin`, `FindBinContent → FindBinContent`)
- [Table 5766 "Warehouse Activity Header"](../table/5766.md) (3 calls: `ErrorIfUserIsNotWhseEmployee → CheckUserIsWhseEmployee`, `FindFirstAllowedRec → LocationIsAllowedToView`, `FindNextAllowedRec → LocationIsAllowedToView`)
- [Table 7316 "Warehouse Receipt Header"](../table/7316.md) (3 calls: `ErrorIfUserIsNotWhseEmployee → CheckUserIsWhseEmployee`, `FindFirstAllowedRec → LocationIsAllowedToView`, `FindNextAllowedRec → LocationIsAllowedToView`)
- [Table 7318 "Posted Whse. Receipt Header"](../table/7318.md) (3 calls: `ErrorIfUserIsNotWhseEmployee → CheckUserIsWhseEmployee`, `FindFirstAllowedRec → LocationIsAllowedToView`, `FindNextAllowedRec → LocationIsAllowedToView`)
- [Table 7320 "Warehouse Shipment Header"](../table/7320.md) (3 calls: `ErrorIfUserIsNotWhseEmployee → CheckUserIsWhseEmployee`, `FindFirstAllowedRec → LocationIsAllowedToView`, `FindNextAllowedRec → LocationIsAllowedToView`)
- [Table 7322 "Posted Whse. Shipment Header"](../table/7322.md) (3 calls: `ErrorIfUserIsNotWhseEmployee → CheckUserIsWhseEmployee`, `FindFirstAllowedRec → LocationIsAllowedToView`, `FindNextAllowedRec → LocationIsAllowedToView`)
- [Table 7338 "Bin Creation Worksheet Line"](../table/7338.md) (3 calls: `CheckMaxQtyBinContent → CalcCubageAndWeight`, `CheckTemplateName → GetWMSLocation`, `OpenWksh → CheckUserIsWhseEmployee`)
- [Table 900 "Assembly Header"](../table/900.md) (3 calls: `GetDefaultBin → GetDefaultBin`, `ValidateBinCode → FindBin`, `ValidateBinCode → FindBinContent`)
- [Codeunit 1012 "Job Jnl.-Post Line"](../codeunit/1012.md) (2 calls: `PostWhseJnlLine → CheckWhseJnlLine`, `PostWhseJnlLine → CreateWhseJnlLine`)
- [Codeunit 5760 "Whse.-Post Receipt"](../codeunit/5760.md) (2 calls: `CheckWhseJnlLine → CheckWhseJnlLine`, `InsertTempWhseJnlLine → GetBaseUOM`)
- [Codeunit 5850 "Invt. Doc.-Post Receipt"](../codeunit/5850.md) (2 calls: `PostWhseJnlLine → CheckWhseJnlLine`, `PostWhseJnlLine → CreateWhseJnlLine`)
- [Codeunit 5851 "Invt. Doc.-Post Shipment"](../codeunit/5851.md) (2 calls: `PostWhseJnlLine → CheckWhseJnlLine`, `PostWhseJnlLine → CreateWhseJnlLine`)
- [Codeunit 5884 "Phys. Invt. Order-Post"](../codeunit/5884.md) (2 calls: `PostWhseJnlLine → CheckWhseJnlLine`, `PostWhseJnlLine → CreateWhseJnlLine`)
- [Codeunit 5987 "Serv-Posting Journals Mgt."](../codeunit/5987.md) (2 calls: `CreateWhseJnlLine → CheckAdjmtBin`, `CreateWhseJnlLine → CreateWhseJnlLine`)
- [Codeunit 90 "Purch.-Post"](../codeunit/90.md) (2 calls: `CreateWhseJnlLine → CheckAdjmtBin`, `CreateWhseJnlLine → CreateWhseJnlLine`)
- [Codeunit 99000822 "Mfg. Item Jnl.-Post Line"](../codeunit/99000822.md) (2 calls: `InsertConsumpEntry → CheckWhseJnlLine`, `PostOutput → CheckWhseJnlLine`)
- [Page 5769 "Whse. Receipt Subform"](../page/5769.md) (2 calls: `ShowSourceAttachedLines → ShowSourceDocAttachedLines`, `ShowSourceLine → ShowSourceDocLine`)
- [Page 5785 "Warehouse Activity Lines"](../page/5785.md) (2 calls: `OnOpenPage → CheckUserIsWhseEmployee`, `OnOpenPage → GetWarehouseEmployeeLocationFilter`)
- [Page 5799 "Registered Pick Subform"](../page/5799.md) (2 calls: `ShowPostedWhseShptLine → ShowPostedWhseShptLine`, `ShowSourceLine → ShowSourceDocLine`)
- [Page 7329 "Whse. Journal Batches List"](../page/7329.md) (2 calls: `OnFindRecord → LocationIsAllowed`, `OnNextRecord → LocationIsAllowed`)
- [Page 7331 "Posted Whse. Receipt Subform"](../page/7331.md) (2 calls: `ShowPostedSourceDoc → ShowPostedSourceDocument`, `ShowWhseLine → ShowPostedWhseRcptLine`)
- [Page 7336 "Whse. Shipment Subform"](../page/7336.md) (2 calls: `ShowSourceAttachedLines → ShowSourceDocAttachedLines`, `ShowSourceLine → ShowSourceDocLine`)
- [Page 7338 "Posted Whse. Shipment Subform"](../page/7338.md) (2 calls: `ShowPostedSourceDoc → ShowPostedSourceDocument`, `ShowWhseLine → ShowPostedWhseShptLine`)
- [Page 7373 "Bin Creation Wksh. Name List"](../page/7373.md) (2 calls: `OnFindRecord → LocationIsAllowed`, `OnNextRecord → LocationIsAllowed`)
- [Page 7376 "Invt. Put-away Subform"](../page/7376.md) (2 calls: `ShowSourceAttachedLines → ShowSourceDocAttachedLines`, `ShowSourceLine → ShowSourceDocLine`)
- [Page 7378 "Invt. Pick Subform"](../page/7378.md) (2 calls: `ShowSourceAttachedLines → ShowSourceDocAttachedLines`, `ShowSourceLine → ShowSourceDocLine`)
- [Table 246 "Requisition Line"](../table/246.md) (2 calls: `GetDefaultBinCode → GetDefaultBin`, `SetFromBinCode → GetDefaultBin`)
- [Table 39 "Purchase Line"](../table/39.md) (2 calls: `CheckWarehouse → CheckWarehouse`, `GetDefaultBin → GetDefaultBin`)
- [Table 7354 "Bin"](../table/7354.md) (2 calls: `CheckIncreaseBin → CheckPutAwayAvailability`, `CheckMaxQtyBinContent → CalcCubageAndWeight`)
- [Table 904 "Assemble-to-Order Link"](../table/904.md) (2 calls: `CheckQtyToAsm → ATOInvtPickExists`, `CheckQtyToAsm → ATOWhseShptExists`)
- [Codeunit 21 "Item Jnl.-Check Line"](../codeunit/21.md) (1 call: `CheckBins → CheckInbOutbBin`)
- [Codeunit 5751 "Get Source Doc. Inbound"](../codeunit/5751.md) (1 call: `OpenWarehouseReceiptPage → CheckUserIsWhseEmployeeForLocation`)
- [Codeunit 5752 "Get Source Doc. Outbound"](../codeunit/5752.md) (1 call: `OpenWarehouseShipmentPage → CheckUserIsWhseEmployeeForLocation`)
- and 54 more: data/code/graph/29/calls.json

## Recent changes

- 2026-07-22 [#9333 [Main]-Bin content Block Movement does not prevent outbound posting for negative adjustments and sales orders](../../changes/bcapps/9333.md) (main, BC30, fix)
- 2026-07-17 [#8905 [Master] Different source reference on reservation entries created directly from Job Planning Line and via a warehouse pick.](../../changes/bcapps/8905.md) (main, BC30, fix)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC24-26, BC28

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: "WMS Management")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
