... ums noch genauer zu beschreiben:
var = 'select ...'
prepare s1 from :var
decalare c1 cursor for s1
allocate descriptor 'xxx' ...
describe s1 using descriptor 'xxx'
open c1
fetch c1 into sql descriptor 'xxx'
// anzahl der spalten abrufen
get descriptor 'xxx' :count = count
dann in einer Schleife für jede Spalte (i = Spaltennummer):
get descriptor 'xxx' value :i :type=type, ...
und dann wie oben von mir schon beschrieben mit
get descriptor 'xxx' value :i :vdata = data