Aber hier hast du bzgl. des "abkupferns" das selbe Problem.
Hier wird ein Autocast mittels CHAR durchgeführt.
Übergibst du also mal TTMMJJJJ fehlt dir wieder die Vornull.

Und SQL stellt natürlich fest, dass du keinen String übergeben hast sondern einen numerischen Wert.
Dieser wird dann erst in Integer gewandelt und dann mittles cast in Char.

Wenn du es genau machen willst müsstest du auch einen String übergeben:

SETVAR((GRJJMT ('''' *cat &GRJJMT *cat '''')))