---
id: object/codeunit/362
type: object
title: Codeunit 362 "PeriodPageManagement"
summary: Codeunit 362 "PeriodPageManagement" in Base Application (Microsoft.Foundation.Period). 10 public procedures, 6 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: 1b574592d8ec006d4bde79b16618f39d9eee40011dc0cb504656d7f0513cc01b
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Foundation/Period/PeriodPageManagement.Codeunit.al
    title: src/Layers/W1/BaseApp/Foundation/Period/PeriodPageManagement.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: 362
name: PeriodPageManagement
namespace: Microsoft.Foundation.Period
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: 19
  events: 6
  subscribers: 0
relations:
  out: 0
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 0
  calls: 1
  called_by: 48
  implements: 0
---

# Codeunit 362 "PeriodPageManagement"

> Codeunit 362 "PeriodPageManagement" in Base Application (Microsoft.Foundation.Period). 10 public procedures, 6 events. Present since at least BC23, still in BC30.

Base Application · Microsoft.Foundation.Period · BC23-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Foundation/Period/PeriodPageManagement.Codeunit.al) · facts from BC29

## Events published

- `OnAfterCreatePeriodFormat(PeriodType: Enum "Analysis Period Type"; Date: Date; var PeriodFormat: Text[10]; var AccountingPeriod: Record "Accounting Period")` (integration)
- `OnBeforeGetFullPeriodDateFilter(PeriodType: Enum "Analysis Period Type"; DateFilter: Text; var AccountingPeriod: Record "Accounting Period"; var Result: Text; var IsHandled: Boolean)` (integration)
- `OnFindDateOnAfterCalcUseAccountingPeriod(var Calendar: Record Date; PeriodType: Enum "Analysis Period Type"; var AccountingPeriod: Record "Accounting Period"; var UseAccountingPeriod: Boolean; var Found: Boolean; var IsHandled: Boolean)` (integration)
- `OnNextDateOnAfterCalcUseAccountingPeriod(var Calendar: Record Date; PeriodType: Enum "Analysis Period Type"; var AccountingPeriod: Record "Accounting Period"; var UseAccountingPeriod: Boolean)` (integration)
- `OnBeforeFindDate(SearchString: Text[3]; var Calendar: Record Date; PeriodType: Enum "Analysis Period Type"; var Found: Boolean; var IsHandled: Boolean)` (integration)
- `OnBeforeNextDate(NextStep: Integer; var Calendar: record Date; PeriodType: enum "Analysis Period Type"; var AccountingPeriod: Record "Accounting Period"; var Result: Integer; var Ishandled: Boolean)` (integration)

## Procedures

- `FindDate(SearchString: Text[3]; var Calendar: Record Date; PeriodType: Enum "Analysis Period Type"): Boolean`
- `NextDate(NextStep: Integer; var Calendar: Record Date; PeriodType: Enum "Analysis Period Type"): Integer`
- `CreatePeriodFormat(PeriodType: Enum "Analysis Period Type"; Date: Date): Text[10]`
- `MoveDateByPeriod(Date: Date; PeriodType: Option; MoveByNoOfPeriods: Integer): Date`
- `MoveDateByPeriodToEndOfPeriod(Date: Date; PeriodType: Option; MoveByNoOfPeriods: Integer): Date`
- `GetPeriodTypeSymbol(PeriodType: Option): Text[1]`
- `EndOfPeriod(): Date`
- `GetFullPeriodDateFilter(PeriodType: Enum "Analysis Period Type"; DateFilter: Text): Text`
- `FindPeriod(var Item: Record Item; SearchText: Text[3]; PeriodType: Enum "Analysis Period Type"; AmountType: Enum "Analysis Amount Type")`
- `FindPeriodOnMatrixPage(var DateFilter: Text; var InternalDateFilter: Text; SearchText: Text[3]; PeriodType: Enum "Analysis Period Type"; UpdateDateFilter: Boolean)`

Plus 3 local procedures.

## Triggers

OnRun

