---
id: object/codeunit/9179
type: object
title: Codeunit 9179 "Application Area Mgmt. Facade"
summary: Codeunit 9179 "Application Area Mgmt. Facade" in Base Application (System.Environment.Configuration). 56 public procedures, 6 events, 6 event subscribers. Present since at least BC23, still in BC30, changed in BC24.
tier: official
language: en
tags:
  - codeunit
  - base application
versions:
  introduced: null
  last_changed: "24"
  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: 9e944db5252f7ef1c70492d90e8af5f9c6faf56ba317717964fe34707cfe35c8
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Modules/System/ApplicationArea/ApplicationAreaMgmtFacade.Codeunit.al
    title: src/Layers/W1/BaseApp/Modules/System/ApplicationArea/ApplicationAreaMgmtFacade.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: 9179
name: Application Area Mgmt. Facade
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:
  - "24"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 0
  procedures: 68
  events: 6
  subscribers: 6
relations:
  out: 0
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 5
  calls: 1
  called_by: 68
  implements: 0
---

# Codeunit 9179 "Application Area Mgmt. Facade"

> Codeunit 9179 "Application Area Mgmt. Facade" in Base Application (System.Environment.Configuration). 56 public procedures, 6 events, 6 event subscribers. Present since at least BC23, still in BC30, changed in BC24.

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

## Properties

| Property | Value |
|---|---|
| SingleInstance | true |

## Events published

- `OnGetBasicExperienceAppAreas(var TempApplicationAreaSetup: Record "Application Area Setup" temporary)` (integration)
- `OnGetEssentialExperienceAppAreas(var TempApplicationAreaSetup: Record "Application Area Setup" temporary)` (integration)
  - subscribers: [Codeunit 20420 "Qlty. Application Area Mgmt."](../codeunit/20420.md) HandleOnGetEssentialExperienceAppAreas
- `OnGetPremiumExperienceAppAreas(var TempApplicationAreaSetup: Record "Application Area Setup" temporary)` (integration)
  - subscribers: [Codeunit 20420 "Qlty. Application Area Mgmt."](../codeunit/20420.md) HandleOnGetPremiumExperienceAppAreas, [Codeunit 20571 "Subc. Application Area Mgmt."](../codeunit/20571.md) HandleOnGetPremiumExperienceAppAreas
- `OnBeforeLookupExperienceTier(var TempExperienceTierBuffer: Record "Experience Tier Buffer" temporary)` (integration)
- `OnSetExperienceTier(ExperienceTierSetup: Record "Experience Tier Setup"; var TempApplicationAreaSetup: Record "Application Area Setup" temporary; var ApplicationAreasSet: Boolean)` (integration)
  - subscribers: [Codeunit 20602 "Experience Tier BF"](../codeunit/20602.md) SetApplicationAreas
- `OnValidateApplicationAreas(ExperienceTierSetup: Record "Experience Tier Setup"; TempApplicationAreaSetup: Record "Application Area Setup" temporary)` (integration)
  - subscribers: [Codeunit 20602 "Experience Tier BF"](../codeunit/20602.md) OnValidateApplicationAreas

## Event subscriptions

- RaiseOnGetBasicExperienceAppAreas subscribes to Codeunit "Application Area Mgmt." OnGetBasicExperienceAppAreas
- RaiseOnGetEssentialExperienceAppAreas subscribes to Codeunit "Application Area Mgmt." OnGetEssentialExperienceAppAreas
- RaiseOnGetPremiumExperienceAppAreas subscribes to Codeunit "Application Area Mgmt." OnGetPremiumExperienceAppAreas
- RaiseOnBeforeLookupExperienceTier subscribes to Codeunit "Application Area Mgmt." OnBeforeLookupExperienceTier
- RaiseOnSetExperienceTier subscribes to Codeunit "Application Area Mgmt." OnSetExperienceTier
- RaiseOnValidateApplicationAreas subscribes to Codeunit "Application Area Mgmt." OnValidateApplicationAreas

## Procedures

