Ich hab folgende Zwischenstand, aber noch nichts verbessertes:

"VARLEN" hat keinen Einfluss genommen.
Ich hab aber CCSID(500) und CCSID(65535) auf zwei Testfeldern im DDS definiert. Aber auch das hat noch nicht wirklich was gebracht.

Das Perl selbst spricht die Datenbank nicht mit ODBC an (nicht vorhanden) sondern mit DBI:B2, also dem eigentlichen Treiber für DB2/400

Bei der Auswertung hab ich fetchrow_hashref (wie im Powerpointbeispiel) eingerichtet und mal $data->${DATENFELD} auswerten lassen.
Aufgrund des "$" Zeichens bekomme ich einen Hexadezimalenwert angezeigt (Hashwert?).
Der ist bei allen 3 Felder gleich, auch bei dem numerischen, der mir einen Wert (0x1df710) anzeigt.

Somit bin ich der Meinung das die Daten an sich ausgelesen werden. Da scheint eher Perl das Problem zu haben mir die Zeichenfelder anzuzeigen?