---
id: object/table/7347
type: object
title: Table 7347 "Internal Movement Line"
summary: Table 7347 "Internal Movement Line" in Base Application (Microsoft.Warehouse.InternalDocument). 18 fields, 5 public procedures, 9 events. Present since at least BC23, still in BC30, changed in BC24-26, BC28.
tier: official
language: en
tags:
  - table
  - 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: c5313ffc2032c45c41b1cc213b2ed91831f592f9dfb85900e2e2fd416163a1b1
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Warehouse/InternalDocument/InternalMovementLine.Table.al
    title: src/Layers/W1/BaseApp/Warehouse/InternalDocument/InternalMovementLine.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: table
object_id: 7347
name: Internal Movement Line
namespace: Microsoft.Warehouse.InternalDocument
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: 18
  procedures: 25
  events: 9
  subscribers: 0
relations:
  out: 6
  referenced_by: 0
  pages: 1
  extended_by: 0
  event_subscribers: 0
  calls: 1
  called_by: 0
  implements: 0
---

# Table 7347 "Internal Movement Line"

> Table 7347 "Internal Movement Line" in Base Application (Microsoft.Warehouse.InternalDocument). 18 fields, 5 public procedures, 9 events. Present since at least BC23, still in BC30, changed in BC24-26, BC28.

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

## Properties

| Property | Value |
|---|---|
| Caption | Internal Movement Line |
| DataClassification | CustomerContent |

## Fields

Explanation: the field's ToolTip in the code; without one, the ToolTip of a page control bound to the field (marked via the page); without that, its Caption (marked caption) when that differs from the name.

| No. | Name | Type | Explanation | Notes |
|---|---|---|---|---|
| 1 | No. | Code[20] | — | not editable |
| 2 | Line No. | Integer | — | not editable |
| 10 | Location Code | Code[10] | Specifies the code of the location where the internal movement is being performed. | TableRelation [Table 14 "Location"](../table/14.md); not editable |
| 11 | Shelf No. | Code[10] | Specifies the shelf number that is recorded on the item card or on the stockkeeping unit card of the item that is being moved. |  |
| 12 | From Bin Code | Code[20] | Specifies the code of the bin that the items on the internal movement are picked from. | TableRelation [Table 7354 "Bin"](../table/7354.md) (Bin.Code where("Location Code" = field("Location Code"))) |
| 13 | To Bin Code | Code[20] | Specifies the bin where you want items on this internal movement to be placed when they are picked. | TableRelation [Table 7354 "Bin"](../table/7354.md) (Bin.Code where("Location Code" = field("Location Code"))) |
| 14 | Item No. | Code[20] | Specifies the number of the item that is available to move from the bin. |  |
| 15 | Quantity | Decimal | Specifies the quantity of items to be moved. The quantity must be lower than or equal to the bin content. |  |
| 16 | Qty. (Base) | Decimal | Specifies the quantity of units to be moved. <small>via [Page 7398 "Internal Movement Subform"](../page/7398.md)</small> | not editable |
| 29 | Unit of Measure Code | Code[10] | Specifies how each unit of the item or resource is measured, such as in pieces or hours. By default, the value in the Base Unit of Measure field on the item or resource card is inserted. | TableRelation [Table 5404 "Item Unit of Measure"](../table/5404.md) ("Item Unit of Measure".Code where("Item No." = field("Item No."))) |
| 30 | Qty. per Unit of Measure | Decimal | Specifies the same as the field with the same name in the Whse. Internal Put-away Line table. | not editable |
| 31 | Variant Code | Code[10] | Specifies the variant of the item on the line. | TableRelation [Table 5401 "Item Variant"](../table/5401.md) ("Item Variant".Code where("Item No." = field("Item No."))) |
| 32 | Description | Text[100] | Specifies the same as the field with the same name in the Whse. Internal Put-away Line table. |  |
| 33 | Description 2 | Text[50] | Specifies the second description of the item. |  |
| 35 | Sorting Sequence No. | Integer | — | not editable |
| 36 | Due Date | Date | Specifies the date when the warehouse activity must be completed. |  |
| 37 | Cubage | Decimal | — |  |
| 38 | Weight | Decimal | — |  |

