---
id: object/codeunit/9178
type: object
title: Codeunit 9178 "Application Area Mgmt."
summary: Codeunit 9178 "Application Area Mgmt." in Base Application (System.Environment.Configuration). 63 public procedures, 9 events. Present since at least BC23, still in BC30.
tier: official
language: en
tags:
  - codeunit
  - base application
versions:
  introduced: null
  last_changed: null
  deprecated: null
review:
  state: derived
  by: null
  at: null
  flags: []
generated:
  at: "2026-10-11T00:31:51.816Z"
  pipeline: 0.2.0
  prompts: {}
  input_hash: f85ebc7348bd3a4da623547642f468f79ee3a571741e2623803cbd90abe5f79a
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Modules/System/ApplicationArea/ApplicationAreaMgmt.Codeunit.al
    title: src/Layers/W1/BaseApp/Modules/System/ApplicationArea/ApplicationAreaMgmt.Codeunit.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: codeunit
object_id: 9178
name: Application Area Mgmt.
namespace: System.Environment.Configuration
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in: []
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 0
  procedures: 83
  events: 9
  subscribers: 0
relations:
  out: 0
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 8
  calls: 6
  called_by: 10
  implements: 0
---

# Codeunit 9178 "Application Area Mgmt."

> Codeunit 9178 "Application Area Mgmt." in Base Application (System.Environment.Configuration). 63 public procedures, 9 events. Present since at least BC23, still in BC30.

Base Application · System.Environment.Configuration · BC23-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Modules/System/ApplicationArea/ApplicationAreaMgmt.Codeunit.al) · facts from BC29

## Events published

- `OnGetBasicExperienceAppAreas(var TempApplicationAreaSetup: Record "Application Area Setup" temporary)` (integration)
  - subscribers: [Codeunit 9179 "Application Area Mgmt. Facade"](../codeunit/9179.md) RaiseOnGetBasicExperienceAppAreas, [Codeunit 9181 "Application Area Localization"](../codeunit/9181.md) OnGetBasicExperienceAppAreas
- `OnGetEssentialExperienceAppAreas(var TempApplicationAreaSetup: Record "Application Area Setup" temporary)` (integration)
  - subscribers: [Codeunit 20600 "App Area Mgmt BF"](../codeunit/20600.md) OnGetEssentialExperienceAppAreas, [Codeunit 9179 "Application Area Mgmt. Facade"](../codeunit/9179.md) RaiseOnGetEssentialExperienceAppAreas
- `OnGetPremiumExperienceAppAreas(var TempApplicationAreaSetup: Record "Application Area Setup" temporary)` (integration)
  - subscribers: [Codeunit 9179 "Application Area Mgmt. Facade"](../codeunit/9179.md) RaiseOnGetPremiumExperienceAppAreas
- `OnBeforeGetApplicationAreas(var ApplicationAreas: Text; var IsHandled: Boolean)` (integration)
- `OnBeforeLookupExperienceTier(var TempExperienceTierBuffer: Record "Experience Tier Buffer" temporary)` (integration)
  - subscribers: [Codeunit 9179 "Application Area Mgmt. Facade"](../codeunit/9179.md) RaiseOnBeforeLookupExperienceTier
- `OnIsBasicCountryEnabled(CountryCode: Code[10]; var IsEnabled: Boolean; var IsHandled: Boolean)` (integration)
- `OnLookupExperienceTierOnAfterGetNewExperienceTier(NewExperienceTier: Text)` (integration)
- `OnSetExperienceTier(ExperienceTierSetup: Record "Experience Tier Setup"; var TempApplicationAreaSetup: Record "Application Area Setup" temporary; var ApplicationAreasSet: Boolean)` (integration)
  - subscribers: [Codeunit 9179 "Application Area Mgmt. Facade"](../codeunit/9179.md) RaiseOnSetExperienceTier
