Table 8062 "Cust. Sub. Contract Line"
Subscription Billing · Microsoft.SubscriptionBilling
Across versions
- BC23-28not present
- BC29-30present
Neighbourhood 26 connected objects and pages
Subscription Billing · Microsoft.SubscriptionBilling · captioned “Customer Subscription Contract Line” · BC29-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Caption | Customer Subscription Contract Line |
| DataClassification | CustomerContent |
| LookupPageId | Customer Contract Lines |
| DrillDownPageId | Customer Contract Lines |
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 | Subscription Contract No. | Code[20] | — | TableRelation Table 8052 “Customer Subscription Contract” (Customer Subscription Contract) |
| 2 | Line No. | Integer | — | |
| 3 | Contract Line Type | Enum “Contract Line Type” | Specifies the contract line type. via Page 8075 “Customer Contract Lines” | enum Enum 8055 “Contract Line Type” |
| 4 | No. | Code[20] | Specifies the No. of the Item or G/L Account of the Subscription. via Page 8075 “Customer Contract Lines” | TableRelation Table 15 “G/L Account”, Table 27 “Item” (if (“Contract Line Type” = const(Item)) Item where(“Subscription Option” = filter(“Sales with Service Commitment” | “Service Commitment Item”), Blocked = const(false)) else if (“Contract Line Type” = const(“G/L Account”)) “G/L Account” where(“Direct Posting” = const(true), “Account Type” = const(Pos…) |
| 100 | Subscription Header No. | Code[20] | Specifies the number of the Subscription. via Page 8075 “Customer Contract Lines” | TableRelation Table 8057 “Subscription Header” (Subscription Header); not editable |
| 101 | Subscription Line Entry No. | Integer | — | TableRelation Table 8059 “Subscription Line” (“Subscription Line”.“Entry No.”); not editable |
| 102 | Subscription Description | Text[100] | Specifies a description of the Subscription. via Page 8075 “Customer Contract Lines” | |
| 106 | Subscription Line Description | Text[100] | Specifies the description of the Subscription Line. via Page 8075 “Customer Contract Lines” | |
| 107 | Closed | Boolean | Specifies that the associated Subscription Line has ended. via Page 8080 “Closed Cust. Cont. Line Subp.” | |
| 109 | Service Object Quantity | Decimal | Specifies the number of units of Subscription. via Page 8006 “Contract Renewal Selection” | FlowField: lookup(“Subscription Header”.Quantity where(“No.” = field(“Subscription Header No.”))); not editable |
| 200 | Planned Sub. Line exists | Boolean | Specifies if a planned Renewal exists for the Subscription Line. via Page 8006 “Contract Renewal Selection” | FlowField: exist(“Planned Subscription Line” where(“Subscription Header No.” = field(“Subscription Header No.”), “Subscription Contract No.” = field(“Subscription Contract No.”), “Subscription Contract Line No.” = field(“Line No.”))); not editable |
Keys
- PK: Subscription Contract No., Line No. (clustered)
Events published
OnAfterCheckSelectedContractLinesOnMergeContractLines(var SelectedCustSubContractLine: Record "Cust. Sub. Contract Line")(integration)OnAfterCheckAndDisconnectContractLine(var CustSubContractLine: Record "Cust. Sub. Contract Line"; xCustSubContractLine: Record "Cust. Sub. Contract Line")(integration)OnAfterUpdateSubscriptionDescription(var CustSubContractLine: Record "Cust. Sub. Contract Line")(integration)OnAfterUpdateSubscriptionLineDescription(var CustSubContractLine: Record "Cust. Sub. Contract Line")(integration)OnAfterLoadAmountsForContractLine(var CustSubContractLine: Record "Cust. Sub. Contract Line"; var SubscriptionLine: Record "Subscription Line")(integration)OnAfterInitFromSubscriptionLine(var CustSubContractLine: Record "Cust. Sub. Contract Line"; SubscriptionLine: Record "Subscription Line"; SubscriptionHeader: Record "Subscription Header")(integration)
Procedures
OpenServiceObjectCard()(internal)GetNextLineNo(CustomerContractNo: Code[20]): IntegerLoadServiceCommitmentForContractLine(var ServiceCommitment: Record "Subscription Line")GetServiceCommitment(var ServiceCommitment: Record "Subscription Line"): BooleanGetServiceObject(var ServiceObject: Record "Subscription Header"): Boolean(internal)FilterOnServiceCommitment(ServiceCommitment: Record "Subscription Line")(internal)FindFirstSubscriptionLine(SubscriptionLine: Record "Subscription Line"): Boolean(internal)FilterOnServiceObjectContractLineType()(internal)MergeContractLines(var CustomerContractLine: Record "Cust. Sub. Contract Line")InitFromServiceCommitment(ServiceCommitment: Record "Subscription Line"; ContractNo: Code[20])(internal)GetConfirmResponse(ConfirmQuestion: Text; DefaultButton: Boolean): BooleanIsCommentLine(): Boolean(internal)
Plus 21 local procedures.
Triggers
OnDelete, OnModify
Relations
- drill-down page Page 8075 “Customer Contract Lines”
- lookup page Page 8075 “Customer Contract Lines”
- No.: TableRelation Table 15 “G/L Account” (conditional)
- No.: TableRelation Table 27 “Item” (conditional)
- Planned Sub. Line exists: CalcFormula Table 8002 “Planned Subscription Line”
- Subscription Contract No.: TableRelation Table 8052 “Customer Subscription Contract”
- Service Object Quantity: CalcFormula Table 8057 “Subscription Header”
- Subscription Header No.: TableRelation Table 8057 “Subscription Header”
- Subscription Line Entry No.: TableRelation Table 8059 “Subscription Line”
Referenced by
14 fields in 13 objects relate to this table (TableRelation or CalcFormula).
- Table 8001 “Sub. Contract Renewal Line”: Linked to Sub. Contr. Line No., Subscription Contract Line No.
- Table 8002 “Planned Subscription Line”: Subscription Contract Line No.
- Table 8006 “Usage Data Billing”: Subscription Contract Line No.
- Table 8009 “Imported Subscription Line”: Subscription Contract Line No.
- Table 8019 “Sub. Contr. Analysis Entry”: Subscription Contract Line No.
- Table 8022 “Contract Billing Err. Log”: Contract Line No.
- Table 8059 “Subscription Line”: Subscription Contract Line No.
- Table 8061 “Billing Line”: Subscription Contract Line No.
- Table 8064 “Billing Line Archive”: Subscription Contract Line No.
- Table 8066 “Cust. Sub. Contract Deferral”: Subscription Contract Line No.
- Table 8073 “Subscription Line Archive”: Subscription Contract Line No.
- Table extension 8056 “Sales Invoice Line”: Subscription Contract Line No.
- Table extension 8058 “Sales Cr. Memo Line”: Subscription Contract Line No.
Pages and codeunits on this table
- Page 8006 “Contract Renewal Selection” (source table)
- Page 8045 “Customer Contract Lines API” (source table)
- Page 8068 “Customer Contract Line Subp.” (source table)
- Page 8075 “Customer Contract Lines” (source table)
- Page 8080 “Closed Cust. Cont. Line Subp.” (source table)
- Page 8091 “Select Cust. Contract Lines” (source table)
- Codeunit 8003 “Sub. Contract Renewal Mgt.” (codeunit runs on it)
Recent changes
- 2026-07-14 #8115 Subscription Billing: respect Default Dimension Priorities on Subscription Lines (main, BC30, fix)
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: "Cust. Sub. Contract Line"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.