- `GetApplicationAreaSetupRecFromCompany(var ApplicationAreaSetup: Record "Application Area Setup"; CompanyName: Text): Boolean`
- `GetApplicationAreaSetup(): Text`
- `SetupApplicationArea()`
- `IsFoundationEnabled(): Boolean`
- `IsBasicOnlyEnabled(): Boolean`
- `IsAdvancedEnabled(): Boolean`
- `IsFixedAssetEnabled(): Boolean`
- `IsJobsEnabled(): Boolean`
- `IsBasicHREnabled(): Boolean`
- `IsDimensionEnabled(): Boolean`
- `IsLocationEnabled(): Boolean`
- `IsAssemblyEnabled(): Boolean`
- `IsItemChargesEnabled(): Boolean`
- `IsItemReferencesEnabled(): Boolean`
- `IsItemTrackingEnabled(): Boolean`
- `IsIntercompanyEnabled(): Boolean`
- `IsSalesReturnOrderEnabled(): Boolean`
- `IsPurchaseReturnOrderEnabled(): Boolean`
- `IsCostAccountingEnabled(): Boolean`
- `IsSalesBudgetEnabled(): Boolean`
- `IsPurchaseBudgetEnabled(): Boolean`
- `IsItemBudgetEnabled(): Boolean`
- `IsSalesAnalysisEnabled(): Boolean`
- `IsPurchaseAnalysisEnabled(): Boolean`
- `IsInventoryAnalysisEnabled(): Boolean`
- `IsManufacturingEnabled(): Boolean`
- `IsPlanningEnabled(): Boolean`
- `IsRelationshipMgmtEnabled(): Boolean`
- `IsServiceEnabled(): Boolean`
- `IsWarehouseEnabled(): Boolean`
- `IsReservationEnabled(): 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`
- `LookupExperienceTier(var NewExperienceTier: Text): Boolean`
- `SaveExperienceTierCurrentCompany(NewExperienceTier: Text): Boolean`
- `GetExperienceTierCurrentCompany(var ExperienceTier: Text): Boolean`
- `RefreshExperienceTierCurrentCompany()`
- `IsBasicExperienceEnabled(): Boolean`
- `IsEssentialExperienceEnabled(): Boolean`
- `IsPremiumExperienceEnabled(): Boolean`
- `IsCustomExperienceEnabled(): Boolean`
- `IsAdvancedExperienceEnabled(): Boolean`
- `GetBasicApplicationAreas(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)`

## 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 9178 "Application Area Mgmt."](../codeunit/9178.md) (56 calls: `CheckAppAreaOnlyBasic → CheckAppAreaOnlyBasic`, `GetApplicationAreaSetup → GetApplicationAreas`, `GetApplicationAreaSetupRecFromCompany → GetApplicationAreaSetupRecFromCompany`, …)

## Called by

