---
id: object/page/7121
type: object
title: Page 7121 "Purchase Analysis Lines"
summary: Page 7121 "Purchase Analysis Lines" in Base Application (Microsoft.Purchases.Analysis). 2 public procedures, 1 events. Present since at least BC23, still in BC30.
tier: official
language: en
tags:
  - page
  - 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: 37b283345d3f4bbecdb14a302c96af33cc5648f70bedace1dc3fee7850b8524c
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Purchases/Analysis/PurchaseAnalysisLines.Page.al
    title: src/Layers/W1/BaseApp/Purchases/Analysis/PurchaseAnalysisLines.Page.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: page
object_id: 7121
name: Purchase Analysis Lines
namespace: Microsoft.Purchases.Analysis
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: 7
  events: 1
  subscribers: 0
  controls: 15
  actions: 5
relations:
  out: 1
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 0
  calls: 2
  called_by: 0
  implements: 0
---

# Page 7121 "Purchase Analysis Lines"

> Page 7121 "Purchase Analysis Lines" in Base Application (Microsoft.Purchases.Analysis). 2 public procedures, 1 events. Present since at least BC23, still in BC30.

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

## Properties

| Property | Value |
|---|---|
| Caption | Purchase Analysis Lines |
| SourceTable | Analysis Line |
| PageType | Worksheet |

## Fields on this page

Layout controls in source order, grouped by the container they sit in. Shows: the table field a control is bound to (or its expression as written); ToolTip: the control's own, else the bound field's (marked).

| Group | Control | Shows | ToolTip |
|---|---|---|---|
| Content | Name | `CurrentAnalysisLineTempl` | Specifies the name of the record. |
| Control1 | Row Ref. No. | [Row Ref. No.](../table/7114.md#fields) | Specifies a row reference number for the analysis line. |
|  | Description | [Description](../table/7114.md#fields) | Specifies a description for the analysis line. |
|  | Type | [Type](../table/7114.md#fields) | Specifies the type of totaling for the analysis line. The type determines which items within the totaling range that you specify in the Range field will be totaled. |
|  | Range | [Range](../table/7114.md#fields) | Specifies the number or formula of the type to use to calculate the total for this line. |
|  | Dimension 1 Totaling | [Dimension 1 Totaling](../table/7114.md#fields) | Specifies which dimension value amounts will be totaled on this line. |
|  | Dimension 2 Totaling | [Dimension 2 Totaling](../table/7114.md#fields) | Specifies which dimension value amounts will be totaled on this line. If the type on the line is Formula, this field must be blank. Also, if you do not want the amounts on the line to be filtered by dimensions, this field must be blank. |
|  | Dimension 3 Totaling | [Dimension 3 Totaling](../table/7114.md#fields) | Specifies which dimension value amounts will be totaled on this line. If the type on the line is Formula, this field must be blank. Also, if you do not want the amounts on the line to be filtered by dimensions, this field must be blank. |
|  | New Page | [New Page](../table/7114.md#fields) | Specifies if you want a page break after the current line when you print the analysis report. |
|  | Show | [Show](../table/7114.md#fields) | Specifies whether you want the analysis line to be included when you print the report. |
|  | Bold | [Bold](../table/7114.md#fields) | Specifies if you want the amounts on this line to be printed in bold. |
|  | Indentation | [Indentation](../table/7114.md#fields) | Specifies the indentation of the line. |
|  | Italic | [Italic](../table/7114.md#fields) | Specifies if you want the amounts in this line to be printed in italics. |
|  | Underline | [Underline](../table/7114.md#fields) | Specifies if you want the amounts in this line to be underlined when printed. |
|  | Show Opposite Sign | [Show Opposite Sign](../table/7114.md#fields) | Specifies if you want sales and negative adjustments to be shown as positive amounts and purchases and positive adjustments to be shown as negative amounts. |

## Actions

| Group | Action | ToolTip | Runs |
|---|---|---|---|
| Functions | Insert Items | Insert one or more items that you want to include in the purchase analysis report. |  |
|  | Insert Vendors | Insert one or more vendors that you want to include in the purchase analysis report. |  |
|  | Insert Item Groups | Insert one or more item groups that you want to include in the purchase analysis report. |  |
|  | Add Salespeople/Purchasers | Add one or more salespeople of purchasers that you want to include in the purchase analysis report. |  |
|  | Renumber Lines | Renumber lines in the analysis report sequentially from a number that you specify. |  |

## Events published

- `OnBeforeInsertAnalysisLine(var AnalysisLine: Record "Analysis Line"; Type: Enum "Analysis Line Type"; var IsHandled: Boolean)` (integration)

## Procedures

- `InsertLine(Type: Enum "Analysis Line Type")` (protected)
- `SetCurrentAnalysisLineTempl(AnalysisLineTemlName: Code[10])`

Plus 4 local procedures.

## Triggers

OnAfterGetRecord, OnOpenPage

## Relations

- source table [Table 7114 "Analysis Line"](../table/7114.md)

## 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 7111 "Insert Analysis Line"](../codeunit/7111.md) (6 calls: `InsertAnalysisLines → InsertCust`, `InsertAnalysisLines → InsertCustGrDim`, `InsertAnalysisLines → InsertItemGrDim`, …)
- [Codeunit 7110 "Analysis Report Management"](../codeunit/7110.md) (2 calls: `CurrentAnalysisLineTemplOnAfte → SetAnalysisLineTemplName`, `OnOpenPage → OpenAnalysisLines`)

## 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: "page", object_name: "Purchase Analysis Lines")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
