Codeunit 4417 "SOA Item Selector"
SalesOrderAgent · Microsoft.Agent.SalesOrderAgent
Across versions
- BC23-28not present
- BC29-30present
Neighbourhood 11 connected objects and pages
SalesOrderAgent · Microsoft.Agent.SalesOrderAgent · BC29-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Access | Internal |
Procedures
SelectBestMatchingItems(SearchQuery: Text; MessageContent: Text; CandidateArray: JsonArray; var MatchingItemFilter: Text; var AlternativeItemFilter: Text; var MatchingItemVariants: Dictionary of [Text, List of [Code[10]]]; var AlternativeItemVariants: Dictionary of [Text, List of [Code[10]]]): Boolean(internal): Evaluates item candidates using AOAI to select matching and alternative item variants.
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 4416 “SOA Item Selector Func” (4 calls:
TrySelectBestMatchingItems → Execute,TrySelectBestMatchingItems → GetSelectionResult,TrySelectBestMatchingItems → GetSelectionResultFailureCategory, …) - Codeunit 7770 “AOAI Operation Response” (4 calls:
TrySelectBestMatchingItems → GetFunctionResponses,TrySelectBestMatchingItems → GetStatusCode,TrySelectBestMatchingItems → IsFunctionCall, …) - Codeunit 7763 “AOAI Chat Messages” (3 calls:
TrySelectBestMatchingItems → AddTool,TrySelectBestMatchingItems → AddUserMessage,TrySelectBestMatchingItems → SetPrimarySystemMessage) - Codeunit 7771 “Azure OpenAI” (3 calls:
TrySelectBestMatchingItems → GenerateChatCompletion,TrySelectBestMatchingItems → SetAuthorization,TrySelectBestMatchingItems → SetCopilotCapability) - Codeunit 4400 “SOA Setup” (2 calls:
LogItemSelectorException → GetFeatureName,LogItemSelectorResponseFailure → GetFeatureName) - Codeunit 7761 “AOAI Chat Completion Params” (2 calls:
TrySelectBestMatchingItems → SetMaxTokens,TrySelectBestMatchingItems → SetTemperature) - Codeunit 8703 “Feature Telemetry” (2 calls:
LogItemSelectorException → LogError,LogItemSelectorResponseFailure → LogError) - Codeunit 4598 “SOA Instructions” (1 call:
GetItemSelectorSystemPrompt → GetItemSelectorSystemPrompt) - Codeunit 7758 “AOAI Function Response” (1 call:
TrySelectBestMatchingItems → GetArguments) - Codeunit 7768 “AOAI Deployments” (1 call:
TrySelectBestMatchingItems → GetGPT56CeresLatest)
Called by
- Codeunit 4591 “SOA Item Search” (1 call:
SelectBestItem → SelectBestMatchingItems)
Recent changes
- 2026-09-23 #11375 Obsolete GPT-5.5 chat and add GPT-5.6 Ceres deployments (main, BC30, obsoletion)
- 2026-08-17 #10287 Move SOA item search and attachment extraction to GPT-5.5 deployments (main, BC30, other)
- 2026-08-05 #9364 Slice 622414: [SOA] [Pioneer] Enhancing Sales Order Agent with Item Variant : availability and prices (main, BC30, feature)
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: "SOA Item Selector"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.