- [Codeunit 1876 "Business Setup Subscribers"](../codeunit/1876.md) (11 calls: `InsertSetupOnRegisterManualSetup → IsAllDisabled`, `InsertSetupOnRegisterManualSetup → IsBasicHREnabled`, `InsertSetupOnRegisterManualSetup → IsFixedAssetEnabled`, …)
- [Codeunit 2 "Company-Initialize"](../codeunit/2.md) (4 calls: `InitApplicationAreasForSaaS → GetExperienceTierCurrentCompany`, `InitApplicationAreasForSaaS → RefreshExperienceTierCurrentCompany`, `InitApplicationAreasForSaaS → SaveExperienceTierCurrentCompany`, …)
- [Codeunit 2027 "Image Analyzer Ext. Mgt."](../codeunit/2027.md) (3 calls: `IsSaasAndCannotUseRelationshipMgmt → IsAdvancedEnabled`, `IsSaasAndCannotUseRelationshipMgmt → IsAllDisabled`, `IsSaasAndCannotUseRelationshipMgmt → IsRelationshipMgmtEnabled`)
- [Codeunit 5691 "Create Contoso Tenant Data"](../codeunit/5691.md) (3 calls: `OnRun → IsPremiumExperienceEnabled`, `SetExperienceTierToEssential → SaveExperienceTierCurrentCompany`, `SetupApplicationArea → SaveExperienceTierCurrentCompany`)
- [Page 171 "Standard Sales Code Subform"](../page/171.md) (3 calls: `OnInit → IsFoundationEnabled`, `OnNewRecord → IsAdvancedEnabled`, `OnNewRecord → IsFoundationEnabled`)
- [Page 176 "Standard Purchase Code Subform"](../page/176.md) (3 calls: `OnInit → IsFoundationEnabled`, `OnNewRecord → IsAdvancedEnabled`, `OnNewRecord → IsFoundationEnabled`)
- [Table 1670 "Option Lookup Buffer"](../table/1670.md) (3 calls: `IncludeOption → IsFixedAssetEnabled`, `IncludeOption → IsItemChargesEnabled`, `IncludeOption → IsJobsEnabled`)
- [Codeunit 1814 "Assisted Setup Subscribers"](../codeunit/1814.md) (2 calls: `Initialize → IsBasicOnlyEnabled`, `InitializeCustomize → IsBasicOnlyEnabled`)
- [Codeunit 20420 "Qlty. Application Area Mgmt."](../codeunit/20420.md) (2 calls: `IsQualityManagementApplicationAreaEnabled → GetApplicationAreaSetupRecFromCompany`, `RefreshExperienceTierCurrentCompany → RefreshExperienceTierCurrentCompany`)
- [Codeunit 5193 "Contoso Demo Tool"](../codeunit/5193.md) (2 calls: `FilterModulesWithApplicationAreas → IsManufacturingEnabled`, `FilterModulesWithApplicationAreas → IsServiceEnabled`)
- [Page 1 "Company Information"](../page/1.md) (2 calls: `OnClosePage → SaveExperienceTierCurrentCompany`, `OnOpenPage → GetExperienceTierCurrentCompany`)
- [Page 30 "Item Card"](../page/30.md) (2 calls: `CreateItemFromTemplate → IsFoundationEnabled`, `OnOpenPageFunc → IsManufacturingEnabled`)
- [Page 30011 "APIV2 - Company Information"](../page/30011.md) (2 calls: `OnModifyRecord → SaveExperienceTierCurrentCompany`, `SetCalculatedFields → GetExperienceTierCurrentCompany`)
- [Page 46 "Sales Order Subform"](../page/46.md) (2 calls: `OnInit → IsAdvancedEnabled`, `OnInit → IsFoundationEnabled`)
- [Page 47 "Sales Invoice Subform"](../page/47.md) (2 calls: `OnInit → IsAdvancedEnabled`, `OnInit → IsFoundationEnabled`)
- [Page 49 "Purchase Quote"](../page/49.md) (2 calls: `OnInit → IsAllDisabled`, `OnInit → IsLocationEnabled`)
- [Page 50 "Purchase Order"](../page/50.md) (2 calls: `OnInit → IsAllDisabled`, `OnInit → IsLocationEnabled`)
- [Page 508 "Blanket Sales Order Subform"](../page/508.md) (2 calls: `OnInit → IsAdvancedEnabled`, `OnInit → IsFoundationEnabled`)
- [Page 51 "Purchase Invoice"](../page/51.md) (2 calls: `OnInit → IsAllDisabled`, `OnInit → IsLocationEnabled`)
- [Page 6631 "Sales Return Order Subform"](../page/6631.md) (2 calls: `OnInit → IsAdvancedEnabled`, `OnInit → IsFoundationEnabled`)
- [Page 95 "Sales Quote Subform"](../page/95.md) (2 calls: `OnInit → IsAdvancedEnabled`, `OnInit → IsFoundationEnabled`)
- [Page 96 "Sales Cr. Memo Subform"](../page/96.md) (2 calls: `OnInit → IsAdvancedEnabled`, `OnInit → IsFoundationEnabled`)
- [Codeunit 104000 "Upgrade - BaseApp"](../codeunit/104000.md) (1 call: `UpgradeInventorySetupAllowInvtAdjmt → IsFoundationEnabled`)
- [Codeunit 1642 "Intelligent Info Manifest"](../codeunit/1642.md) (1 call: `GetPurchaseOrderMenuItem → IsSuiteEnabled`)
- [Codeunit 1681 "Email Logging Management"](../codeunit/1681.md) (1 call: `HandleOnRegisterAssistedSetup → IsBasicOnlyEnabled`)
- [Codeunit 20600 "App Area Mgmt BF"](../codeunit/20600.md) (1 call: `GetEssentialExperienceAppAreas → IsEssentialExperienceEnabled`)
- [Codeunit 20603 "Install Extension BF"](../codeunit/20603.md) (1 call: `OnInstallAppPerCompany → SaveExperienceTierCurrentCompany`)
- [Codeunit 20604 "Upgrade Extension BF"](../codeunit/20604.md) (1 call: `OnUpgradePerCompany → SaveExperienceTierCurrentCompany`)
- [Codeunit 257 "Experience Tier"](../codeunit/257.md) (1 call: `CheckExperienceTier → IsPremiumExperienceEnabled`)
- [Codeunit 40 "LogInManagement"](../codeunit/40.md) (1 call: `LogInStart → SetupApplicationArea`)
- [Codeunit 56 "Sales - Calc Discount By Type"](../codeunit/56.md) (1 call: `ShouldRedistributeInvoiceDiscountAmount → IsFoundationEnabled`)
- [Codeunit 66 "Purch - Calc Disc. By Type"](../codeunit/66.md) (1 call: `ShouldRedistributeInvoiceDiscountAmount → IsFoundationEnabled`)
- [Codeunit 6611 "FS Setup Defaults"](../codeunit/6611.md) (1 call: `ShouldResetServiceItemMapping → IsPremiumExperienceEnabled`)
- [Codeunit 6613 "FS Assisted Setup Subscriber"](../codeunit/6613.md) (1 call: `RegisterFSAssistedSetup → IsBasicOnlyEnabled`)
- [Codeunit 9275 "My Settings"](../codeunit/9275.md) (1 call: `SetExperienceToEssential → SaveExperienceTierCurrentCompany`)
- [Page 131 "Posted Sales Shpt. Subform"](../page/131.md) (1 call: `OnInit → IsFoundationEnabled`)
- [Page 133 "Posted Sales Invoice Subform"](../page/133.md) (1 call: `OnInit → IsFoundationEnabled`)
- [Page 135 "Posted Sales Cr. Memo Subform"](../page/135.md) (1 call: `OnInit → IsFoundationEnabled`)
- [Page 137 "Posted Purchase Rcpt. Subform"](../page/137.md) (1 call: `OnInit → IsFoundationEnabled`)
- [Page 139 "Posted Purch. Invoice Subform"](../page/139.md) (1 call: `OnInit → IsFoundationEnabled`)
- [Page 141 "Posted Purch. Cr. Memo Subform"](../page/141.md) (1 call: `OnInit → IsFoundationEnabled`)
- [Page 1501 "Workflow"](../page/1501.md) (1 call: `OnOpenPage → IsBasicOnlyEnabled`)
- [Page 1502 "Workflow Subpage"](../page/1502.md) (1 call: `OnOpenPage → IsBasicOnlyEnabled`)
- [Page 1651 "Curr. Exch. Rate Service Card"](../page/1651.md) (1 call: `OnOpenPage → CheckAppAreaOnlyBasic`)
- [Page 21 "Customer Card"](../page/21.md) (1 call: `OnInit → IsFoundationEnabled`)
- [Page 31 "Item List"](../page/31.md) (1 call: `OnOpenPage → IsFoundationEnabled`)
- [Page 357 "Companies"](../page/357.md) (1 call: `OnInit → IsFoundationEnabled`)
- [Page 42 "Sales Order"](../page/42.md) (1 call: `OnOpenPage → IsBasicCountryEnabled`)
- [Page 5330 "CRM Connection Setup"](../page/5330.md) (1 call: `OnInit → CheckAppAreaOnlyBasic`)
- [Page 54 "Purchase Order Subform"](../page/54.md) (1 call: `OnInit → IsFoundationEnabled`)
- and 18 more: data/code/graph/29/calls.json

## Across versions

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

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