Skip to content

Fehler 3040 bei zu vielen vorgemerkten Umsätzen #478

@linushstge

Description

@linushstge

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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions