---
id: object/table/5969
type: object
title: Table 5969 "Contract Gain/Loss Entry"
summary: Table 5969 "Contract Gain/Loss Entry" in Base Application (Microsoft.Service.Contract). 11 fields, 1 public procedures. 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: 474fdde5dc81e615a12f9204fe89b893f6a4f3191c416cd038209c3bb89cb8a1
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Service/Contract/ContractGainLossEntry.Table.al
    title: src/Layers/W1/BaseApp/Service/Contract/ContractGainLossEntry.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: 5969
name: Contract Gain/Loss Entry
namespace: Microsoft.Service.Contract
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: 11
  procedures: 1
  events: 0
  subscribers: 0
relations:
  out: 8
  referenced_by: 5
  pages: 1
  extended_by: 0
  event_subscribers: 0
  calls: 0
  called_by: 0
  implements: 0
---

# Table 5969 "Contract Gain/Loss Entry"

> Table 5969 "Contract Gain/Loss Entry" in Base Application (Microsoft.Service.Contract). 11 fields, 1 public procedures. Present since at least BC23, still in BC30, changed in BC24, BC28.

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

## Properties

| Property | Value |
|---|---|
| Caption | Contract Gain/Loss Entry |
| DataClassification | CustomerContent |
| Permissions | TableData "Contract Gain/Loss Entry" = rimd |

## 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 | Entry No. | Integer | — |  |
| 2 | Contract No. | Code[20] | Specifies the contract number linked to this contract gain/loss entry. | TableRelation [Table 5965 "Service Contract Header"](../table/5965.md) ("Service Contract Header"."Contract No." where("Contract Type" = const(Contract))) |
| 3 | Contract Group Code | Code[10] | Specifies the contract group code linked to this contract gain/loss entry. | TableRelation [Table 5966 "Contract Group"](../table/5966.md) (Contract Group) |
| 4 | Change Date | Date | Specifies the date when the change on the service contract occurred. |  |
| 5 | Reason Code | Code[10] | Specifies the reason code, a supplementary source code that enables you to trace the entry. | TableRelation [Table 231 "Reason Code"](../table/231.md) (Reason Code) |
| 6 | Type of Change | Enum "Service Contract Change Type" | Specifies the type of change on the service contract. | enum [Enum 5970 "Service Contract Change Type"](../enum/5970.md) |
| 8 | Responsibility Center | Code[10] | Specifies the code of the responsibility center, such as a distribution hub, that is associated with the involved user, company, customer, or vendor. | TableRelation [Table 5714 "Responsibility Center"](../table/5714.md) (Responsibility Center) |
| 9 | Customer No. | Code[20] | Specifies the customer number that is linked to this contract gain/loss entry. | TableRelation [Table 18 "Customer"](../table/18.md) |
| 10 | Ship-to Code | Code[10] | Specifies a code for an alternate shipment address if you want to ship to another address than the one that has been entered automatically. This field is also used in case of drop shipment. | TableRelation [Table 222 "Ship-to Address"](../table/222.md) ("Ship-to Address".Code where("Customer No." = field("Customer No."))) |
| 11 | User ID | Code[50] | Specifies the ID of the user who posted the entry, to be used, for example, in the change log. | TableRelation User."User Name"; DataClassification EndUserIdentifiableInformation |
| 12 | Amount | Decimal | Specifies the change in annual amount on the service contract. |  |

## Keys

- Key1: Entry No. (clustered)
- Key2: Contract No., Change Date, Reason Code
- Key3: Contract Group Code, Change Date
- Key4: Customer No., Ship-to Code, Change Date
- Key5: Reason Code, Change Date
- Key6: Responsibility Center, Change Date
- Key7: Responsibility Center, Type of Change, Reason Code

## Procedures

- `CreateEntry(ChangeType: Enum "Service Contract Change Type"; ContractType: Enum "Service Contract Type"; ContractNo: Code[20]; ChangeAmount: Decimal; ReasonCode: Code[10])`

## Relations

- drill-down page [Page 6064 "Contract Gain/Loss Entries"](../page/6064.md)
- lookup page [Page 6064 "Contract Gain/Loss Entries"](../page/6064.md)
- Customer No.: TableRelation [Table 18 "Customer"](../table/18.md)
- Ship-to Code: TableRelation [Table 222 "Ship-to Address"](../table/222.md)
- Reason Code: TableRelation [Table 231 "Reason Code"](../table/231.md)
- Responsibility Center: TableRelation [Table 5714 "Responsibility Center"](../table/5714.md)
- Contract No.: TableRelation [Table 5965 "Service Contract Header"](../table/5965.md)
- Contract Group Code: TableRelation [Table 5966 "Contract Group"](../table/5966.md)

## Referenced by

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

- [Table 5965 "Service Contract Header"](../table/5965.md): Contract Gain/Loss Amount
- [Table 5966 "Contract Group"](../table/5966.md): Contract Gain/Loss Amount
- [Table extension 6450 "Serv. Customer"](../tableextension/6450.md): Contract Gain/Loss Amount
- [Table extension 6455 "Serv. Responsibility Center"](../tableextension/6455.md): Contract Gain/Loss Amount
- [Table extension 6469 "Serv. Reason Code"](../tableextension/6469.md): Contract Gain/Loss Amount

## Pages and codeunits on this table

- [Page 6064 "Contract Gain/Loss Entries"](../page/6064.md) (source table)

## 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). 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: "Contract Gain/Loss Entry")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