- `OnValidateApplicationAreas(ExperienceTierSetup: Record "Experience Tier Setup"; TempApplicationAreaSetup: Record "Application Area Setup" temporary)` (integration)
  - subscribers: [Codeunit 9179 "Application Area Mgmt. Facade"](../codeunit/9179.md) RaiseOnValidateApplicationAreas

## Procedures

- `GetApplicationAreaSetupRecFromCompany(var ApplicationAreaSetup: Record "Application Area Setup"; CompanyName: Text): Boolean`
- `GetApplicationAreas(): Text`
- `GetApplicationAreaBuffer(var TempApplicationAreaBuffer: Record "Application Area Buffer" temporary)`
- `TrySaveApplicationAreaCurrentCompany(var TempApplicationAreaBuffer: Record "Application Area Buffer" temporary): Boolean`
- `TrySaveApplicationAreaCurrentUser(var TempApplicationAreaBuffer: Record "Application Area Buffer" temporary): Boolean`
- `SetupApplicationArea()`
- `IsBasicEnabled(): Boolean`
- `IsFoundationEnabled(): Boolean`
- `IsBasicOnlyEnabled(): Boolean`
- `IsAdvancedEnabled(): Boolean`
- `IsFixedAssetEnabled(): Boolean`
- `IsJobsEnabled(): Boolean`
- `IsBasicHREnabled(): Boolean`
- `IsDimensionEnabled(): Boolean`
- `IsLocationEnabled(): Boolean`
- `IsAssemblyEnabled(): Boolean`
- `IsItemChargesEnabled(): Boolean`
- `IsItemTrackingEnabled(): Boolean`
- `IsIntercompanyEnabled(): Boolean`
- `IsSalesReturnOrderEnabled(): Boolean`
- `IsPurchaseReturnOrderEnabled(): Boolean`
- `IsCostAccountingEnabled(): Boolean`
- `IsSalesBudgetEnabled(): Boolean`
- `IsPurchaseBudgetEnabled(): Boolean`
- `IsItemBudgetEnabled(): Boolean`
- `IsItemReferencesEnabled(): Boolean`
- `IsSalesAnalysisEnabled(): Boolean`
- `IsPurchaseAnalysisEnabled(): Boolean`
- `IsInventoryAnalysisEnabled(): Boolean`
- `IsReservationEnabled(): Boolean`
- `IsManufacturingEnabled(): Boolean`
- `IsPlanningEnabled(): Boolean`
- `IsRelationshipMgmtEnabled(): Boolean`
- `IsServiceEnabled(): Boolean`
- `IsWarehouseEnabled(): Boolean`
- `IsOrderPromisingEnabled(): Boolean`
- `IsCommentsEnabled(): Boolean`
- `IsRecordLinksEnabled(): Boolean`
- `IsNotesEnabled(): Boolean`
- `IsVATEnabled(): Boolean`
- `IsSalesTaxEnabled(): Boolean`
- `IsBasicCountryEnabled(CountryCode: Code[10]): Boolean`
- `IsSuiteEnabled(): Boolean`
- `IsAllDisabled(): Boolean`
- `IsPremiumEnabled(): Boolean`
- `CheckAppAreaOnlyBasic()`
- `IsValidExperienceTierSelected(SelectedExperienceTier: Text): Boolean`
- `GetFirstPublicAppAreaFieldIndex(): Integer`
- `GetExperienceTierBuffer(var TempExperienceTierBuffer: Record "Experience Tier Buffer" temporary)`
- `LookupExperienceTier(var NewExperienceTier: Text): Boolean`
- `SaveExperienceTierCurrentCompany(NewExperienceTier: Text): Boolean`
- `GetExperienceTierCurrentCompany(var ExperienceTier: Text): Boolean`
- `SetExperienceTierCurrentCompany(ExperienceTierSetup: Record "Experience Tier Setup")`
- `SetExperienceTierOtherCompany(ExperienceTierSetup: Record "Experience Tier Setup"; CompanyName: Text)`
- `IsBasicExperienceEnabled(): Boolean`
- `IsEssentialExperienceEnabled(): Boolean`
- `IsPremiumExperienceEnabled(): Boolean`
- `IsCustomExperienceEnabled(): Boolean`
- `IsAdvancedExperienceEnabled(): Boolean`
- `GetBasicExperienceAppAreas(var TempApplicationAreaSetup: Record "Application Area Setup" temporary)`
- `GetEssentialExperienceAppAreas(var TempApplicationAreaSetup: Record "Application Area Setup" temporary)`
- `GetPremiumExperienceAppAreas(var TempApplicationAreaSetup: Record "Application Area Setup" temporary)`
- `SetHideApplicationAreaError(NewHideApplicationAreaError: Boolean)`

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 9027 "Plan Ids"](../codeunit/9027.md) (4 calls: `IsPremiumEnabled → GetPremiumISVPlanId`, `IsPremiumEnabled → GetPremiumPartnerSandboxPlanId`, `IsPremiumEnabled → GetPremiumPlanId`, …)
- [Codeunit 9177 "Application Area Cache"](../codeunit/9177.md) (4 calls: `GetApplicationAreas → GetApplicationAreasCrossCompany`, `GetApplicationAreas → GetApplicationAreasForCompany`, `GetApplicationAreas → GetApplicationAreasForProfile`, …)
- [Codeunit 457 "Environment Information"](../codeunit/457.md) (2 calls: `IsAdvancedExperienceEnabled → IsSandbox`, `IsValidExperienceTierSelected → IsOnPrem`)
- [Codeunit 9016 "Azure AD Plan"](../codeunit/9016.md) (1 call: `IsPremiumEnabled → IsPlanAssignedToUser`)
- [Codeunit 9170 "Conf./Personalization Mgt."](../codeunit/9170.md) (1 call: `GetApplicationAreaSetupRec → GetCurrentProfileNoError`)
- [Codeunit 9801 "Identity Management"](../codeunit/9801.md) (1 call: `IsValidExperienceTierSelected → IsUserDelegatedAdmin`)

