Skip to content

Support HKWPD/HIWPD/HIWPDS version 6 for the depot statement - #598

Merged
nemiah merged 1 commit into
nemiah:masterfrom
fds2610:depot-statement-v6
Oct 29, 2026
Merged

nemiah merged 1 commit into
nemiah:masterfrom
fds2610:depot-statement-v6

Conversation

@fds2610

@fds2610 fds2610 commented Sep 30, 2026

Copy link
Copy Markdown
Contributor

GetDepotAufstellung (HKWPD) only knew version 5. DKB announces the parameter segment only in version 6 (HIWPDS:60:6:3+1+1+0+N:N:N), so requesting the depot statement failed with

The server does not support any HIWPDS versions implemented in this library

even though the depot is listed in the UPD with HKWPD:1 as an allowed business transaction.

Changes

  • New segments HKWPDv6, HIWPDv6, HIWPDSv6. Compared to version 5, the parameter segment has the Sicherheitsklasse again (so it extends BaseGeschaeftsvorfallparameter instead of the Old variant). The request declares aufsetzpunkt, which HKWPDv5 sets as a dynamic property.
  • GetDepotAufstellung builds HKWPDv6 for version 6 and collects HIWPDv5 as well as HIWPDv6 responses.
  • New HKWPDTest (parameters as sent by DKB, request serialization incl. pagination token).

Testing

Full PHPUnit suite passes. I also ran a real depot statement against DKB and a second bank with this change; both returned the holdings.

This is (partly) generated code and I as human vouch for it's correctness.
I am using this code in my own repo. If something breaks, i'll fix it. Greets, Felix

DKB announces HIWPDS only in version 6, so GetDepotAufstellung failed with
'The server does not support any HIWPDS versions implemented in this library'.
Also declares the pagination token for the new request segment.
@nemiah
nemiah merged commit 4b18540 into nemiah:master Oct 29, 2026
7 checks passed
nemiah pushed a commit that referenced this pull request Nov 2, 2026
The baseline of #603 was generated before #594, #598 and #601 were merged,
so master reports 19 errors. They are fixed in the code instead of being
added to the baseline:

- Return types for the new test methods and HKWPDv6::setPaginationToken().
- Array value types for GetSEPAAccounts::__serialize()/__unserialize() and
  the CAMT data provider.
- GetSEPAAccountsTest builds the UPD from HIUPDv6 segments, as UPD::$hiupd
  expects.
- HIUPDTest converts its examples in a typed helper (self:: instead of
  static::), which also clears the six baselined parse() errors.
- Drop the two CAMT baseline entries that #601 made obsolete.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants