OK, da habe ich mich etwas vertan. Es ist genau anders herum !
Fehlt die Angabe *VARCHAR werden in ILE die Felder als *VARY automatisch definiert.
Mit Angabe *VARCHAR werden die Felder als feste Felder definiert, wobei allerdings die Stellen 1-2 die Länge des Inhaltes als 2-Byte-Binärfeld enthält und im Programm selber verwaltet werden muss.

Bei RPG wurden VARLEN-Felder entweder nicht übernommen (ggf. Fehler bei der Umwandlung) oder als Felder fester Länge definiert.

Zu beachten ist bei Umstellung von RPG auf RPGLE also folgendes (insbesonders wenn CVTRPGSRC verwendet wurde):
Wurde RPG mit *VARCHAR umgewandelt, muss das auch mit dem umgestellten Programm gemacht werden, da sonst die ggf. vorhandene Selbstverwaltung der Längeninformation nicht funktioniert.
Bei neuen ILERPG's kann dies entfallen, da die Längeninfo automatisch verwaltet wird. Sollten allerdings Copy's verwendet werden, die sich auf *VARCHAR verlassen, so ist das entsprechend zu berücksichtigen.

Auch bei Programmaufrufen / Programmparametern mit *VARY-Feldern ist entsprechend aufzupassen.