Table 7001 "Price List Line"
Base Application · Microsoft.Pricing.PriceList
Across versions
- BC23present
- BC241 events added
- BC25declaration changed
- BC26-27unchanged
- BC2830 fields changed, 1 procedures changed
- BC29-30unchanged
Neighbourhood 31 connected objects and pages
Base Application · Microsoft.Pricing.PriceList · BC23-30 · source at ea08af5e · facts from BC29
Learn documents this table through its pages: Page 7001 “Price List Lines” (1 Learn page), Page 7011 “Purchase Price List Lines” (1), Page 7024 “Prices Overview” (1).
Properties
| Property | Value |
|---|---|
| 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 | Price List Code Δ BC28 | Code[20] | Specifies the unique identifier of the price list. | TableRelation Table 7000 “Price List Header” (Price List Header) |
| 2 | Line No. | Integer | — | AutoIncrement |
| 3 | Source Type Δ BC28 | Enum “Price Source Type” | Specifies the type of the entity that offers the price or the line discount on the product. | enum Enum 7003 “Price Source Type” |
| 4 | Source No. Δ BC28 | Code[20] | Specifies the entity to which the prices are assigned. The options depend on the selection in the Assign-to Type field. If you choose an entity, the price list will be used only for that entity. | |
| 5 | Parent Source No. Δ BC28 | Code[20] | Specifies the project to which the prices are assigned. If you choose an entity, the price list will be used only for that entity. | |
| 6 | Source ID | Guid | Assign-to ID caption | |
| 7 | Asset Type Δ BC28 | Enum “Price Asset Type” | Specifies the type of the product. | enum Enum 7004 “Price Asset Type” |
| 8 | Asset No. Δ BC28 | Code[20] | Specifies the identifier of the product. If no product is selected, the price and discount values will apply to all products of the selected product type for which those values are not specified. For example, if you choose Item as the product type but do not specify a specific item, the price will a… | |
| 9 | Variant Code Δ BC28 | Code[10] | Specifies the item variant. | |
| 10 | Currency Code Δ BC28 | Code[10] | Specifies the currency that is used for the prices on the price list. The currency can be the same for all prices on the price list, or you can specify a currency for individual lines. | TableRelation Table 4 “Currency” |
| 11 | Work Type Code Δ BC28 | Code[10] | Specifies the work type code for the resource. | TableRelation Table 200 “Work Type” (Work Type) |
| 12 | Starting Date Δ BC28 | Date | Specifies the date from which the price is valid. | |
| 13 | Ending Date Δ BC28 | Date | Specifies the last date that the price is valid. | |
| 14 | Minimum Quantity Δ BC28 | Decimal | Specifies the minimum quantity of the product. | |
| 15 | Unit of Measure Code Δ BC28 | Code[10] | Specifies the unit of measure for the product. | |
| 16 | Amount Type Δ BC28 | Enum “Price Amount Type” | Specifies whether the price list line defines prices, discounts, or both. | enum Enum 7001 “Price Amount Type” |
| 17 | Unit Price Δ BC28 | Decimal | Specifies the unit price of the product. | |
| 18 | Cost Factor Δ BC28 | Decimal | Specifies the unit cost factor for project-related prices, if you have agreed with your customer that he should pay certain item usage by cost value plus a certain percent value to cover your overhead expenses. | |
| 19 | Unit Cost Δ BC28 | Decimal | Specifies the unit cost of the resource. | |
| 20 | Line Discount % Δ BC28 | Decimal | Specifies the line discount percentage for the product. | |
| 21 | Allow Line Disc. Δ BC28 | Boolean | Specifies if a line discount will be calculated when the price is offered. | |
| 22 | Allow Invoice Disc. Δ BC28 | Boolean | Specifies if an invoice discount will be calculated when the price is offered. | |
| 23 | Price Includes VAT Δ BC28 | Boolean | Specifies if prices include VAT. | |
| 24 | VAT Bus. Posting Gr. (Price) | Code[20] | Specifies the default VAT business posting group code. via Page 7001 “Price List Lines” | TableRelation Table 323 “VAT Business Posting Group” (VAT Business Posting Group) |
| 25 | VAT Prod. Posting Group | Code[20] | — | TableRelation Table 324 “VAT Product Posting Group” (VAT Product Posting Group) |
| 26 | Asset ID | Guid | — | |
| 27 | Line Amount | Decimal | — | not editable |
| 28 | Price Type Δ BC28 | Enum “Price Type” | Specifies the price type: sale or purchase price. | enum Enum 7009 “Price Type” |
| 29 | Description Δ BC28 | Text[100] | Specifies the description of the product. | |
| 30 | Status Δ BC28 | Enum “Price Status” | Specifies whether the price list line is in Draft status and can be edited, Inactive and cannot be edited or used, or Active and used for price calculations. | enum Enum 7005 “Price Status” |
| 31 | Direct Unit Cost Δ BC28 | Decimal | Specifies the direct unit cost of the product. | |
| 32 | Source Group | Enum “Price Source Group” | — | enum Enum 7002 “Price Source Group” |
| 33 | Product No. Δ BC28 | Code[20] | Specifies the identifier of the product. If no product is selected, the price and discount values will apply to all products of the selected product type for which those values are not specified. For example, if you choose Item as the product type but do not specify a specific item, the price will a… | TableRelation Table 15 “G/L Account”, Table 152 “Resource Group”, Table 156 “Resource” (if (“Asset Type” = const(Item)) Item where(“No.” = field(“Product No.”)) else if (“Asset Type” = const(“G/L Account”)) “G/L Account” else if (“Asset Type” = const(Resource)) Resource else if (“Asset Type” = const(“Resource Group”)) “Resource Group” else if (“Asset Type” = const(“Item Discount Group”…) |
| 34 | Assign-to No. Δ BC28 | Code[20] | Specifies the entity to which the prices are assigned. The options depend on the selection in the Assign-to Type field. If you choose an entity, the price list will be used only for that entity. | TableRelation Table 18 “Customer”, Table 340 “Customer Discount Group”, Table 5050 “Contact” (if (“Source Type” = const(Campaign)) Campaign else if (“Source Type” = const(Contact)) Contact else if (“Source Type” = const(Customer)) Customer else if (“Source Type” = const(“Customer Disc. Group”)) “Customer Discount Group” else if (“Source Type” = const(“Customer Price Group”)) “Customer Price …) |
| 35 | Assign-to Parent No. Δ BC28 | Code[20] | Specifies the project to which the prices are assigned. If you choose an entity, the price list will be used only for that entity. | TableRelation Table 167 “Job” (if (“Source Type” = const(“Job Task”)) Job) |
| 36 | Variant Code Lookup Δ BC28 | Code[10] | Specifies the item variant. | TableRelation Table 5401 “Item Variant” (if (“Asset Type” = const(Item)) “Item Variant”.Code where(“Item No.” = field(“Asset No.”))) |
| 37 | Unit of Measure Code Lookup Δ BC28 | Code[10] | Specifies the unit of measure for the product. | TableRelation Table 204 “Unit of Measure”, Table 205 “Resource Unit of Measure”, Table 5404 “Item Unit of Measure” (if (“Asset Type” = const(Item)) “Item Unit of Measure”.Code where(“Item No.” = field(“Asset No.”)) else if (“Asset Type” = const(Resource)) “Resource Unit of Measure”.Code where(“Resource No.” = field(“Asset No.”)) else if (“Asset Type” = const(“Resource Group”)) “Unit of Measure”) |
Keys
- PK: Price List Code, Line No. (clustered)
- Key1: Asset Type, Asset No., Source Type, Source No., Starting Date, Currency Code, Variant Code, Unit of Measure Code, Minimum Quantity
- Key2: Source Type, Source No., Asset Type, Asset No., Starting Date, Currency Code, Variant Code, Unit of Measure Code, Minimum Quantity
- Key3: Status, Price Type, Amount Type, Currency Code, Unit of Measure Code, Source Type, Source No., Asset Type, Asset No., Variant Code, Starting Date, Ending Date, Minimum Quantity
- Key4: Status, Price Type, Amount Type, Currency Code, Unit of Measure Code, Source Type, Parent Source No., Source No., Asset Type, Asset No., Work Type Code, Starting Date, Ending Date, Minimum Quantity
- Key5: Product No., Asset No.
Events published
OnAfterCopyFromForPriceAsset(PriceAsset: Record "Price Asset"; var PriceListLine: Record "Price List Line")(integration)- subscribers: Codeunit 8055 “Sub. Contracts Item Management” DisableInvoiceDiscountForServiceCommitmentItemAfterPriceAssetAssigned
OnAfterCopyFromPriceListHeader(PriceListHeader: Record "Price List Header"; ForceDefaults: Boolean)(integration)OnAfterCopyFromPriceSource(PriceSource: Record "Price Source"; var PriceListLine: Record "Price List Line")(integration)OnAfterCopyPriceFrom(var PriceListLine: Record "Price List Line"; PriceAsset: Record "Price Asset")(integration)OnAfterCopySourceFrom(var PriceListLine: Record "Price List Line"; PriceListHeader: Record "Price List Header")(integration)OnAfterCopyToPriceAsset(var PriceAsset: Record "Price Asset")(integration)OnAfterCopyToPriceSource(var PriceSource: Record "Price Source")(integration)OnAfterInitHeaderDefaults(PriceListHeader: Record "Price List Header")(integration)OnAfterIsAllowedEditingActivePrice(PriceListLine: Record "Price List Line"; var Result: Boolean)(integration)OnAfterIsUOMSupported(PriceListLine: Record "Price List Line"; var Result: Boolean)(integration)OnAfterVerify(var PriceListLine: Record "Price List Line")(integration)OnBeforeVerify(var PriceListLine: Record "Price List Line"; var IsHandled: Boolean)(integration)OnCopyFilteredLinesToTemporaryBufferOnBeforeInsert(var TempPriceListLine: Record "Price List Line" temporary)(integration)OnBeforeCopyFromAssetType(var PriceListLine: Record "Price List Line"; var IsHandled: Boolean)(integration)OnBeforeSetNextLineNo(var PriceListLine: Record "Price List Line"; var IsHandled: Boolean)(integration)OnCopyFromAssetTypeElseCase(var PriceListLine: Record "Price List Line"; var IsHandled: Boolean)(integration)OnCopyFromAssetTypeOnAfterCopyFromAssetTypeItem(Item: Record Item; var PriceListLine: Record "Price List Line")(integration)OnCopyFromAssetTypeOnAfterCopyFromAssetTypeGLAccount(GLAccount: Record "G/L Account"; var PriceListLine: Record "Price List Line")(integration)OnCopyFromAssetTypeOnAfterCopyFromAssetTypeResource(Resource: Record Resource; var PriceListLine: Record "Price List Line")(integration)OnAfterCopyFilteredLinesToTemporaryBuffer(var TempPriceListLine: Record "Price List Line" temporary)(integration)OnBeforeCopyFilteredLinesToTemporaryBuffer(var PriceListLine: Record "Price List Line"; var TempPriceListLine: Record "Price List Line" temporary; var Copied: Boolean; var IsHandled: Boolean)+ BC24 (integration)
Trigger event subscribers
- OnAfterValidateEvent(Allow Invoice Disc.): Codeunit 8055 “Sub. Contracts Item Management” ErrorIfAllowInvoiceDiscountForPriceListLineForServiceCommitmentItem
- OnAfterValidateEvent(Amount Type): Codeunit 8055 “Sub. Contracts Item Management” DisableInvoiceDiscountForServiceCommitmentItemAfterChangingAmountType
- OnBeforeModifyEvent: Codeunit 7017 “Price List Management” OnAfterCopyToPriceSource
Procedures
SetNextLineNo()IsAssetItem(): BooleanIsAssetResource(): BooleanIsEditable(): BooleanIsHeaderActive(): BooleanIsLineToVerify(): BooleanIsUOMSupported(): BooleanIsAmountMandatory(AmountType: enum "Price Amount Type"): BooleanIsAmountSupported(): BooleanIsRealLine(): BooleanIsSourceNoAllowed(): BooleanCheckAmountType(FldCaption: Text; AmountType: Enum "Price Amount Type")Δ BC28CopySourceFrom(PriceListHeader: Record "Price List Header")CopyFrom(PriceListHeader: Record "Price List Header")CopyFrom(PriceListHeader: Record "Price List Header"; ForceDefaults: Boolean)CopyFrom(PriceAsset: Record "Price Asset")CopyPriceFrom(PriceAsset: Record "Price Asset")SetNewRecord(NewRecord: Boolean)CopyTo(var PriceAsset: Record "Price Asset")CopyTo(var PriceSource: Record "Price Source")CopyFilteredLinesToTemporaryBuffer(var TempPriceListLine: Record "Price List Line" temporary): BooleanSetHeader(var NewPriceListHeader: Record "Price List Header")SetAssetNo(AssetNo: Code[20])SyncDropDownLookupFields()TestStatusDraft()Verify()VerifySource()UseCustomizedLookup(): BooleanRenameNo(LineType: Enum "Price Asset Type"; OldNo: Code[20]; NewNo: Code[20])
Plus 14 local procedures.
Triggers
OnDelete, OnInsert
Relations
- Product No.: TableRelation Table 15 “G/L Account” (conditional)
- Product No.: TableRelation Table 152 “Resource Group” (conditional)
- Product No.: TableRelation Table 156 “Resource” (conditional)
- Assign-to Parent No.: TableRelation Table 167 “Job”
- Assign-to No.: TableRelation Table 18 “Customer” (conditional)
- Work Type Code: TableRelation Table 200 “Work Type”
- Unit of Measure Code Lookup: TableRelation Table 204 “Unit of Measure” (conditional)
- Unit of Measure Code Lookup: TableRelation Table 205 “Resource Unit of Measure” (conditional)
- Product No.: TableRelation Table 27 “Item” (conditional)
- VAT Bus. Posting Gr. (Price): TableRelation Table 323 “VAT Business Posting Group”
- VAT Prod. Posting Group: TableRelation Table 324 “VAT Product Posting Group”
- Assign-to No.: TableRelation Table 340 “Customer Discount Group” (conditional)
- Currency Code: TableRelation Table 4 “Currency”
- Assign-to No.: TableRelation Table 5050 “Contact” (conditional)
- Assign-to No.: TableRelation Table 5071 “Campaign” (conditional)
- Variant Code Lookup: TableRelation Table 5401 “Item Variant”
- Unit of Measure Code Lookup: TableRelation Table 5404 “Item Unit of Measure” (conditional)
- Price List Code: TableRelation Table 7000 “Price List Header”
Pages and codeunits on this table
- Page 7001 “Price List Lines” (source table)
- Page 7005 “Price List Line Review” (source table)
- Page 7010 “Get Price Line” (source table)
- Page 7011 “Purchase Price List Lines” (source table)
- Page 7024 “Prices Overview” (source table)
Extended by
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 4114 “Price List Line Sync” (2 calls:
UseCustomizedLookup → IsPriceListLineSynchronized,UseCustomizedLookup → SendOutOfSyncNotification) - Codeunit 4030 “Client Type Management” (1 call:
IsAmountMandatory → GetCurrentClientType) - Codeunit 7017 “Price List Management” (1 call:
IsAllowedEditingActivePrice → IsAllowedEditingActivePrice)
Countries that replace it
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: "Price List Line"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.