---
id: object/table/5997
type: object
title: Table 5997 "Standard Service Line"
summary: Table 5997 "Standard Service Line" in Base Application (Microsoft.Service.Document). 12 fields, 8 public procedures, 5 events. Present since at least BC23, still in BC30, changed in BC24, BC28.
tier: official
language: en
tags:
  - table
  - base application
versions:
  introduced: null
  last_changed: "28"
  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: 9a2cf167d04a49497932de3a4340d4dfd341ed6c23137d99505c1bf3d4580d17
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Service/Document/StandardServiceLine.Table.al
    title: src/Layers/W1/BaseApp/Service/Document/StandardServiceLine.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: table
object_id: 5997
name: Standard Service Line
namespace: Microsoft.Service.Document
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "24"
  - "28"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 12
  procedures: 15
  events: 5
  subscribers: 0
relations:
  out: 13
  referenced_by: 0
  pages: 1
  extended_by: 0
  event_subscribers: 0
  calls: 2
  called_by: 0
  implements: 0
---

# Table 5997 "Standard Service Line"

> Table 5997 "Standard Service Line" in Base Application (Microsoft.Service.Document). 12 fields, 8 public procedures, 5 events. Present since at least BC23, still in BC30, changed in BC24, BC28.

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

## Properties

| Property | Value |
|---|---|
| Caption | Standard Service 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 | Standard Service Code | Code[10] | — | TableRelation [Table 5996 "Standard Service Code"](../table/5996.md) (Standard Service Code); not editable |
| 2 | Line No. | Integer | — | not editable |
| 3 | Type | Enum "Service Line Type" | Specifies the type, item, resource, cost, or g/l account associated with the standard service line. | enum [Enum 5902 "Service Line Type"](../enum/5902.md) |
| 4 | No. | Code[20] | Specifies the number of the involved entry or record, according to the specified number series. | TableRelation [Table 15 "G/L Account"](../table/15.md), [Table 156 "Resource"](../table/156.md), [Table 27 "Item"](../table/27.md) (if (Type = const(" ")) "Standard Text" else if (Type = const(Item)) Item where(Blocked = const(false), "Service Blocked" = const(false)) else if (Type = const(Resource)) Resource else if (Type = const(Cost)) "Service Cost" else if (Type = const("G/L Account")) "G/L Account") |
| 5 | Description | Text[100] | Specifies a description of this entry. |  |
| 6 | Quantity | Decimal | Specifies the number of item units, resource hours, or costs on the line. |  |
| 7 | Amount Excl. VAT | Decimal | Specifies the net amount for this standard service line. |  |
| 8 | Unit of Measure Code | Code[10] | Specifies how each unit of the item or resource is measured, such as in pieces or hours. By default, the value in the Base Unit of Measure field on the item or resource card is inserted. | TableRelation [Table 204 "Unit of Measure"](../table/204.md), [Table 205 "Resource Unit of Measure"](../table/205.md), [Table 5404 "Item Unit of Measure"](../table/5404.md) (if (Type = const(Item)) "Item Unit of Measure".Code where("Item No." = field("No.")) else if (Type = const(Resource)) "Resource Unit of Measure".Code where("Resource No." = field("No.")) else "Unit of Measure") |
| 9 | Shortcut Dimension 1 Code | Code[20] | Specifies the code for Shortcut Dimension 1, which is one of two global dimension codes that you set up in the General Ledger Setup window. | TableRelation [Table 349 "Dimension Value"](../table/349.md) ("Dimension Value".Code where("Global Dimension No." = const(1), Blocked = const(false))) |
| 10 | Shortcut Dimension 2 Code | Code[20] | Specifies the code for Shortcut Dimension 2, which is one of two global dimension codes that you set up in the General Ledger Setup window. | TableRelation [Table 349 "Dimension Value"](../table/349.md) ("Dimension Value".Code where("Global Dimension No." = const(2), Blocked = const(false))) |
| 11 | Variant Code | Code[10] | Specifies the variant of the item on the line. | TableRelation [Table 5401 "Item Variant"](../table/5401.md) (if (Type = const(Item)) "Item Variant".Code where("Item No." = field("No."), Blocked = const(false), "Service Blocked" = const(false))) |
| 480 | Dimension Set ID | Integer | — | TableRelation [Table 480 "Dimension Set Entry"](../table/480.md) (Dimension Set Entry); not editable |

