Das passiert, weil Du direkt eine Zahl angibst. Diese Zahl wird als Integer interpretiert.
Mit Digits wird daraus: '0000001166'
Mit Char wird daraus: '1166' plus 6 folgende Blanks
Und beides kann nicht konvertiert werden.

Wenn Du die Zahl dagegen explizit als Decimal(6, 0) castest, funktioniert es mit Digits.
Mit Char funktioniert es allerdings weiterhin nicht, da die Ziffern linksbündig ausgerichtet und dann mit *Blanks aufgefüllt werden.

Birgitta