Describe the issue
The IsLineAttachedToBillingLine procedure exists on both the Sales Line and Purchase Line table extensions in Subscription Billing, but it is declared with internal access. This prevents external apps from calling it to check whether a document line is already attached to a billing line.
This function is used internally to guard deferral code assignments, control UI element visibility, and block certain operations on lines that are part of a billing contract. ISV partners and other extensions often need the same information — for example, to conditionally show/hide custom actions, validate custom fields, or integrate their own posting logic — but currently have no supported way to retrieve it.
Expected behavior
Current:
// SalesLine.TableExt.al
internal procedure IsLineAttachedToBillingLine(): Boolean
// PurchaseLine.TableExt.al
internal procedure IsLineAttachedToBillingLine(): Boolean
Both procedures are internal and therefore only callable from within the Subscription Billing app.
Expected:
// SalesLine.TableExt.al
procedure IsLineAttachedToBillingLine(): Boolean
// PurchaseLine.TableExt.al
procedure IsLineAttachedToBillingLine(): Boolean
Steps to reproduce
Not applicable
Additional context
The access modifier should be changed to public (i.e., the internal keyword removed) so that external extensions can call these procedures on a Sales Line or Purchase Line record to determine whether the line is already linked to a billing line.
I will provide a fix for a bug
Describe the issue
The IsLineAttachedToBillingLine procedure exists on both the Sales Line and Purchase Line table extensions in Subscription Billing, but it is declared with internal access. This prevents external apps from calling it to check whether a document line is already attached to a billing line.
This function is used internally to guard deferral code assignments, control UI element visibility, and block certain operations on lines that are part of a billing contract. ISV partners and other extensions often need the same information — for example, to conditionally show/hide custom actions, validate custom fields, or integrate their own posting logic — but currently have no supported way to retrieve it.
Expected behavior
Current:
// SalesLine.TableExt.al
internal procedure IsLineAttachedToBillingLine(): Boolean
// PurchaseLine.TableExt.al
internal procedure IsLineAttachedToBillingLine(): Boolean
Both procedures are internal and therefore only callable from within the Subscription Billing app.
Expected:
// SalesLine.TableExt.al
procedure IsLineAttachedToBillingLine(): Boolean
// PurchaseLine.TableExt.al
procedure IsLineAttachedToBillingLine(): Boolean
Steps to reproduce
Not applicable
Additional context
The access modifier should be changed to public (i.e., the internal keyword removed) so that external extensions can call these procedures on a Sales Line or Purchase Line record to determine whether the line is already linked to a billing line.
I will provide a fix for a bug