Codeunit 7772 "Azure OpenAI Impl"
System Application · System.AI
Across versions
- BC23present
- BC2410 procedures added, 3 procedures removed
- BC252 procedures changed, 2 procedures added
- BC267 procedures removed, 6 procedures added
- BC272 procedures added, 2 procedures removed
- BC281 procedures added
- BC291 procedures added
- BC30unchanged
Neighbourhood 15 connected objects and pages
System Application · System.AI · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Access | Internal |
| Permissions | tabledata “Copilot Settings” = r |
Event subscriptions
- CreatePrivacyNoticeRegistrations subscribes to Codeunit “Privacy Notice” OnRegisterPrivacyNotices
Procedures
IsEnabled(Capability: Enum "Copilot Capability"; CallerModuleInfo: ModuleInfo): BooleanIsEnabled(Capability: Enum "Copilot Capability"; Silent: Boolean; CallerModuleInfo: ModuleInfo): BooleanSetCopilotCapability(Capability: Enum "Copilot Capability"; CallerModuleInfo: ModuleInfo)IsAuthorizationConfigured(ModelType: Enum "AOAI Model Type"; CallerModule: ModuleInfo): BooleanIsInitialized(Capability: Enum "Copilot Capability"; ModelType: Enum "AOAI Model Type"; CallerModuleInfo: ModuleInfo): BooleanGetFastPrompt(ConfigKey: Text; CallerModuleInfo: ModuleInfo; var FastPromptResponse: Codeunit "AOAI Fast Prompt Response"): Boolean+ BC29SetAuthorization(ModelType: Enum "AOAI Model Type"; Deployment: Text)SetAuthorization(ModelType: Enum "AOAI Model Type"; Endpoint: Text; Deployment: Text; ApiKey: SecretText)SetManagedResourceAuthorization(ModelType: Enum "AOAI Model Type"; Endpoint: Text; Deployment: Text; ApiKey: SecretText; ManagedResourceDeployment: Text)+ BC24 + BC26 + BC28SetManagedResourceAuthorization(ModelType: Enum "AOAI Model Type"; AOAIAccountName: Text; ApiKey: SecretText; ManagedResourceDeployment: Text)+ BC24 + BC26 + BC28SetManagedResourceAuthorization(ModelType: Enum "AOAI Model Type"; ManagedResourceDeployment: Text)+ BC24 + BC26 + BC28GenerateTextCompletion(Prompt: SecretText; var AOAIOperationResponse: Codeunit "AOAI Operation Response"; CallerModuleInfo: ModuleInfo): TextGenerateTextCompletion(Prompt: SecretText; AOAICompletionParameters: Codeunit "AOAI Text Completion Params"; var AOAIOperationResponse: Codeunit "AOAI Operation Response"; CallerModuleInfo: ModuleInfo): TextGenerateTextCompletion(Metaprompt: SecretText; Prompt: SecretText; var AOAIOperationResponse: Codeunit "AOAI Operation Response"; CallerModuleInfo: ModuleInfo): TextGenerateTextCompletion(Metaprompt: SecretText; Prompt: SecretText; AOAICompletionParameters: Codeunit "AOAI Text Completion Params"; var AOAIOperationResponse: Codeunit "AOAI Operation Response"; CallerModuleInfo: ModuleInfo): TextGenerateEmbeddings(Input: SecretText; var AOAIOperationResponse: Codeunit "AOAI Operation Response"; CallerModuleInfo: ModuleInfo): List of [Decimal]GenerateChatCompletion(var ChatMessages: Codeunit "AOAI Chat Messages"; var AOAIOperationResponse: Codeunit "AOAI Operation Response"; CallerModuleInfo: ModuleInfo)GenerateChatCompletion(var ChatMessages: Codeunit "AOAI Chat Messages"; AOAIChatCompletionParams: Codeunit "AOAI Chat Completion Params"; var AOAIOperationResponse: Codeunit "AOAI Operation Response"; CallerModuleInfo: ModuleInfo)RemoveProhibitedCharacters(Prompt: Text): TextGetTextMetaprompt(): SecretText(internal)GetTokenCount(Input: SecretText; Encoding: Text): Integer+ BC24GetTotalServerSessionTokensConsumed(): Integer+ BC26GetAzureOpenAICategory(): Code[50]+ BC26GetServiceName(): Text[250]+ BC26GetServiceId(): Code[50]+ BC26IsBillingTypeAuthorized(AOAIAuthorization: Codeunit "AOAI Authorization"; CallerModuleInfo: ModuleInfo): Boolean+ BC27
Plus 11 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 7774 “Copilot Capability Impl” (15 calls:
GenerateEmbeddings → AddTelemetryCustomDimensions,GenerateEmbeddings → CheckCapabilitySet,GenerateEmbeddings → CheckEnabled, …) - Codeunit 7767 “AOAI Authorization” (13 calls:
CheckAuthorizationEnabled → IsConfigured,GetFastPrompt → GetManagedResourceDeployment,GetFastPrompt → GetResourceUtilization, …) - Codeunit 7770 “AOAI Operation Response” (8 calls:
ProcessChatCompletionResponse → AddFunctionResponse,ProcessChatCompletionResponse → AppendFunctionResponsesToChatMessages,ProcessChatCompletionResponse → GetFunctionResponses, …) - Codeunit 7758 “AOAI Function Response” (6 calls:
ProcessChatCompletionResponse → GetError,ProcessChatCompletionResponse → GetErrorCallstack,ProcessChatCompletionResponse → GetFunctionName, …) - Codeunit 7763 “AOAI Chat Messages” (5 calls:
ProcessChatCompletionResponse → AddAssistantMessage,ProcessChatCompletionResponse → AddToolCalls,ProcessChatCompletionResponse → GetToolInvokePreference, …) - Codeunit 8703 “Feature Telemetry” (5 calls:
GenerateEmbeddings → LogError,GenerateEmbeddings → LogUsage,GetFastPrompt → LogError, …) - Codeunit 7789 “AOAI Fast Prompt Response” (3 calls:
GetFastPrompt → GetTemplate,GetFastPrompt → IsFastPrompt,GetFastPrompt → Set) - Codeunit 8711 “Telemetry” (3 calls:
ProcessChatCompletionResponse → LogMessage,RemoveProhibitedCharacters → LogMessage,SendTokenCountTelemetry → LogMessage) - Codeunit 4030 “Client Type Management” (1 call:
GuiCheck → GetCurrentClientType) - Codeunit 7757 “Copilot Notifications” (1 call:
SendRequest → CheckAIQuotaAndShowNotification) - Codeunit 7759 “AOAI Token” (1 call:
GenerateEmbeddings → GetAdaTokenCount)
Called by
- Codeunit 7771 “Azure OpenAI” (9 calls:
GenerateChatCompletion → GenerateChatCompletion,GenerateEmbeddings → GenerateEmbeddings,GetFastPrompt → GetFastPrompt, …) - Codeunit 7759 “AOAI Token” (5 calls:
GetAdaTokenCount → GetTokenCount,GetDavinciTokenCount → GetTokenCount,GetGPT35TokenCount → GetTokenCount, …) - Codeunit 7774 “Copilot Capability Impl” (3 calls:
CheckPrivacyNoticeState → GetAzureOpenAICategory,GetDataMovementAllowed → GetAzureOpenAICategory,IsTenantAllowedToUseAOAI → GetAzureOpenAICategory) - Codeunit 7764 “AOAI Chat Messages Impl” (1 call:
PrepareMessage → RemoveProhibitedCharacters) - Codeunit 7778 “AOAI Tools Impl” (1 call:
ValidateTool → RemoveProhibitedCharacters) - Page 7775 “Copilot AI Capabilities” (1 call:
UpdateAllowDataMovement → GetAzureOpenAICategory)
Implements
Recent changes
- 2026-08-20 #9969 Add AL fast prompt interface and wrappers (main, BC30, feature)
- 2026-08-17 #10205 Deprecate Text Completion API in AI SDK (work item 621038) (main, BC30, obsoletion)
Deprecations
- procedure CheckTextCompletionMetaprompt: guarded (#if not CLEAN29)
- procedure GenerateTextCompletion: guarded (#if not CLEAN29)
- procedure GenerateTextCompletion: guarded (#if not CLEAN29)
- procedure GenerateTextCompletion: guarded (#if not CLEAN29)
- procedure GenerateTextCompletion: guarded (#if not CLEAN29)
- procedure GetTextMetaprompt: guarded (#if not CLEAN29)
- procedure SetManagedResourceAuthorization: guarded (#if not CLEAN26)
- procedure SetManagedResourceAuthorization: guarded (#if not CLEAN28)
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: "Azure OpenAI Impl"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.