Codeunit 457 "Environment Information"
System Application · System.Environment
Across versions
- BC23present
- BC241 procedures added
- BC25unchanged
- BC261 procedures added
- BC27unchanged
- BC283 procedures added
- BC29unchanged
- BC302 procedures added
Neighbourhood 256 connected objects and pages
System Application · System.Environment · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Access | Public |
| SingleInstance | true |
Procedures
IsProduction(): Boolean: Checks if environment type of tenant is Production.GetEnvironmentName(): Text: Gets the name of the environment.IsSandbox(): Boolean: Checks if environment type of tenant is Sandbox.IsSaaS(): Boolean: Checks if the deployment type is SaaS (Software as a Service).IsOnPrem(): Boolean: Checks the deployment type is OnPremises.IsFinancials(): Boolean: Checks the application family is Financials.IsSaaSInfrastructure(): Boolean: Checks if the deployment infrastucture is SaaS (Software as a Service). Note: This function will return false in a Docker container.IsPreview(): Boolean+ BC28: Checks if the ring is preview.IsEarlyPreview(): Boolean+ BC28: Checks if the ring is early preview.ShowEarlyPreviewNotification()+ BC28: Shows a notification if the ring is early preview.GetApplicationFamily(): Text: Gets the application family.VersionInstalled(AppID: Guid): Integer: Gets the version which a given app was installed in.CanStartSession(): Boolean: Checks if a new session can be started via the Session.StartSession call.EnableM365Collaboration(): Sets M365 Collaboration to enabled in the tenant admin centerGetLinkedPowerPlatformEnvironmentId(): Text+ BC24: Gets the linked Power Platform environment id.GetEnvironmentSetting(SettingName: Text): Text+ BC26: Gets the value of the specified environment setting. This is only callable from Microsoft published apps.
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 3702 “Environment Information Impl.” (15 calls:
CanStartSession → CanStartSession,EnableM365Collaboration → EnableM365Collaboration,GetApplicationFamily → GetApplicationFamily, …) - Codeunit 3706 “Env. Inf. Notification Impl.” (1 call:
ShowEarlyPreviewNotification → ShowEarlyPreviewNotification)
Called by
- Codeunit 7201 “CDS Integration Impl.” (12 calls:
ConfigureVirtualTables → GetEnvironmentName,EnableAADApp → IsSaaSInfrastructure,GetBusinessEventsSupported → IsSaaSInfrastructure, …) - Codeunit 9994 “API Data Upgrade” (10 calls:
UpgradeItemPostingGroups → IsSaaS,UpgradePurchaseOrderShortcutDimension → IsSaaS,UpgradePurchInvoiceShortcutDimension → IsSaaS, …) - Codeunit 9510 “Document Service Management” (8 calls:
GetAccessToken → IsSaaSInfrastructure,GetClientId → IsSaaSInfrastructure,GetClientSecret → IsSaaSInfrastructure, …) - Codeunit 104000 “Upgrade - BaseApp” (5 calls:
UpdateAllJobsResourcePrices → IsSaaS,UpdatePriceListLineStatus → IsSaaS,UpgradeCreditTransferIBAN → IsSaaS, …) - Codeunit 1309 “O365 Getting Started Mgt.” (5 calls:
CheckOrLaunchWizard → IsSandbox,GetPageToStart → IsSaaS,GetPageToStart → IsSandbox, …) - Codeunit 1430 “Role Center Notification Mgt.” (5 calls:
AreNotificationsSupported → IsSaaS,AreNotificationsSupported → IsSandbox,AreSandboxNotificationsSupported → IsSaaS, …) - Codeunit 4700 “VAT Group Communication” (5 calls:
GetBearerToken → IsSaaSInfrastructure,GetBearerTokenFromCache → IsSaaSInfrastructure,GetFirstPartyAppCertificate → IsSaaSInfrastructure, …) - Codeunit 6941 “EA Http Client” (5 calls:
AddAuthHeaders → IsSaaS,BuildErpConfigJson → GetEnvironmentName,BuildErpConfigJson → IsSaaS, …) - Codeunit 104030 “Upgrade Plan Permissions” (4 calls:
InsertPermission → IsSaaS,SetAutomateAccessControl → IsSaaS,SetAutomateActionPermissions → IsSaaS, …) - Codeunit 1432 “Satisfaction Survey Impl.” (4 calls:
GetApplicationUriSegment → IsFinancials,IsSupported → IsFinancials,IsSupported → IsSaaS, …) - Codeunit 1686 “Email Logging OAuth Client” (4 calls:
GetApplicationType → IsSaaSInfrastructure,GetClientId → IsSaaSInfrastructure,GetClientSecret → IsSaaSInfrastructure, …) - Codeunit 6710 “ODataUtility” (4 calls:
CreateMetadataWebRequest → IsSaaS,GenerateExcelTemplateWorkBook → GetEnvironmentName,GenerateExcelTemplateWorkBook → IsSaaS, …) - Page 6991 “Expense Agent Setup Wizard” (4 calls:
GetExpenseDashboardUrl → IsOnPrem,GetExpenseDashboardUrl → IsSaaSInfrastructure,RegisterErpConfiguration → IsSaaSInfrastructure, …) - Codeunit 1410 “Doc. Exch. Service Mgt.” (3 calls:
GetMissingClientIdOrSecretErr → IsSaaSInfrastructure,GetPredefinedClientId → IsSaaSInfrastructure,GetPredefinedClientSecret → IsSaaSInfrastructure) - Codeunit 1489 “Edit in Excel Workbook Impl.” (3 calls:
GetHostName → IsSaaS,InitializeDataEntityExportInfo → GetEnvironmentName,InitializeDataEntityExportInfo → IsSaaS) - Codeunit 153 “User Permissions Impl.” (3 calls:
CheckSuperPermissionsBeforeDeleteAccessControl → IsSaaS,CheckSuperPermissionsBeforeDeleteUser → IsSaaS,CheckSuperPermissionsBeforeRenameAccessControl → IsSaaS) - Codeunit 1814 “Assisted Setup Subscribers” (3 calls:
Initialize → IsSaaS,Initialize → IsSaaSInfrastructure,OnRegisterVideo → IsSaaS) - Codeunit 2518 “AppSrc Product Deps. Provider” (3 calls:
GetApplicationFamily → GetApplicationFamily,IsSaas → IsSaaS,IsSaas → IsSaaSInfrastructure) - Codeunit 3305 “Payables Agent Upgrade” (3 calls:
AddBillingTypeToCapability → IsSaaSInfrastructure,AlwaysUpdateAgentInformationOnUpgrade → IsSaaSInfrastructure,RegisterTrial → IsSaaSInfrastructure) - Codeunit 418 “User Management” (3 calls:
OnBeforeModifyUserValidateWindowsSecurityIdOnSaaS → IsSaaSInfrastructure,SetLicenseTypeOnValidateApplicationID → IsSaaS,ValidateLicenseTypeOnSaaS → IsSaaS) - Codeunit 4507 “Email - OAuth Client” (3 calls:
CheckIfThirdParty → IsSaaSInfrastructure,Initialize → IsSaaSInfrastructure,TryGetAccessTokenInternal → IsSaaSInfrastructure) - Codeunit 5585 “Digital Voucher Feature” (3 calls:
EnforceDigitalVoucherFunctionality → GetApplicationFamily,EnforceDigitalVoucherFunctionality → IsSaaSInfrastructure,EnforceDigitalVoucherFunctionality → IsSandbox) - Codeunit 8611 “Config. Package Management” (3 calls:
ShowRapidStartNotification → IsSaaS,ShowWarningOnApplyingBigConfPackage → IsSaaS,ShowWarningOnImportingBigConfPackage → IsSaaS) - Codeunit 9175 “User Settings Impl.” (3 calls:
CheckPermissionsInternal → IsOnPrem,CheckPermissionsInternal → IsSaaSInfrastructure,HideExternalUsers → IsSaaS) - Page 9037 “Accountant Activities” (3 calls:
OnAfterGetCurrRecord → IsSaaS,OnInit → IsSaaS,OnOpenPage → IsSaaS) - Codeunit 1545 “Workflow Webhook Notification” (2 calls:
PrepareWebhookPayload → GetEnvironmentName,PrepareWebhookPayload → IsSaaS) - Codeunit 20105 “AMC Banking Mgt.” (2 calls:
GetLicenseNumber → IsSaaS,IsSolutionSandbox → IsSandbox) - Codeunit 40030 “Table and Field Move Mappings” (2 calls:
AddLocalizationAuditCodesMappings → GetApplicationFamily,AddLocalizationNoSeriesMappings → GetApplicationFamily) - Codeunit 40035 “OnPrem Migration Handler” (2 calls:
CanHandle → IsSaaSInfrastructure,HandleOnFinishAdlMigration → IsSaaS) - Codeunit 4353 “Agent Designer Environment” (2 calls:
IsSupportedEnvironment → IsSaaS,IsSupportedEnvironment → IsSandbox) - Codeunit 4509 “Email - Outlook API Helper” (2 calls:
GetClientIDAndSecret → IsSaaSInfrastructure,SetupAzureAppRegistration → IsSaaSInfrastructure) - Codeunit 4589 “SOA Upgrade” (2 calls:
AddBillingTypeToCapability → IsSaaSInfrastructure,AlwaysUpdateAgentInstructionsOnUpgrade → IsSaaSInfrastructure) - Codeunit 50 “SaaS Log In Management” (2 calls:
ShouldShowTermsAndConditions → IsSaaS,ShouldShowTermsAndConditions → IsSandbox) - Codeunit 6400 “Flow Service Management” (2 calls:
GetEnvironmentId → GetLinkedPowerPlatformEnvironmentId,ParseResponseTextForEnvironments → GetLinkedPowerPlatformEnvironmentId) - Codeunit 7203 “CDS Environment” (2 calls:
GetCDSEnvironmentCount → GetLinkedPowerPlatformEnvironmentId,SetLinkedDataverseEnvironmentUrl → GetLinkedPowerPlatformEnvironmentId) - Codeunit 7499 “Item From Picture” (2 calls:
PromptOnHttpCallsIfSandbox → IsSandbox,RunWizard → IsOnPrem) - Codeunit 7774 “Copilot Capability Impl” (2 calls:
IsProductionEnvironment → IsProduction,IsTenantAllowedToUseAOAI → IsSaaSInfrastructure) - Codeunit 8351 “MCP Config Implementation” (2 calls:
GenerateConnectionString → GetEnvironmentName,GenerateConnectionString → IsSaaS) - Codeunit 9002 “Permission Manager” (2 calls:
AllowUpdateUserAccessForSaaS → IsSaaS,ResetUsersToIntelligentCloudPermissions → IsSaaS) - Codeunit 9178 “Application Area Mgmt.” (2 calls:
IsAdvancedExperienceEnabled → IsSandbox,IsValidExperienceTierSelected → IsOnPrem) - Codeunit 9192 “Company Creation Demo Data” (2 calls:
GetCountryContosoAppId → GetApplicationFamily,TryInstallApp → IsSaaS) - Codeunit 9844 “User Selection Impl.” (2 calls:
HideExternalAndSystemUsers → IsSaaS,HideOnlyExternalUsers → IsSaaS) - Page 4511 “SMTP Account Wizard” (2 calls:
OnOpenPage → IsOnPrem,SetProperties → IsSaaSInfrastructure) - Page 4512 “SMTP Account” (2 calls:
SetProperties → IsOnPrem,SetProperties → IsSaaSInfrastructure) - Page 9807 “User Card” (2 calls:
OnAfterGetRecord → IsSaaS,OnOpenPage → IsSaaS) - Page 9990 “Code Coverage” (2 calls:
IsCodeCoverageEnabled → IsSaaS,IsCodeCoverageEnabled → IsSandbox) - Table 135 “Acc. Sched. KPI Web Srv. Setup” (2 calls:
DeleteWebService → IsSaaS,PublishWebService → IsSaaS) - Codeunit 102 “Import Consolidation from API” (1 call:
GetToken → IsSaaS) - Codeunit 1070 “MS - PayPal Standard Mgt.” (1 call:
ValidateChangeTargetURL → IsSaaS) - Codeunit 1140 “OAuth 2.0 Mgt.” (1 call:
CheckEncryption → IsSaaS) - and 204 more: data/code/graph/29/calls.json
Recent changes
- 2026-09-30 #11741 [MCP] Add company and environment descriptions (main, BC30, feature)
- 2026-07-29 #9814 Revert “Expose AppService location and EUDB membership on Environment Information for internal consumption (#9716)” (main, BC30, other)
- 2026-07-28 #9716 Expose AppService location and EUDB membership on Environment Information for internal consumption (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: "Environment Information"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.