Na dann..

Benutze die Vorteile der AS/400... Wieso IF, wenn du es durch die Lese-Struktur gleich ausschliessen kannst:

VONKEY KLIST
KFLD FIRM
KFLD NDRL
KFLD VDAT

READKY KLIST
KFLD FIRM
KFLD NDRL

VONKEY SETLLFEADAX2
READKY READEFEADAX2 50
*IN50 DOWEQ*OFF
AAC015 ANDLEBDAT
EXSR F00
WRITEGBCLRGR
READKY READEFEADAX2 50
ENDDO

Damit wäre dein ganzer Lesezyklus drin.
Du verarbeitest über die direkten Key-Zugriffe nur die Daten, die du auch wirklich haben willst. Sparst dir also die IF´s, den Leave usw.

Die Geschichte mit allen Daten kann 2 Gründe haben:
Sind das wirklich Datumsfelder (d. H. in der DDS mit L und DATFMT(*ISO oder was auch immer)) definiert? Oder einfach 6 Stellen numerische Felder?

1. Bei Datumsfeldern solltest du darauf achten, dass in den H-Specs das richtige Datumsformat verwendet wird. Da ich aber nicht davon ausgehe, dass das so gehandelt ist, siehe 2.

2. Datum richtig gedreht? Denn dein eingehendes Datum ist ja in der Form TTMMJJ, aber dein Lesezugriff soll ja mit JJMMTT stattfinden. Geht am schnellsten über 1 DS mit 10 Stellen numerisch.

Am besten einfach mal im Debugger nachschauen. Und vielleicht nicht mit dem Datum 011201 arbeiten, da man dort kaum sieht, dass es gedreht wurde... *grins*

Grüsse Marcus