Hier ist noch ein Lösungsbeispiel in fully free. (Ich habe es aber nicht ausprobiert)

dcl-s MyFormat1DS likeds(MyFormat1);
dcl-s MyFormat2DS likeds(MyFormat2);


exec sql declare C1 cursor for select * from MyLogicalFile;


exec sql open C1;


dow sqlstate = '00000';
exec sql fetch C1 into :MyFormat1DS, :MyFormat2DS;
if sqlstate = '00000';
// Verarbeiten des gelesenen Datensatzes
endif;
enddo;


exec sqlclose C1;
[/CODE]