Ich weiß nicht, wofür du die ArrayDS brauchst. Kannst du nicht einfach einen Cursor über deine GeraeteDB machen?

Also in etwa so:

exec sql declare cursor csr1 select xx_key from GerateDB;
exec sql open csr1

dow sqlcod = 0;
exec sql fetch next from csr1 into :c#_key;
if sqlcod = 0;
insert into zuordnung (hier deine feldnamen) values( :kundennummer, :c#_key)
endif;
enddo;

exec sql close csr;

Dieter