Hallo Klaus,

anstelle VHREGD direkt zu verwenden könntest Du DIGITS(VHREGD) nehmen

also
SELECT digits(VHREGD), decimal(substr(digits(VHREGD), 5, 4)),
decimal(substr(digits(VHREGD), 3, 2)), decimal(substr(digits(VHREGD), 1, 2)) FROM vphisp WHERE vhdisc = '12'

Gruß,
Christian