The BSISRCDOC entry point is used to override the value of LSRCDOC.
In the context of the entry point:
There is no current transaction.
A trace file is open.
The BSISRCDOC entry point is called when collecting open items for matching.
There is no transaction in progress.
There is an open log file.
The following tables are available:
BSIIMP [BSIIMP]: Bank statement import
BSIIMPD [BSIIMPD]: Bank statement import detail
GACCDUDATE [DUD]: Open items
The current open item is available in [F:DUD].
The [L]LSRCDOC local variable is available to be updated with the new source document number.
If LSRCDOC is updated properly, [L]LFOUND should be updated to 1.
Otherwise [L]LFOUND should be 0.
The BSISRCDOC0 entry point is used to override the value of LSRCDOC before LSRCDOC is populated by the core from the invoice. It gives additional flexibility for specifics to improve performance with large datasets.
In the context of the entry point:
There is no current transaction.
A trace file is open.
The BSISRCDOC0 entry point is called when collecting open items for matching.
There is one transaction in progress.
There is an open log file.
The following tables are available:
BSIIMP [BSIIMP]: Bank statement import
BSIIMPD [BSIIMPD]: Bank statement import detail
GACCDUDATE [DUD]: Open items
The current open item is available in [F:DUD].
The [L]LSRCDOC local variable is available to be updated with the new source document number.
If LSRCDOC is updated properly, [L]LFOUND should be updated to 1, otherwise [L]LFOUND should be 0 and a core process updates LSRCDOC.
The BSIMTCDUDCRIT entry point is used to modify filtering criteria for open items in the matching process. The criteria can be amended in the CRITERE (basic criteria), CRITERE2 (BP criteria), and CRITERE3 (invoice criteria) local variables.
In the context of the entry point:
There is no current transaction.
A trace file is open.
The BSIMTCDUDCRIT entry point is called when preparing filtering criteria for open items for matching.
There is one transaction in progress.
There is an open log file.
The following table is available:
BSIIP [BSIIMPPAR]: Bank statement import settings
The following variables are available:
[L]CRITERE: Basic filtering criteria for open items
[L]CRITERE2: BP filtering criteria for open items
[L]CRITERE3: Invoice filtering criteria for open items
[L]IS_BPRTOT: Indicates that the BP total option is set and exactly one BP found
[L]BPY00: Array of BPs for payment
[L]INV00: Array of document numbers for payment
[L]S: Number of BPs found
[L]S1: Number of invoices found
The [L]CRITERE, [L]CRITERE2 and [L]CRITERE3 local variables are available to be updated with the desired filtering criteria based on the following:
Data provided in the [F:BSIIP] bank import settings.
Local variables described above.
Later the criterias are used to filter GACCDUDATE [F:DUD] to finish the matching process and update the BSIIMP and BSIIMPD tables for which the transaction is in progress.
The BSISRCDOCCRIT entry point is used to modify filtering criteria for open items in the matching process with the original document. Additional criteria can be applied using the CRIT_SRCDOC_SPE local variable (specific criteria).
In the context of the entry point:
There is no current transaction.
A trace file is open.
The BSISRCDOCCRIT entry point is called before collecting open items for matching with source documents.
There is one transaction in progress.
There is an open log file.
The following tables are available:
BSIIMP [BSIIMP]: Bank statement import
BSIIMPD [BSIIMPD]: Bank statement import detail
The specific filter is applied to GACCDUDATE [F:DUD].
The [L]CRIT_SRCDOC_SPE local variable is available to be updated or overwritten with the new specific filtering criteria.
Initially [L]CRIT_SRCDOC_SPE = "1=1" and if updated properly, it is evaluated on the [F:DUD] filter for open items, if not it is transparent for filtering.
Here is a filter block example from core source code:
Filter [F:DUD] Where evalue([L]CRIT_SRCDOC) and evalue([L]CRIT_SRCDOC_SPE)