unter V7R1 versuche es mal hiermit.
DCL VAR(&c_str) TYPE(*char) LEN(2)
DCL VAR(&c_strOrg) TYPE(*char) LEN(1024)
DCL VAR(&n_posB) TYPE(*dec) LEN(4 0)
DCL VAR(&n_posE) TYPE(*dec) LEN(4 0)
DCL VAR(&n_len) TYPE(*dec) LEN(4 0)

chgvar &c_strOrg value('1234 ABCS ZHDIK KHJHJDLK')
chgvar &c_str value(' ')
chgvar &n_PosB value(0)
chgvar &n_PosE value(1)

dowhile (1=1)
chgvar &n_PosB value(%scan(&c_str &c_StrOrg &n_pose))
if cond(&n_posb = 0) then(leave)
if cond(&n_posb = &n_pose + 1) then(leave)

chgvar var(&n_len) value(&n_posb - &n_pose)

if cond(%sst(&var1 1 1)) = ' ') then(do)
chgvar var(&var1) value(%sst(&sec &n_posE &len))
chgvar var(&pose) value(&posb + 1)
iterate
enddo
if cond(%sst(&var2 1 1)) = ' ') then(do)
chgvar var(&var2) value(%sst(&sec &n_posE &len))
chgvar var(&pose) value(&posb + 1)
iterate
enddo
if cond(%sst(&var3 1 1)) = ' ') then(do)
chgvar var(&var3) value(%sst(&sec &n_posE &len))
chgvar var(&pose) value(&posb + 1)
iterate
enddo
if cond(%sst(&var4 1 1)) = ' ') then(do)
chgvar var(&var4) value(%sst(&sec &n_posE &len))
chgvar var(&pose) value(&posb + 1)
iterate
enddo
enddo

VG