Es gibt auch die Möglichkeit des DESCRIPTOR.
Da kannst du völlig dynamisch dein SQL zusammenbasteln und einlesen.
Das Einlesen einzelner Werte würde wie folgt aussehen:
Code:
 ...
if vresult_ind >= 0;

  Select;
  When vtype = '1';
    // Character 
    exec Sql GET DESCRIPTOR 'mydesc' VALUE :i :sp2 = DATA;
  
  When vtype = '4';
    // Integer 
    exec Sql GET DESCRIPTOR 'mydesc' VALUE :i :sp1 = DATA;
  endsl;
  
endif;
Damit brauchst du die Spalten nicht alle Definieren, du musst halt nur aufpassen dass du für jedes Feld eine passende Variable zur Verfügung hast.

lg Andreas