Why do you need this change?
In 4PS Construct we need to build list of possible invoice number matching from payment description of 'Description and Sundries' type CBG Statement Line. We also need to skip the standard SplitAccountNumber logic which only extracts bank account numbers and discards anything that doesn't validate as one.
There are no other standard events which can be used for this purpose.
IsHandled parameter is needed because the base logic gate (CheckBankAccNo) would discard text that doesn't look like a bank account number — which is exactly the payment reference / invoice number text the subscriber needs. The two purposes (bank account lookup vs. document string accumulation) are mutually exclusive; allowing both to run would corrupt both.
Procedure SplitAccountNumber fires once per "Description and Sundries" CBGStatementLineAddInfo record — typically several times per statement line during batch reconciliation. The handler is pure in-memory string concatenation, no DB access. Negligible performance impact.
strBuf contains payment description text (partial IBANs, payment references, invoice numbers) already stored in CBG Statement Line Add. Info. and is passed by value — subscribers cannot modify the source. No broader exposure than existing table access.
The risk of future subscriber also appending to OnBeforeSplitAccountNumber with the same raw text and causing duplicate content is detectable at code review.
Describe the request
Dear ALAppExtensions team,
On behalf of 4PS I would like to request integration event 'OnBeforeSplitAccountNumber' to be added to procedure SplitAccountNumber of codeunit 11000006 "CBG Statement Reconciliation".
procedure SplitAccountNumber(strBuf: Text[250])
var
AccNo: Text[30];
IsHandled: Boolean; //new
begin
OnBeforeSplitAccountNumber(strBuf, IsHandled); //new
if not IsHandled then //new
if LocalFunctionalityMgt.CheckBankAccNo(CopyStr(strBuf, 1, 30), '', AccNo) then
AddPossibleBankAccount(AccNo);
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeSplitAccountNumber(strBuf: Text[250]; var IsHandled: Boolean)
begin
//new
end;
Why do you need this change?
In 4PS Construct we need to build list of possible invoice number matching from payment description of 'Description and Sundries' type CBG Statement Line. We also need to skip the standard SplitAccountNumber logic which only extracts bank account numbers and discards anything that doesn't validate as one.
There are no other standard events which can be used for this purpose.
IsHandled parameter is needed because the base logic gate (CheckBankAccNo) would discard text that doesn't look like a bank account number — which is exactly the payment reference / invoice number text the subscriber needs. The two purposes (bank account lookup vs. document string accumulation) are mutually exclusive; allowing both to run would corrupt both.
Procedure SplitAccountNumber fires once per "Description and Sundries" CBGStatementLineAddInfo record — typically several times per statement line during batch reconciliation. The handler is pure in-memory string concatenation, no DB access. Negligible performance impact.
strBuf contains payment description text (partial IBANs, payment references, invoice numbers) already stored in CBG Statement Line Add. Info. and is passed by value — subscribers cannot modify the source. No broader exposure than existing table access.
The risk of future subscriber also appending to OnBeforeSplitAccountNumber with the same raw text and causing duplicate content is detectable at code review.
Describe the request
Dear ALAppExtensions team,
On behalf of 4PS I would like to request integration event 'OnBeforeSplitAccountNumber' to be added to procedure SplitAccountNumber of codeunit 11000006 "CBG Statement Reconciliation".