Codeunit 3675 "BOM Tree Node Dictionary"
Base Application · Microsoft.Inventory.BOM.Tree
Across versions
- BC23-27present
- BC281 procedures added
- BC29-30unchanged
Neighbourhood 3 connected objects and pages
Base Application · Microsoft.Inventory.BOM.Tree · BC23-30 · source at ea08af5e · facts from BC29
Procedures
Add(Instance: Codeunit "BOM Tree Node")(internal): Adds an instance to the dictionary. The key is fetched from the GetKey() procedure of the Instance implementation. The instance to add. In case there is another instance with a key same as the one being added, an error shall be raised.TryAdd(Instance: Codeunit "BOM Tree Node")(internal): Adds an instance to the dictionary by calling the Add() procedure in a TryFunction. The instance to add.Get(InstanceKey: Text; var Found: Codeunit "BOM Tree Node")(internal): Fetches the instance based on the given key. The key given. The instance that was fetched.TryGet(UniqueKey: Text; var Found: Codeunit "BOM Tree Node")(internal): Fetches the instance based on the given key by calling the Get() procedure in a TryFunction. The key given. The instance that was fetched.ContainsKey(InstanceKey: Text): Boolean+ BC28 (internal): Checks whether an instance with the given key exists in the dictionary without raising an error. The key given.Remove(InstanceKey: Text): Removes the instance from the dictionary that correponds to the given key. The given key.ResetEnumerator(): Resets the internal variables that allow iterating through the items in the dictionary. It is a good practice to call this before starting an iteration.MoveNext(): Boolean: Advances the enumerator to the next element of the dictionary.GetCurrent(var Instance: Codeunit "BOM Tree Node")(internal): Gets the element in the dictionary at the current position of the enumerator. The instance pointed at.Count(): Integer: Gets the number of items in the dictionary.
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 3676 “BOM Tree Node Dictionary Impl.” (10 calls:
Add → Add,ContainsKey → Contains,Count → Count, …)
Called by
- Codeunit 3683 “BOM Tree Impl.” (6 calls:
AddRelation → Add,AddRelation → TryGet,ChildHasKey → TryGet, …) - Codeunit 3684 “BOM Tree Node” (5 calls:
AddChild → Add,IsChild → ContainsKey,TraverseChildren → GetCurrent, …)
Recent changes
- 2026-07-17 #9531 [Master]- Report 152 “Calculate Low Level Code” terminates with error: “Cannot add instance as another with key %1 has already been added.” after upgrade to v28.1 (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: "BOM Tree Node Dictionary"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.