## 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 360 "Accounting Period Mgt."](../codeunit/360.md) (3 calls: `CopyAccountingPeriod → GetDefaultPeriodEndingDate`, `FindDate → InitDefaultAccountingPeriod`, `NextDate → InitDefaultAccountingPeriod`)

## Called by

- [Codeunit 9200 "Matrix Management"](../codeunit/9200.md) (6 calls: `FindDate → FindDate`, `GeneratePeriodAndCaption → CreatePeriodFormat`, `GeneratePeriodMatrixData → GetFullPeriodDateFilter`, …)
- [Codeunit 2000 "Time Series Management"](../codeunit/2000.md) (4 calls: `CalculatePeriodsWithHistory → MoveDateByPeriod`, `FillTimeSeriesBuffer → MoveDateByPeriod`, `FillTimeSeriesBuffer → MoveDateByPeriodToEndOfPeriod`, …)
- [Codeunit 920 "Period Form Lines Mgt."](../codeunit/920.md) (3 calls: `FindDate → FindDate`, `FindDateRec → FindDate`, `NextDate → NextDate`)
- [Page 408 "G/L Balance by Dimension"](../page/408.md) (3 calls: `FindPeriod → FindDate`, `FindRec → FindDate`, `NextRec → NextDate`)
- [Page 554 "Analysis by Dimensions"](../page/554.md) (3 calls: `FindPeriod → FindDate`, `FindRecord → FindDate`, `NextRecord → NextDate`)
- [Page 9223 "Item Statistics Matrix"](../page/9223.md) (3 calls: `FindPeriod → FindDate`, `FindRec → FindDate`, `NextRec → NextDate`)
- [Page 9233 "G/L Balance by Dim. Matrix"](../page/9233.md) (3 calls: `FindPeriod → FindDate`, `FindRec → FindDate`, `NextRec → NextDate`)
- [Codeunit 5895 "Inventory Adjustment"](../codeunit/5895.md) (2 calls: `FindLastDate → EndOfPeriod`, `SetDateFilterUntilLastDate → EndOfPeriod`)
- [Codeunit 7130 "Item Budget Management"](../codeunit/7130.md) (2 calls: `FindRecord → FindDate`, `NextRecord → NextDate`)
- [Codeunit 7153 "Item Analysis Management"](../codeunit/7153.md) (2 calls: `FindRecord → FindDate`, `NextRecord → NextDate`)
- [Page 5827 "Item Statistics"](../page/5827.md) (2 calls: `FindPeriod → FindDate`, `FindRec → FindDate`)
- [Page 7604 "Base Calendar Entries Subform"](../page/7604.md) (2 calls: `OnFindRecord → FindDate`, `OnNextRecord → NextDate`)
- [Page 7605 "Customized Cal. Entries Subfm"](../page/7605.md) (2 calls: `OnFindRecord → FindDate`, `OnNextRecord → NextDate`)
- [Page 9203 "Budget Matrix"](../page/9203.md) (2 calls: `FindRec → FindDate`, `NextRec → NextDate`)
- [Page 9243 "Res. Group Capacity Matrix"](../page/9243.md) (2 calls: `MATRIX_OnFindRecord → FindDate`, `MATRIX_OnNextRecord → NextDate`)
- [Page 9249 "Analysis by Dimensions Matrix"](../page/9249.md) (2 calls: `FindPeriod → FindDate`, `NextPeriod → NextDate`)
- [Page 9259 "Contr. Gain/Loss (Grps) Matrix"](../page/9259.md) (2 calls: `OnFindRecord → FindDate`, `OnNextRecord → NextDate`)
- [Page 9261 "Contr. G/Loss (Cust.) Matrix"](../page/9261.md) (2 calls: `OnFindRecord → FindDate`, `OnNextRecord → NextDate`)
- [Page 9263 "Contract Gain/Loss Matrix"](../page/9263.md) (2 calls: `OnFindRecord → FindDate`, `OnNextRecord → NextDate`)
- [Page 9265 "Contr. G/Loss (Res.Ctr) Matrix"](../page/9265.md) (2 calls: `OnFindRecord → FindDate`, `OnNextRecord → NextDate`)
- [Page 9267 "Contr. G/Loss (Contr.) Matrix"](../page/9267.md) (2 calls: `OnFindRecord → FindDate`, `OnNextRecord → NextDate`)
- [Page 9269 "Empl. Absences by Cat. Matrix"](../page/9269.md) (2 calls: `OnFindRecord → FindDate`, `OnNextRecord → NextDate`)
- [Page 9273 "Abs. Over. by Cat. Matrix"](../page/9273.md) (2 calls: `OnFindRecord → FindDate`, `OnNextRecord → NextDate`)
- [Table 485 "Business Chart Buffer"](../table/485.md) (2 calls: `GetPeriodCaption → CreatePeriodFormat`, `RecalculatePeriodFilter → FindDate`)
- [Codeunit 1854 "Sales Forecast Notifier"](../codeunit/1854.md) (1 call: `InitializeSalesForecastQuery → MoveDateByPeriod`)
- [Codeunit 8 "AccSchedManagement"](../codeunit/8.md) (1 call: `FindPeriod → FindDate`)
- [Page 1118 "Cost Budget by Cost Center"](../page/1118.md) (1 call: `FindPeriod → FindDate`)
- [Page 1119 "Cost Budget by Cost Object"](../page/1119.md) (1 call: `FindPeriod → FindDate`)
- [Page 1120 "Cost Type Balance/Budget"](../page/1120.md) (1 call: `FindPeriod → FindDate`)
- [Page 113 "Budget"](../page/113.md) (1 call: `FindPeriod → FindDate`)
- [Page 414 "G/L Balance"](../page/414.md) (1 call: `FindPeriod → FindDate`)
- [Page 422 "G/L Balance/Budget"](../page/422.md) (1 call: `FindPeriod → FindDate`)
- [Page 4410 "SOA Multi Items Availability"](../page/4410.md) (1 call: `FindPeriod → FindDate`)
- [Page 492 "Item Availability by Location"](../page/492.md) (1 call: `FindPeriod → FindDate`)
- [Page 520 "Item Availability by Lot No."](../page/520.md) (1 call: `FindPeriod → FindDate`)
- [Page 5414 "Item Availability by Variant"](../page/5414.md) (1 call: `FindPeriod → FindDate`)
- [Page 5416 "Item Availability by UOM"](../page/5416.md) (1 call: `FindPeriod → FindPeriod`)
- [Page 5622 "Total Value Insured per FA"](../page/5622.md) (1 call: `SetStartFilter → FindDate`)
- [Page 5662 "FA Posting Types Overview"](../page/5662.md) (1 call: `SetStartFilter → FindDate`)
- [Page 7117 "Sales Analysis Report"](../page/7117.md) (1 call: `FindPeriod → FindDate`)
- [Page 7118 "Purchase Analysis Report"](../page/7118.md) (1 call: `FindPeriod → FindDate`)
- [Page 7119 "Inventory Analysis Report"](../page/7119.md) (1 call: `FindPeriod → FindPeriodOnMatrixPage`)
- [Page 7138 "Purchase Budget Overview"](../page/7138.md) (1 call: `FindPeriod → FindPeriodOnMatrixPage`)
- [Page 7139 "Sales Budget Overview"](../page/7139.md) (1 call: `FindPeriod → FindPeriodOnMatrixPage`)
- [Page 7157 "Purch. Analysis by Dimensions"](../page/7157.md) (1 call: `FindPeriod → FindPeriodOnMatrixPage`)
- [Page 7158 "Sales Analysis by Dimensions"](../page/7158.md) (1 call: `FindPeriod → FindPeriodOnMatrixPage`)
- [Page 7159 "Invt. Analysis by Dimensions"](../page/7159.md) (1 call: `FindPeriod → FindPeriodOnMatrixPage`)
- [Table 5804 "Avg. Cost Adjmt. Entry Point"](../table/5804.md) (1 call: `GetValuationPeriod → FindDate`)

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