Codeunit 5895 "Inventory Adjustment"
Base Application · Microsoft.Inventory.Costing
Across versions
- BC23present
- BC246 procedures added, 4 events added
- BC253 procedures changed, 2 procedures added
- BC2619 events added, 16 procedures added
- BC276 events added, 2 procedures added
- BC281 procedures added, 1 events added
- BC296 events removed
- BC301 events removed
Neighbourhood 8 connected objects and pages
Base Application · Microsoft.Inventory.Costing · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Permissions | TableData Item = rm, TableData “Item Ledger Entry” = rm, TableData “Item Application Entry” = rimd, TableData “Value Entry” = rim, TableData “Avg. Cost Adjmt. Entry Point” = rimd, TableData “Inventory Adjmt. Entry (Order)” = rm |
Events published
OnAfterCalcInbndEntryAdjustedCost(var AdjustedCostElementBuf: Record "Cost Element Buffer"; var InbndValueEntry: Record "Value Entry"; InbndItemLedgEntry: Record "Item Ledger Entry"; ItemApplnEntry: Record "Item Application Entry"; OutbndItemLedgEntryNo: Integer; var CompletelyInvoiced: Boolean)(integration)OnAdjustOutbndAvgEntryOnBeforeForwardAvgCostToInbndEntries(var OutbndItemLedgEntry: Record "Item Ledger Entry")(integration)- subscribers: Codeunit 5821 “Cost Adjustment Subscribers” OnAdjustOutbndAvgEntryOnBeforeForwardAvgCostToInbndEntries
OnAdjustItemAvgCostOnAfterLastTempAvgCostAdjmtEntryPoint(var TempAvgCostAdjmtEntryPoint: Record "Avg. Cost Adjmt. Entry Point" temporary; var Restart: Boolean; var IsHandled: Boolean)(integration)OnAdjustItemAvgCostOnAfterCalcRestart(var TempExcludedValueEntry: Record "Value Entry" temporary; var Restart: Boolean)(integration)OnAvgValueEntriesToAdjustExistOnAfterSetAvgValueEntryFilters(var ValueEntry: Record "Value Entry")(integration)OnAvgValueEntriesToAdjustExistOnAfterSetChildValueEntryFilters(var ValueEntry: Record "Value Entry")(integration)OnAvgValueEntriesToAdjustExistOnFindNextRangeOnBeforeAvgValueEntriesToAdjustExist(var OutbndValueEntry: Record "Value Entry"; var ExcludedValueEntry: Record "Value Entry"; var AvgCostAdjmtEntryPoint: Record "Avg. Cost Adjmt. Entry Point")(integration)OnAfterGetValuationPeriod(var CalendarPeriod: Record Date; Item: record Item)(integration)OnAfterIsAvgCostItem(var Item: Record Item; var AvgCostItem: Boolean)(integration)OnAfterMakeMultiLevelAdjmt(var Item: Record Item; IsOnlineAdjmt: Boolean; PostToGL: Boolean; var FilterItem: Record Item)(integration)OnBeforeCalcInbndEntryAdjustedCost(var AdjustedCostElementBuf: Record "Cost Element Buffer"; ItemApplnEntry: Record "Item Application Entry"; OutbndItemLedgEntryNo: Integer; InbndItemLedgEntryNo: Integer; ExactCostReversing: Boolean; Recursion: Boolean; var CompletelyInvoiced: Boolean; var IsHandled: Boolean)(integration)OnBeforeCopyILEToILE(var Item: Record Item; ItemLedgEntry: Record "Item Ledger Entry")(integration)OnBeforeCopyItemToItem(var FromItem: Record Item; var ToItem: Record Item; var IsHandled: Boolean)(integration)OnBeforeIsUpdateCompletelyInvoiced(ItemLedgEntry: Record "Item Ledger Entry"; CompletelyInvoiced: Boolean; var Result: Boolean; var IsHandled: Boolean)(integration)OnBeforeMakeMultiLevelAdjmt(var Item: Record Item; IsOnlineAdjmt: Boolean; var PostToGL: Boolean; var IsHandled: Boolean)(integration)OnBeforeMakeMultiLevejAdjmtOnAfterGetParameters(var CostAdjustmentParamsMgt: Codeunit "Cost Adjustment Params Mgt.")+ BC26 (integration)OnBeforePostItemJnlLine(var ItemJournalLine: Record "Item Journal Line"; OrigValueEntry: Record "Value Entry"; NewAdjustedCost: Decimal; NewAdjustedCostACY: Decimal; SkipUpdateJobItemCost: Boolean; var IsHandled: Boolean)(integration)- subscribers: Codeunit 5821 “Cost Adjustment Subscribers” OnBeforePostItemJnlLine
OnBeforeOpenWindow(var IsHandled: Boolean; var WindowDialog: Dialog; var WindowIsOpen: Boolean)(integration)OnBeforeUpdateAdjmtBuf(OrigValueEntry: Record "Value Entry"; NewAdjustedCost: Decimal; NewAdjustedCostACY: Decimal; ItemLedgEntryPostingDate: Date; EntryType: Enum "Cost Entry Type"; var Result: Boolean; var IsHandled: Boolean; var Item: Record Item)(integration)- subscribers: Codeunit 5821 “Cost Adjustment Subscribers” OnBeforeUpdateAdjmtBuf
OnBeforeUpdateWindow(var IsHandled: Boolean)(integration)OnBeforeUpdateItemUnitCost2(var TempAvgCostAdjmtEntryPoint: Record "Avg. Cost Adjmt. Entry Point" temporary; var IsHandled: Boolean; var Item: Record Item; var ItemLedgEntryToAdjust: Dictionary of [Code[20], List of [Integer]])+ BC26 (integration)OnBeforeUpdateConsumpAvgEntry(ValueEntry: Record "Value Entry"; var IsHandled: Boolean)(integration)OnCopyAvgCostAdjmtToAvgCostAdjmtOnAfterInsert(var AvgCostAdjmtEntryPoint: Record "Avg. Cost Adjmt. Entry Point")(integration)OnCopyCostElementBufToValueEntryBufOnBeforeValueEntryBufInsert(var ValueEntryBuf: Record "Value Entry"; CostElementBuffer: Record "Cost Element Buffer")(integration)OnCopyValueEntryBufToCostElementBufOnBeforeCostElementBufferInsert(var CostElementBuffer: Record "Cost Element Buffer"; ValueEntryBuf: Record "Value Entry")(integration)OnForwardAppliedCostOnAfterSetAppliedQty(ItemLedgerEntry: Record "Item Ledger Entry"; var AppliedQty: Decimal)(integration)OnGetOrigValueEntryOnAfterOrigValueEntryFound(var OrigValueEntry: Record "Value Entry"; ValueEntry: Record "Value Entry")(integration)OnIsOutputWithSelfConsumptionOnAfterSetConsumpValueEntryFilters(var ConsumpValueEntry: Record "Value Entry")(integration)OnOpenOutbndItemLedgEntriesExistOnAfterSetOpenItemLedgEntryFilters(var OpenItemLedgerEntry: Record "Item Ledger Entry")(integration)OnPostItemJnlLineCopyFromValueEntry(var ItemJournalLine: Record "Item Journal Line"; ValueEntry: Record "Value Entry")(integration)OnPostItemJnlLineOnAfterItemJnlPostLineRunWithCheck(var ItemJournalLine: Record "Item Journal Line"; ValueEntry: Record "Value Entry")(integration)OnPostItemJnlLineOnAfterSetPostingDate(var ItemJournalLine: Record "Item Journal Line"; ValueEntry: Record "Value Entry"; PostingDateForClosedPeriod: Date; var Item: Record Item)(integration)OnMakeMultiLevelAdjmtOnAfterMakeAdjmt(var TempAvgCostAdjmtEntryPoint: Record "Avg. Cost Adjmt. Entry Point" temporary; var FilterItem: Record Item; var RndgResidualBuf: Record "Rounding Residual Buffer"; IsOnlineAdjmt: Boolean; PostToGL: Boolean; var ItemJnlPostLine: Codeunit "Item Jnl.-Post Line")(integration)OnMakeSingleLevelAdjmtOnAfterUpdateItemUnitCost(var TheItem: Record Item; var TempAvgCostAdjmtEntryPoint: Record "Avg. Cost Adjmt. Entry Point" temporary; var LevelExceeded: Boolean; IsOnlineAdjmt: Boolean; var ItemJnlPostLine: Codeunit "Item Jnl.-Post Line")(integration)OnInvtToAdjustExistOnBeforeCopyItemToItem(var Item: Record Item)(integration)OnBeforeRunUpdateJobItemCost(var JobsToAdjust: List of [Code[20]])+ BC26 (integration)OnUpdateItemUnitCostOnAfterItemGet(var Item: Record Item)(integration)OnUpdateItemUnitCostOnAfterModifyItemNotStandardCostingMethod(var Item: Record Item)(integration)OnUpdateItemUnitCostOnBeforeModifyItemNotStandardCostingMethod(var Item: Record Item)(integration)OnUpdateConsumpAvgEntryOnAfterSetItemLedgEntryFilters(var ItemLedgerEntry: Record "Item Ledger Entry")(integration)OnPostOutputOnBeforePostItemJnlLine(var ItemJnlLine: Record "Item Journal Line"; OrigValueEntry: Record "Value Entry"; var InvtAdjmtBuf: Record "Inventory Adjustment Buffer"; var GLSetup: Record "General Ledger Setup"; var IsHandled: Boolean)(integration)OnAfterInitAdjmtJnlLine(var ItemJnlLine: Record "Item Journal Line"; OrigValueEntry: Record "Value Entry"; EntryType: Enum "Cost Entry Type"; VarianceType: Enum "Cost Variance Type"; InvoicedQty: Decimal)(integration)- subscribers: Codeunit 99000776 “Mfg. InventoryAdjmtEntryOrder” OnAfterInitAdjmtJnlLine
OnWIPToAdjustExistOnAfterInventoryAdjmtEntryOrderSetFilters(var InventoryAdjmtEntryOrder: Record "Inventory Adjmt. Entry (Order)")(integration)OnBeforeMakeSingleLevelAdjmt(var TheItem: Record Item; var TempAvgCostAdjmtEntryPoint: Record "Avg. Cost Adjmt. Entry Point" temporary; var IsHandled: Boolean)(integration)OnAdjustItemAvgCostOnBeforeAdjustValueEntries()(integration)OnAvgValueEntriesToAdjustExistOnBeforeIsNotAdjustment(var ValueEntry: Record "Value Entry"; var OutbndValueEntry: Record "Value Entry")(integration)OnMakeSingleLevelAdjmtOnBeforeCollectAvgCostAdjmtEntryPointToUpdate(var TheItem: Record Item)(integration)OnInitializeAdjmtOnAfterGetPostingDate(var PostingDateForClosedPeriod: Date)(integration)OnAdjustAppliedInbndEntriesOnAfterSetFilter(var InbndValueEntry: Record "Value Entry")(integration)OnCreateIndirectCostAdjmtOnAfterPostItemJnlLine(ValueEntry: Record "Value Entry"; NewAdjustedCost: Decimal; NewAdjustedCostACY: Decimal)(integration)OnPostAdjmtBufOnAfterPostExpectedCost(ValueEntry: Record "Value Entry"; TempInventoryAdjustmentBuffer: Record "Inventory Adjustment Buffer" temporary)(integration)OnPostAdjmtBufOnBeforePostNewCost(var ItemJournalLine: Record "Item Journal Line"; OrigValueEntry: Record "Value Entry"; TempInventoryAdjustmentBuffer: Record "Inventory Adjustment Buffer" temporary)+ BC27 (integration)OnPostAdjmtBufOnAfterPostNewCost(ValueEntry: Record "Value Entry"; TempInventoryAdjustmentBuffer: Record "Inventory Adjustment Buffer" temporary)(integration)OnMakeSingleLevelAdjmtOnAfterLevelExceeded(var Item: Record Item)(integration)OnMakeSingleLevelAdjmtOnBeforePostAdjmtBuf2(var Item: Record Item; var TempAvgCostAdjmtEntryPoint: Record "Avg. Cost Adjmt. Entry Point" temporary; var TempInventoryAdjustmentBuffer: Record "Inventory Adjustment Buffer" temporary; var TempRoundingResidualBuffer: Record "Rounding Residual Buffer" temporary; PostingDateForClosedPeriod: Date; Currency: Record Currency; SkipUpdateJobItemCost: Boolean; var JobsToAdjust: List of [Code[20]]; ItemJnlPostLine: Codeunit "Item Jnl.-Post Line"; var IsHandled: Boolean)+ BC26 (integration)OnForwardAppliedCostOnBeforeUpdateWindow(var ItemLedgerEntry: Record "Item Ledger Entry"; var Item: Record Item)(integration)OnAdjustAppliedOutbndEntriesOnBeforeCheckExpectedCost(var Item: Record Item; var OutbndValueEntry: Record "Value Entry")(integration)OnCalcInbndEntryAdjustedCostOnBeforeAddCost(var Item: Record Item; var InbndValueEntry: Record "Value Entry")(integration)OnAdjustItemAvgCostOnBeforeUpdateWindow(var Item: Record Item)(integration)OnUpdateAdjmtBufOnBeforeHasNewCost(OrigValueEntry: Record "Value Entry"; NewAdjustedCost: Decimal; NewAdjustedCostACY: Decimal; ItemLedgEntryPostingDate: Date; EntryType: Enum "Cost Entry Type"; var IsHandled: Boolean; var TempInvtAdjmtBuf: Record "Inventory Adjustment Buffer" temporary; var Item: Record Item)(integration)OnUpdateWindowOnAfterOpenWindow(var IsHandled: Boolean)(integration)OnCalcAvgCostOnAfterAssignRoundingError(var RoundingError: Decimal; var RoundingErrorACY: Decimal; var CostElementBuffer: Record "Cost Element Buffer")(integration)OnAdjustOutbndAvgEntryOnNewCostElementBuf(var OutbndValueEntry: Record "Value Entry")(integration)OnUpdateAdjmtBufOnAfterAddActualCostBuf(OrigValueEntry: Record "Value Entry"; NewAdjustedCost: Decimal; NewAdjustedCostACY: Decimal; ItemLedgEntryPostingDate: Date; TempInventoryAdjustmentBuffer: Record "Inventory Adjustment Buffer" temporary)(integration)OnEliminateRndgResidualOnBeforeCheckHasNewCost(InbndItemLedgerEntry: Record "Item Ledger Entry"; ValueEntry: Record "Value Entry"; RndgCost: Decimal; RndgCostACY: Decimal; var IsHandled: Boolean)(integration)- subscribers: Codeunit 5821 “Cost Adjustment Subscribers” OnEliminateRndgResidualOnBeforeCheckHasNewCost
OnBeforeAdjustItem(var TheItem: Record Item)+ BC24 (integration)- subscribers: Codeunit 5821 “Cost Adjustment Subscribers” PushItemBeforeAdjustment
OnAfterAdjustItem(var TheItem: Record Item)+ BC24 (integration)- subscribers: Codeunit 5821 “Cost Adjustment Subscribers” PopItemAfterAdjustment
OnEliminateRndgResidualOnAfterCalcInboundCost(var ValueEntry: Record "Value Entry"; InbndItemLedgEntryNo: Integer)+ BC24 (integration)OnBeforeCollectItemLedgerEntryTypesUsed(var Item: Record Item; var IsHandled: Boolean)+ BC24 (integration)OnAdjustItemAppliedCostForItemLedgerEntry(var ItemLedgEntry: Record "Item Ledger Entry"; var NeedsAdjustment: Boolean)+ BC26 + BC27 − BC27 (integration)- subscribers: Codeunit 5821 “Cost Adjustment Subscribers” OnAdjustItemAppliedCostForItemLedgerEntry
OnCalcCostPerUnitOnBeforeCalcCostPerUnit(var OutbndValueEntry: Record "Value Entry"; OutbndCostElementBuffer: Record "Cost Element Buffer"; var CalcCostPerUnit: Boolean; var CalcCostPerUnitACY: Boolean)+ BC27 (integration)OnCalcTransEntryOldCostOnBeforeProcessTransValueEntry(var TransValueEntry: Record "Value Entry"; var ProcessTransValueEntry: Boolean)+ BC27 (integration)OnAdjustAppliedOutbndEntry(var OutbndItemLedgEntry: Record "Item Ledger Entry")+ BC26 (integration)- subscribers: Codeunit 5821 “Cost Adjustment Subscribers” OnAdjustAppliedOutbndEntry
OnAdjustAppliedOutbndEntriesOnBeforeAdjustEntry(var OutbndItemLedgEntry: Record "Item Ledger Entry"; var OutbndValueEntry: Record "Value Entry"; var NeedsAdjustment: Boolean)+ BC27 + BC28 − BC28 (integration)OnAdjustAppliedInbndEntry(var InbndItemLedgEntry: Record "Item Ledger Entry")+ BC26 (integration)- subscribers: Codeunit 5821 “Cost Adjustment Subscribers” OnAdjustAppliedInbndEntry
OnAdjustAppliedInbndTransEntry(var TransItemLedgEntry: Record "Item Ledger Entry")+ BC26 (integration)- subscribers: Codeunit 5821 “Cost Adjustment Subscribers” OnAdjustAppliedInbndTransEntry
OnBeforeAvgCostAdjmtEntryPoint(var AvgCostAdjmtEntryPoint: Record "Avg. Cost Adjmt. Entry Point")+ BC26 (integration)- subscribers: Codeunit 5821 “Cost Adjustment Subscribers” OnBeforeAvgCostAdjmtEntryPoint
OnBeforeIteratingOverOutbndAvgEntries(var OutbndValueEntry: Record "Value Entry"; var AvgCostAdjmtEntryPoint: Record "Avg. Cost Adjmt. Entry Point"; RemainingOutbnd: Integer)+ BC26 (integration)- subscribers: Codeunit 5821 “Cost Adjustment Subscribers” OnBeforeIteratingOverOutbndAvgEntries
OnAdjustOutbndAvgEntry(var OutbndValueEntry: Record "Value Entry")+ BC26 (integration)- subscribers: Codeunit 5821 “Cost Adjustment Subscribers” OnAdjustOutbndAvgEntry
OnExcludeAvgCostOnValuationDate(var ExcludedValueEntry: Record "Value Entry")+ BC26 (integration)OnBeforeIsExcludeFromAvgCostForRevalPoint(var RevaluationPoint: Record "Integer"; var RevaluationCheckValueEntry: Record "Value Entry"; var OutbndValueEntry: Record "Value Entry")+ BC26 (integration)- subscribers: Codeunit 5821 “Cost Adjustment Subscribers” OnBeforeIsExcludeFromAvgCostForRevalPoint
OnMakeWIPAdjmt(var SourceInvtAdjmtEntryOrder: Record "Inventory Adjmt. Entry (Order)")+ BC26 (integration)- subscribers: Codeunit 5821 “Cost Adjustment Subscribers” OnMakeWIPAdjmt
OnMakeAssemblyAdjmt(var SourceInvtAdjmtEntryOrder: Record "Inventory Adjmt. Entry (Order)")+ BC26 (integration)- subscribers: Codeunit 5821 “Cost Adjustment Subscribers” OnMakeAssemblyAdjmt
OnAfterSetParameters(var CostAdjustmentParameter: Record "Cost Adjustment Parameter")+ BC26 Δ BC27 − BC30 (integration, obsolete 27.0)OnExcludeAvgCostOnValuationDateOnAfterGetItemApplicationTrace(var OutbndValueEntry: Record "Value Entry"; var OutbndEntryItemApplicationTrace: Record "Item Application Trace")+ BC26 (integration)OnIsOutputWithSelfConsumptionOnAfterGetItemApplicationTrace(var ItemApplicationTrace: Record "Item Application Trace")+ BC26 (integration)OnCalcInbndEntryAdjustedCostOnBeforeCalcNewAdjustedCost(var CostElementBuffer: Record "Cost Element Buffer"; ItemApplicationEntry: Record "Item Application Entry"; ItemLedgerEntry: Record "Item Ledger Entry"; var IsHandled: Boolean)+ BC26 (integration)OnAfterInitRndgResidualItemJnlLine(var ItemJournalLine: Record "Item Journal Line"; ValueEntry: Record "Value Entry")+ BC27 (integration)
Procedures
SetProperties(NewIsOnlineAdjmt: Boolean; NewPostToGL: Boolean)SetFilterItem(var NewItem: Record Item)MakeMultiLevelAdjmt(var CostAdjustmentParamsMgt: Codeunit "Cost Adjustment Params Mgt.")+ BC26MakeMultiLevelAdjmt()+ BC26IncludedInCostCalculation(InbndValueEntry: Record "Value Entry"; OutbndItemLedgEntryNo: Integer): BooleanExpCostIsCompletelyInvoiced(ItemLedgEntry: Record "Item Ledger Entry"; ValueEntry: Record "Value Entry"): BooleanSetJobUpdateProperties(SkipJobUpdate: Boolean)CallInitializeAdjmt()CallFinalizeAdjmt()CallInvtToAdjustExist(var ToItem: Record Item): BooleanCallMakeSingleLevelAdjmt(var TheItem: Record Item; var TempAvgCostAdjmtEntryPoint: Record "Avg. Cost Adjmt. Entry Point" temporary)CallWIPToAdjustExist(var ToInventoryAdjmtEntryOrder: Record "Inventory Adjmt. Entry (Order)"): BooleanCallMakeWIPAdjmt(var SourceInvtAdjmtEntryOrder: Record "Inventory Adjmt. Entry (Order)"; var TempAvgCostAdjmtEntryPoint: Record "Avg. Cost Adjmt. Entry Point" temporary)CallAssemblyToAdjustExists(var ToInventoryAdjmtEntryOrder: Record "Inventory Adjmt. Entry (Order)"): BooleanCallMakeAssemblyAdjmt(var SourceInvtAdjmtEntryOrder: Record "Inventory Adjmt. Entry (Order)"; var TempAvgCostAdjmtEntryPoint: Record "Avg. Cost Adjmt. Entry Point" temporary)CallUpdateAdjmtBuf(OrigValueEntry: Record "Value Entry"; NewAdjustedCost: Decimal; NewAdjustedCostACY: Decimal; ItemLedgEntryPostingDate: Date; EntryType: Enum "Cost Entry Type"): BooleanCallPostAdjmtBuf(var TempAvgCostAdjmtEntryPoint: Record "Avg. Cost Adjmt. Entry Point" temporary)CallPostOutputAdjmtBuf(var TempAvgCostAdjmtEntryPoint: Record "Avg. Cost Adjmt. Entry Point" temporary)+ BC24CallSetAppliedEntryToAdjustFromBuf(ItemNo: Code[20])CallAppliedEntryToAdjustBufExists(ItemNo: Code[20]): BooleanCallUpdateJobItemCost()
Plus 114 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 5824 “Cost Adjustment Params Mgt.” (4 calls:
MakeMultiLevelAdjmt → GetAvgCostAdjmtEntryPoint,MakeMultiLevelAdjmt → GetInventoryAdjmtEntryOrder,MakeMultiLevelAdjmt → GetItemsToAdjust, …) - Codeunit 22 “Item Jnl.-Post Line” (3 calls:
CheckAndCommit → ResetGLPostingState,InitializeAdjmt → SetCalledFromAdjustment,PostItemJnlLine → RunWithCheck) - Codeunit 362 “PeriodPageManagement” (2 calls:
FindLastDate → EndOfPeriod,SetDateFilterUntilLastDate → EndOfPeriod) - Codeunit 5804 “ItemCostManagement” (2 calls:
InitializeAdjmt → SetProperties,UpdateItemUnitCost → UpdateUnitCost) - Codeunit 5896 “Calc. Inventory Adjmt. - Order” (2 calls:
MakeAssemblyAdjmt → Calculate,MakeWIPAdjmt → Calculate) - Codeunit 8703 “Feature Telemetry” (2 calls:
EmitCheckAndCommitTelemetry → LogUsage,InitializeAdjmt → LogUsage)
Implements
Implemented by
Recent changes
- 2026-10-02 #12066 Bugs/remove asm inv mfg clean27 tags for wave2 2026 (main, BC30, obsoletion)
Countries that replace it
Deprecations
- procedure OnAfterSetParameters: Pending 27.0 (#if not CLEAN27), “This event is never raised.”
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: "Inventory Adjustment"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.