Herzlichen Gückwunsch zu meinem 5000. Beitrag.
Falls du Interesse an der Stunde hast, ruf einfach an. Ich rufe auch gerne zurück.

Die Lösung, die ich auch benötigte, war leider nicht ganz trivial, dann allerdings ganz einfach.

%editw ist hier die Lösung !

evalr s = %editw(x:'0_____');
(_ = Leerzeichen)

Wo ist der Trick ?
Um führende Nullen zu bekommen, kann man mit der "0" die Signifikanz einschalten, allerdings gilt dies erst für das nachfolgende Zeichen, so dass diese Stelle trotzdem leer bleibt.
Die nachfolgenden Leerzeichen (pro Digit eins) bereiten den Wert nun auf, der allerdings genau 1 Stelle zu groß ist !
Das wird nun durch den "evalr" (rechtsbündig) wieder ausgeglichen.
Sollte das Zielfeld aus irgendwelchen Gründen doch größer sein, muss man sich mit %subst behelfen:

eval s = %subst(%editw(x:'0_____'):2:5);

@Ronald
Ich benötigte eine Aufbereitung in der Form "+0000000.00", die in COBOL ja standard ist, in RPG aber Schwierigkeiten bereitet. Dazu funktioniert dann mein obiger Weg.