---
id: object/table/20403
type: object
title: Table 20403 "Qlty. Inspection Template Line"
summary: Table 20403 "Qlty. Inspection Template Line" in Quality Management (Microsoft.QualityManagement.Configuration.Template). 10 fields, 5 public procedures, 1 events. Introduced in BC29, still in BC30.
tier: official
language: en
tags:
  - table
  - quality management
versions:
  introduced: "29"
  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: a215075ceb40df56c1ff12422c849f166807ccb146303121b4e9feec47db70ee
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Apps/W1/Quality%20Management/app/src/Configuration/Template/QltyInspectionTemplateLine.Table.al
    title: src/Apps/W1/Quality Management/app/src/Configuration/Template/QltyInspectionTemplateLine.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
  changes:
    - change/bcapps/10270
object_type: table
object_id: 20403
name: Qlty. Inspection Template Line
caption: Quality Inspection Template Line
namespace: Microsoft.QualityManagement.Configuration.Template
app: Quality Management
extends: null
first_version: "29"
last_version: "30"
present_in:
  - "29"
  - "30"
changed_in: []
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 10
  procedures: 8
  events: 1
  subscribers: 0
relations:
  out: 6
  referenced_by: 2
  pages: 1
  extended_by: 0
  event_subscribers: 0
  calls: 1
  called_by: 0
  implements: 0
---

# Table 20403 "Qlty. Inspection Template Line"

> Table 20403 "Qlty. Inspection Template Line" in Quality Management (Microsoft.QualityManagement.Configuration.Template). 10 fields, 5 public procedures, 1 events. Introduced in BC29, still in BC30.

Quality Management · Microsoft.QualityManagement.Configuration.Template · captioned "Quality Inspection Template Line" · BC29-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Apps/W1/Quality%20Management/app/src/Configuration/Template/QltyInspectionTemplateLine.Table.al) · facts from BC29

## Properties

| Property | Value |
|---|---|
| Caption | Quality Inspection Template Line |
| DataClassification | CustomerContent |

## Fields

Explanation: the field's ToolTip in the code; without one, the ToolTip of a page control bound to the field (marked via the page); without that, its Caption (marked caption) when that differs from the name.

| No. | Name | Type | Explanation | Notes |
|---|---|---|---|---|
| 1 | Template Code | Code[20] | Specifies the template, which is a collection of tests that could represent questions or measurements to take. | TableRelation [Table 20402 "Qlty. Inspection Template Hdr."](../table/20402.md) ("Qlty. Inspection Template Hdr.".Code); NotBlank |
| 2 | Line No. | Integer | Specifies the line no. of the test in this template. |  |
| 3 | Test Code | Code[20] | Specifies the Test that is to be tested. Click the field to see a list of Tests. | TableRelation [Table 20401 "Qlty. Test"](../table/20401.md) ("Qlty. Test".Code) |
| 4 | Description | Text[100] | Specifies the description that is to be displayed. Contains the value of the description field from the test template. You can replace the text as needed. |  |
| 5 | Test Value Type | Enum "Qlty. Test Value Type" | Specifies the data value type of the test. The value is automatically retrieved from the Test Value Type field on the test template. | FlowField: lookup("Qlty. Test"."Test Value Type" where(Code = field("Test Code"))); enum [Enum 20415 "Qlty. Test Value Type"](../enum/20415.md); not editable |
| 7 | Allowable Values | Text[500] | Specifies an expression for the range of values you can enter or select on the quality Inspection line. The value is automatically retrieved from the Allowable Values field on the test template. | FlowField: lookup("Qlty. Test"."Allowable Values" where(Code = field("Test Code"))); not editable |
| 10 | Copied From Template Code | Code[20] | Specifies where a template was copied from. |  |
| 11 | Default Value | Text[250] | Specifies a default value to set on the inspection. The value is automatically retrieved from the Default Value field on the test template. | FlowField: lookup("Qlty. Test"."Default Value" where(Code = field("Test Code"))); not editable |
| 12 | Expression Formula | Text[500] | Specifies the formula for the expression content when using expression test value types. |  |
| 15 | Unit of Measure Code | Code[10] | Specifies the unit of measure for the measurement. | TableRelation [Table 204 "Unit of Measure"](../table/204.md) ("Unit of Measure".Code) |

## Keys

- Key1: Template Code, Line No. (clustered)
- Key2: Template Code, Test Code

## Events published

- `OnValidateExpressionFormula(var QltyInspectionTemplateLine: Record "Qlty. Inspection Template Line")` (integration): Validates the expression formula.

## Procedures

- `InitLineNoIfNeeded()`: Assigns the next template line number when the line number is zero.
- `EnsureResultsExist(ForceOverwriteConditions: Boolean)`: Ensures results exist for this template line.
- `ValidateExpressionFormula()`: This will validate the expression formula.
- `SelectMultipleTests(TemplateCode: Code[20])` (internal): Opens a test selection page and adds the selected tests to a template.
- `AddSelectedTests(TemplateCode: Code[20]; SelectionFilter: Text)` (internal): Adds every test selected by a filter to a template.

Plus 2 local procedures.

## Triggers

OnInsert, OnModify

## Relations

- Unit of Measure Code: TableRelation [Table 204 "Unit of Measure"](../table/204.md)
- Allowable Values: CalcFormula [Table 20401 "Qlty. Test"](../table/20401.md)
- Default Value: CalcFormula [Table 20401 "Qlty. Test"](../table/20401.md)
- Test Value Type: CalcFormula [Table 20401 "Qlty. Test"](../table/20401.md)
- Test Code: TableRelation [Table 20401 "Qlty. Test"](../table/20401.md)
- Template Code: TableRelation [Table 20402 "Qlty. Inspection Template Hdr."](../table/20402.md)

## Referenced by

2 fields in 2 objects relate to this table (TableRelation or CalcFormula).

- [Table 20406 "Qlty. Inspection Line"](../table/20406.md): Template Line No.
- [Table 20412 "Qlty. I. Result Condit. Conf."](../table/20412.md): Target Line No.

## Pages and codeunits on this table

- [Page 20403 "Qlty. Inspection Template Subf"](../page/20403.md) (source table)

## 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 20409 "Qlty. Result Condition Mgmt."](../codeunit/20409.md) (1 call: `EnsureResultsExist → CopyResultConditionsFromTestToTemplateLine`)

## Recent changes

- 2026-08-20 [#10270 [Quality Management] Repair and improve XML documentation of procedures](../../changes/bcapps/10270.md) (main, BC30, refactor)

## Across versions

- Present in: BC29-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: "table", object_name: "Qlty. Inspection Template Line")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
