tablePurchasing & Payablesofficial - Microsoftderived - from the source, no model text

Table 174 "Standard Purchase Line"

Base Application · Microsoft.Purchases.Document

Across versions

  1. BC23present
  2. BC242 fields changed
  3. BC25-26unchanged
  4. BC272 events added
  5. BC289 fields changed
  6. BC291 procedures changed, 1 procedures added
  7. BC30unchanged

Neighbourhood 15 connected objects and pages

Table 349 "Dimension Value" (relates to, 2 links)Dimension ValueTable 15 "G/L Account" (relates to)G/L AccountTable 173 "Standard Purchase Code" (relates to)Table 204 "Unit of Measure" (relates to)Unit of MeasureTable 205 "Resource Unit of Measure" (relates to)Resource Unit of MeasureTable 27 "Item" (relates to)ItemTable 480 "Dimension Set Entry" (relates to)Dimension Set EntryTable 5401 "Item Variant" (relates to)Item VariantTable 5404 "Item Unit of Measure" (relates to)Item Unit of MeasureTable 5600 "Fixed Asset" (relates to)Fixed AssetTable 5800 "Item Charge" (relates to)Table 7 "Standard Text" (relates to)Standard TextPage 176 "Standard Purchase Code Subform" (pages and codeunits on it)Standard Purchase Code SubformCodeunit 408 "DimensionManagement" (calls, 6 links)DimensionManagementOverview of tasks to set up purchasing (Learn pages)Overview of tasks to set up …

Open in the neighbourhood explorer

One hop out, from the extracted relations and call graph. Up to 40 shown; the sections below list them all.

Base Application · Microsoft.Purchases.Document · BC23-30 · source at ea08af5e · facts from BC29

Learn documents this table through its pages: Page 176 “Standard Purchase Code Subform” (1 Learn page).

Properties

Property Value
Caption Standard Purchase 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 Purchase Code Code[10] — TableRelation Table 173 “Standard Purchase Code” (Standard Purchase Code); not editable
2 Line No. Integer — not editable
3 Type Δ BC28 Enum “Purchase Line Type” Specifies whether the line is for a general ledger account, item, fixed asset or item charge. enum Enum 39 “Purchase Line Type”
4 No. Δ BC24 Δ BC28 Code[20] Specifies the number of a general ledger account, item, resource, additional cost, or fixed asset, depending on the contents of the Type field. TableRelation Table 15 “G/L Account”, Table 27 “Item”, Table 5600 “Fixed Asset” (if (Type = const(” “)) “Standard Text” else if (Type = const(“G/L Account”)) “G/L Account” else if (Type = const(Item)) Item where(Blocked = const(false)) else if (Type = const(“Fixed Asset”)) “Fixed Asset” else if (Type = const(“Charge (Item)”)) “Item Charge” else if (Type = const(“Allocation Accou…)
5 Description Δ BC28 Text[100] Specifies a description of the entry, which is based on the contents of the Type and No. fields.
6 Quantity Δ BC28 Decimal Specifies the number of units of the item on the line.
7 Amount Excl. VAT Δ BC28 Decimal Specifies the net amount for the standard purchase line. This field only applies to lines of type G/L Account and Charge (Item).
8 Unit of Measure Code Δ BC24 Δ BC28 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 205 “Resource Unit of Measure”, Table 5404 “Item Unit of Measure” (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 Δ BC28 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” (“Dimension Value”.Code where(“Global Dimension No.” = const(1), Blocked = const(false)))
10 Shortcut Dimension 2 Code Δ BC28 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” (“Dimension Value”.Code where(“Global Dimension No.” = const(2), Blocked = const(false)))
11 Variant Code Δ BC28 Code[10] Specifies the variant of the item on the line. TableRelation Table 5401 “Item Variant” (if (Type = const(Item)) “Item Variant”.Code where(“Item No.” = field(“No.”), Blocked = const(false)))
480 Dimension Set ID Integer — TableRelation Table 480 “Dimension Set Entry” (Dimension Set Entry); not editable

Keys

  • Key1: Standard Purchase Code, Line No. (clustered)

Events published

  • OnBeforeLookupShortcutDimCode(var StandardPurchaseLine: Record "Standard Purchase Line"; var xStandardPurchaseLine: Record "Standard Purchase Line"; FieldNumber: Integer; var ShortcutDimCode: Code[20]; var IsHandled: Boolean) (integration)
  • OnAfterShowDimensions(var StandardPurchaseLine: Record "Standard Purchase Line"; var DimMgt: Codeunit DimensionManagement) (integration)
  • OnAfterValidateGLAccountNo(var StandardPurchaseLine: Record "Standard Purchase Line"; GLAccount: Record "G/L Account") (integration)
  • OnAfterValidateItemNo(var StandardPurchaseLine: Record "Standard Purchase Line"; Item: Record "Item") (integration)
  • OnAfterValidateResourceNo(var StandardPurchaseLine: Record "Standard Purchase Line"; Resource: Record "Resource") (integration)
  • OnAfterValidateFANo(var StandardPurchaseLine: Record "Standard Purchase Line"; FixedAsset: Record "Fixed Asset") (integration)
  • OnAfterValidateItemChargeNo(var StandardPurchaseLine: Record "Standard Purchase Line"; ItemCharge: Record "Item Charge") (integration)
  • OnAfterValidateShortcutDimCode(var StandardPurchaseLine: Record "Standard Purchase Line"; xStandardPurchaseLine: Record "Standard Purchase Line"; FieldNumber: Integer; var ShortcutDimCode: Code[20]) (integration)
  • OnBeforeValidateShortcutDimCode(var StandardPurchaseLine: Record "Standard Purchase Line"; xStandardPurchaseLine: Record "Standard Purchase Line"; FieldNumber: Integer; var ShortcutDimCode: Code[20]) (integration)
  • OnBeforeValidateAmountExclVAT(var StandardPurchaseLine: Record "Standard Purchase Line"; var IsHandled: Boolean) + BC27 (integration)
  • OnBeforeValidateUnitOfMeasureCode(var StandardPurchaseLine: Record "Standard Purchase Line"; var IsHandled: Boolean) + BC27 (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])
  • FormatType(): Text[20] Δ BC29 (obsolete 29.0: Use FormatTypeAsText() instead.)
  • FormatTypeAsText(): Text[30] + BC29: Formats the line type for display, returning ‘Comment’ for blank types.

Plus 1 local procedures.

Triggers

OnInsert, OnRename

Relations

Pages and codeunits on this 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” (6 calls: LookupShortcutDimCode → LookupDimValueCode, LookupShortcutDimCode → ValidateShortcutDimValues, ShowDimensions → EditDimensionSet, …)

Recent changes

Deprecations

  • procedure FormatType: Pending 29.0 (#if not CLEAN29), “Use FormatTypeAsText() instead.”

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

Evidence 1 sources