-
Notifications
You must be signed in to change notification settings - Fork 49
Description
Sofern mehr als 100 vorgemerkte Umsätze existieren, kommt es zu einer 3040 Exception bei der Sparkasse.
Beispiel Code:
$from = Carbon::now()->subDay()->startOfDay();
$to = Carbon::now()->endOfDay();
$statement = GetStatementOfAccount::create($oneAccount, $from, $to, false, false); // includeUnbooked = false (default)
$fints->execute($statement);
Exception Details:
InvalidArgumentException
Unexpectedly multiple matches for Rueckmeldungscode 3040
/vendor/nemiah/php-fints/lib/Fhp/Segment/HIRMS/FindRueckmeldungTrait.php:20
- "Fhp\\Segment\\HIRMS\\Rueckmeldung": "3040 (wrt seg 3): Es liegen zu viele vorgemerkte Umsätze vor."
- "Fhp\\Segment\\HIRMS\\Rueckmeldung": "3040 (wrt seg 3): Eine Bereitstellung ist technisch nicht möglich."
Bank: Sparkasse
HIKAZS Version: 5 (HKKAZv5)
Das Problem tritt nur auf, wenn mehr als 100 vorgemerkte Umsätze existieren.
Eine Paginierung via Aufsetzpunkt scheint leider nicht möglich zu sein, da die Exception schon im ersten execute entsteht.
Auch die Anpassung des Zeitraumes bringt erst Abhilfe, wenn ein Zeitraum älter als 3 Tage gewählt wird.
Der Abruf via anderer FinTS Clients ist problemlos möglich. In der Implementierung konnte ich bereits herausfinden, dass includeUnbooked erst nach dem Abruf gefiltert wird, sodass der Fehler unabhängig von dem bool-Wert entsteht.
Gibt es hier einen Lösungsansatz? (Paginierung der vorgemerkten Umsätze oder das Ausschließen der vorgemerkten Umsätze via Bank anstelle der nachträglichen Filterung in PHP)