## Keys

- Key1: Standard Service Code, Line No. (clustered)

## Events published

- `OnAfterInitDefaultDimensionSources(var StandardServiceLine: Record "Standard Service Line"; var DefaultDimSource: List of [Dictionary of [Integer, Code[20]]])` (integration)
- `OnAfterCreateDim(var StandardServiceLine: Record "Standard Service Line"; DefaultDimSource: List of [Dictionary of [Integer, Code[20]]])` (integration)
- `OnBeforeLookupShortcutDimCode(var StandardServiceLine: Record "Standard Service Line"; var xStandardServiceLine: Record "Standard Service Line"; FieldNumber: Integer; var ShortcutDimCode: Code[20]; var IsHandled: Boolean)` (integration)
- `OnAfterValidateShortcutDimCode(var StandardServiceLine: Record "Standard Service Line"; var xStandardServiceLine: Record "Standard Service Line"; FieldNumber: Integer; var ShortcutDimCode: Code[20])` (integration)
- `OnBeforeValidateShortcutDimCode(var StandardServiceLine: Record "Standard Service Line"; var xStandardServiceLine: Record "Standard Service Line"; FieldNumber: Integer; var ShortcutDimCode: Code[20])` (integration)

## Procedures

- `EmptyLine(): Boolean`
- `InsertLine(): Boolean`
- `ShowDimensions()`
- `ValidateShortcutDimCode(FieldNumber: Integer; var ShortcutDimCode: Code[20])`
- `LookupShortcutDimCode(FieldNumber: Integer; var ShortcutDimCode: Code[20])`
- `ShowShortcutDimCode(var ShortcutDimCode: array[8] of Code[20])`
- `CreateDim(DefaultDimSource: List of [Dictionary of [Integer, Code[20]]])`
- `CreateDimFromDefaultDim()`

Plus 2 local procedures.

## Triggers

OnInsert, OnRename

## Relations

- No.: TableRelation [Table 15 "G/L Account"](../table/15.md) (conditional)
- No.: TableRelation [Table 156 "Resource"](../table/156.md) (conditional)
- Unit of Measure Code: TableRelation [Table 204 "Unit of Measure"](../table/204.md) (conditional)
- Unit of Measure Code: TableRelation [Table 205 "Resource Unit of Measure"](../table/205.md) (conditional)
- No.: TableRelation [Table 27 "Item"](../table/27.md) (conditional)
- Shortcut Dimension 1 Code: TableRelation [Table 349 "Dimension Value"](../table/349.md)
- Shortcut Dimension 2 Code: TableRelation [Table 349 "Dimension Value"](../table/349.md)
- Dimension Set ID: TableRelation [Table 480 "Dimension Set Entry"](../table/480.md)
- Variant Code: TableRelation [Table 5401 "Item Variant"](../table/5401.md)
- Unit of Measure Code: TableRelation [Table 5404 "Item Unit of Measure"](../table/5404.md) (conditional)
- No.: TableRelation [Table 5905 "Service Cost"](../table/5905.md) (conditional)
- Standard Service Code: TableRelation [Table 5996 "Standard Service Code"](../table/5996.md)
- No.: TableRelation [Table 7 "Standard Text"](../table/7.md) (conditional)

## Pages and codeunits on this table

- [Page 5956 "Standard Service Code Subform"](../page/5956.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 408 "DimensionManagement"](../codeunit/408.md) (7 calls: `CreateDim → GetRecDefaultDimID`, `InitDefaultDimensionSources → AddDimSource`, `LookupShortcutDimCode → LookupDimValueCode`, …)
- [Codeunit 5955 "Serv. Dimension Management"](../codeunit/5955.md) (1 call: `InitDefaultDimensionSources → ServiceLineTypeToTableID`)

## Across versions

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

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