Codeunit 4589 "SOA Upgrade"
SalesOrderAgent · Microsoft.Agent.SalesOrderAgent
Across versions
- BC23-28not present
- BC29-30present
Neighbourhood 5 connected objects and pages
SalesOrderAgent · Microsoft.Agent.SalesOrderAgent · BC29-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Access | Internal |
| Subtype | Upgrade |
Event subscriptions
- RegisterPerDatabaseUpgradeTags subscribes to Codeunit “Upgrade Tag” OnGetPerDatabaseUpgradeTags
- RegisterPerCompanyUpgradeTags subscribes to Codeunit “Upgrade Tag” OnGetPerCompanyUpgradeTags
Procedures
GetRegisterSalesOrderAgentCapabilityTag(): Code[250](internal)GetAddBillingTypeToSOACapabilityTag(): Code[250](internal)GetSetDailyEmailLimitTag(): Code[250](internal)GetSetMarkEmailAsReadTag(): Code[250](internal)GetAgentIdentityTag(): Code[250](internal)GetSOAKPIPerAgentTag(): Code[250](internal)GetOwnerUserSecurityIDTag(): Code[250](internal)GetResetReplyAttemptsTag(): Code[250](internal)
Plus 13 local procedures.
Triggers
OnUpgradePerDatabase, OnUpgradePerCompany
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 9999 “Upgrade Tag” (16 calls:
AddBillingTypeToCapability → HasUpgradeTag,AddBillingTypeToCapability → SetUpgradeTag,AddDailyEmailLimit → HasUpgradeTag, …) - Codeunit 4400 “SOA Setup” (5 calls:
AlwaysUpdateAgentInstructionsOnUpgrade → MustTreatAgentAsArchived,TryUpdateAgentInstructions → UpdateInstructions,UpgradeAgentIdentity → GetInitials, …) - Codeunit 457 “Environment Information” (2 calls:
AddBillingTypeToCapability → IsSaaSInfrastructure,AlwaysUpdateAgentInstructionsOnUpgrade → IsSaaSInfrastructure) - Codeunit 7773 “Copilot Capability” (2 calls:
AddBillingTypeToCapability → IsCapabilityRegistered,AddBillingTypeToCapability → ModifyCapability) - Codeunit 4587 “SOA Impl” (1 call:
RegisterCapability → RegisterCapability)
Recent changes
- 2026-08-28 #10748 [SOA] Resolve the current agent’s setup instead of an arbitrary one (main, BC30, fix)
- 2026-08-26 #10631 Integration/main to releases 29.x 31a860b5 (releases/29.x, BC29, feature)
- 2026-08-21 #10461 [SOA] Uptake Agent Task Message Failed status for outbound replies (main, BC30, feature)
- 2026-08-19 #10308 Uptake agent archiving in Sales Order Agent (AB#644549) (main, BC30, feature)
Deprecations
- procedure GetSOAKPIPerAgentTag: guarded (#if not CLEAN29)
- procedure MergeSOAKPIIntoSummary: guarded (#if not CLEAN29)
- procedure UpgradeSOAKPIToPerAgent: guarded (#if not CLEAN29)
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: "SOA Upgrade"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.