## Keys

- Key1: No., Line No. (clustered)
- Key2: No., Item No.
- Key3: No., From Bin Code
- Key4: No., Shelf No.
- Key5: No., Sorting Sequence No.
- Key6: No., Due Date
- Key7: Item No., From Bin Code, Location Code, Unit of Measure Code, Variant Code

## Events published

- `OnCheckBinContentQtyOnAfterInitBinContent(var InternalMovementLine: Record "Internal Movement Line"; var BinContent: Record "Bin Content")` (integration)
- `OnBeforeCheckBin(InternalMovementLine: Record "Internal Movement Line"; LocationCode: Code[10]; BinCode: Code[20]; Inbound: Boolean; var IsHandled: Boolean)` (integration)
- `OnBeforeCheckQtyItemTrackingLines(var Rec: Record "Internal Movement Line"; var Result: Boolean; var IsHandled: Boolean)` (integration)
- `OnBeforeSelectLookUp(var InternalMovementLine: Record "Internal Movement Line"; CurrentFieldNo: Integer; var IsHandled: Boolean)` (integration)
- `OnCheckBinContentQtyOnAfterInternalMovementLineSetFilters(var InternalMovementLine: Record "Internal Movement Line"; var FilteredInternalMovementLine: Record "Internal Movement Line")` (integration)
- `OnLookUpBinContentOnAfterBinContentSetFilters(var InternalMovementLine: Record "Internal Movement Line"; var BinContent: Record "Bin Content")` (integration)
- `OnSetItemTrackingLinesOnBeforeSetSource(var InternalMovementLine: Record "Internal Movement Line"; var WhseWorksheetLine: Record "Whse. Worksheet Line")` (integration)
- `OnValidateItemNoOnAfterSetItemFields(var InternalMovementLine: Record "Internal Movement Line"; Item: Record Item; ItemUnitOfMeasure: Record "Item Unit of Measure")` (integration)
- `OnValidateVariantCodeOnAfterSetItemVariantFields(var InternalMovementLine: Record "Internal Movement Line"; ItemVariant: Record "Item Variant")` (integration)

## Procedures

- `SetUpNewLine(LastInternalMovementLine: Record "Internal Movement Line")`
- `CheckBinContentQty()` (protected)
- `OpenItemTrackingLines()`
- `CheckBin(LocationCode: Code[10]; BinCode: Code[20]; Inbound: Boolean)`
- `SetItemTrackingLines(WhseEntry: Record "Warehouse Entry"; QtyToEmpty: Decimal)`

Plus 11 local procedures.

## Triggers

OnDelete, OnInsert, OnModify, OnRename

## Relations

- lookup page [Page 7361 "Whse. Internal Put-away Lines"](../page/7361.md)
- Location Code: TableRelation [Table 14 "Location"](../table/14.md)
- Variant Code: TableRelation [Table 5401 "Item Variant"](../table/5401.md)
- Unit of Measure Code: TableRelation [Table 5404 "Item Unit of Measure"](../table/5404.md)
- From Bin Code: TableRelation [Table 7354 "Bin"](../table/7354.md)
- To Bin Code: TableRelation [Table 7354 "Bin"](../table/7354.md)

## Pages and codeunits on this table

- [Page 7398 "Internal Movement Subform"](../page/7398.md) (source table)

## 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 6500 "Item Tracking Management"](../codeunit/6500.md) (3 calls: `CheckQtyItemTrackingLines → GetWhseItemTrkgSetup`, `CheckQtyItemTrackingLines → UpdateQuantities`, `OnDelete → DeleteWhseItemTrkgLines`)

## 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: "table", object_name: "Internal Movement Line")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
