Codeunit 2610 "Feature Management Impl."
System Application · System.Environment.Configuration
Across versions
- BC23present
- BC242 procedures added, 1 procedures removed
- BC251 procedures added
- BC26unchanged
- BC271 procedures added
- BC28-30unchanged
Neighbourhood 4 connected objects and pages
System Application · System.Environment.Configuration · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Access | Internal |
| Permissions | tabledata “Active Session” = r, tabledata Company = r, tabledata “Feature Data Update Status” = rimd, tabledata “Feature Key” = rimd, tabledata “Scheduled Task” = r, tabledata “Session Event” = r |
Event subscriptions
- OnAfterCompanyDeleteRemoveReferences subscribes to Table “Company” OnAfterDeleteEvent
- OnAfterCompanyRenameMoveReferences subscribes to Table “Company” OnAfterRenameEvent
- DefaultOpenFeatureManagement subscribes to Codeunit “Feature Management Triggers” OpenFeatureManagement
Procedures
GetFeatureKeyUrlForWeb(FeatureKey: Text[50]): Text: Gets the URL to let users try out a feature. The feature key for the feature to try.AfterValidateEnabled(FeatureKey: Record "Feature Key"): Updates the status in “Feature Data Update Status” records related to all companies. Also sends the notification reminding user to sign in again after feature is enabled/disabled.GetFeatureDataUpdateStatus(FeatureKey: Record "Feature Key"; var FeatureDataUpdateStatus: Record "Feature Data Update Status"): Returns the fresh values of the “Feature Data Update Status” record for the current “Feature Key”.ConfirmDataUpdate(var FeatureDataUpdateStatus: Record "Feature Data Update Status"): Boolean: Returns true if the user has confirmed the data update for the selected feature. Opens the “Schedule Feature Data Update” page where user can confirm the update or schedule it.GetImplementation(FeatureDataUpdateStatus: Record "Feature Data Update Status"): Boolean: Returns true if the feature has an interface implementation.GetTaskDescription(FeatureDataUpdateStatus: Record "Feature Data Update Status"): Text: Returns the result of the interface’s GetTaskDescription method.ReviewData(FeatureDataUpdateStatus: Record "Feature Data Update Status"): Boolean: Runs the interface’s review data method.UpdateSilently(var FeatureDataUpdateStatus: Record "Feature Data Update Status"): Boolean+ BC27: Schedules or starts update without any UI interaction.Update(var FeatureDataUpdateStatus: Record "Feature Data Update Status"): Boolean: Schedules or starts update depending on the options picked on the wizard page.UpdateData(var FeatureDataUpdateStatus: Record "Feature Data Update Status"): Runs the interface’s data update method and updates the feature status.UpdateData(var FeatureDataUpdateStatus: Record "Feature Data Update Status"; FeatureDataUpdateInterface: Interface "Feature Data Update"): Runs the interface’s data update method and updates the feature status.HandleUpdateError(var FeatureDataUpdateStatus: Record "Feature Data Update Status"): Sets Incomplete status and send trace tags.IsEnabled(FeatureId: Text[50]): Boolean+ BC24: Returns true if the feature is enabled and data update, if required, is complete.IsEnabled(FeatureId: Text[50]; AllowInsert: Boolean): Boolean+ BC24: Returns true if the feature is enabled and data update, if required, is complete.CancelTask(var FeatureDataUpdateStatus: Record "Feature Data Update Status"; ClearStartDateTime: Boolean): Cancels the scheduled task before it is started.CreateTask(var FeatureDataUpdateStatus: Record "Feature Data Update Status"): Guid: Creates the task bu the task scheduler.ScheduleTask(var FeatureDataUpdateStatus: Record "Feature Data Update Status"): Boolean: Updates the status and properties related to scheduling and sends the trace tag.LookupDateTime(InitDateTime: DateTime): DateTime: Opens the dialog for entering a date and time values.SendTraceTagOnError(FeatureDataUpdateStatus: Record "Feature Data Update Status")(internal): Sends the trace tag in case of error during feature data update.
Plus 14 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 2611 “Feature Management Facade” (7 calls:
DefaultOpenFeatureManagement → OnBeforeOpenFeatureManagement,EnableFeature → OnBeforeSetFeatureStatusForOtherCompanies,GetImplementation → OnGetImplementation, …) - Codeunit 2612 “Update Feature Data” (1 call:
UpdateSilently → (object)) - Interface “Feature Management” (1 call:
DefaultOpenFeatureManagement → (object))
Called by
- Codeunit 2611 “Feature Management Facade” (11 calls:
AfterValidateEnabled → AfterValidateEnabled,CancelTask → CancelTask,GetFeatureDataUpdateStatus → GetFeatureDataUpdateStatus, …) - Codeunit 2613 “Feature Data Error Handler” (1 call:
OnRun → HandleUpdateError)
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: "Feature Management Impl."), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.