## Called by

- [Codeunit 9179 "Application Area Mgmt. Facade"](../codeunit/9179.md) (56 calls: `CheckAppAreaOnlyBasic → CheckAppAreaOnlyBasic`, `GetApplicationAreaSetup → GetApplicationAreas`, `GetApplicationAreaSetupRecFromCompany → GetApplicationAreaSetupRecFromCompany`, …)
- [Page 9179 "Application Area"](../page/9179.md) (2 calls: `OnOpenPage → GetApplicationAreaBuffer`, `TrySave → TrySaveApplicationAreaCurrentCompany`)
- [Codeunit 1800 "Assisted Company Setup"](../codeunit/1800.md) (1 call: `SetApplicationArea → SetExperienceTierOtherCompany`)
- [Codeunit 80 "Sales-Post"](../codeunit/80.md) (1 call: `TestUpdatedSalesLine → IsSalesTaxEnabled`)
- [Codeunit 90 "Purch.-Post"](../codeunit/90.md) (1 call: `PostPurchLine → IsSalesTaxEnabled`)
- [Page 357 "Companies"](../page/357.md) (1 call: `OnAfterGetRecord → IsAdvancedExperienceEnabled`)
- [Table 36 "Sales Header"](../table/36.md) (1 call: `CopyFromNewSellToCustTemplate → IsSalesTaxEnabled`)
- [Table 37 "Sales Line"](../table/37.md) (1 call: `GetFAPostingGroup → IsSalesTaxEnabled`)
- [Table 38 "Purchase Header"](../table/38.md) (1 call: `CopyFromNewBuyFromVendorTemplate → IsSalesTaxEnabled`)
- [Table 39 "Purchase Line"](../table/39.md) (1 call: `GetFAPostingGroup → IsSalesTaxEnabled`)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: none

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: "Application Area Mgmt.")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
