Code durch
dcl-ds nullds;
nullflg int(5) dim(50);
END-DS;
ergänzt. Und die FETCH-Anweisung durch :NULLDS ergänzt. Jetzt kann ich das Programm nicht umwandeln, weil NULLDS nicht definiert oder verwendbar ist. Habe ich Deine D-Bestimmungen falsch in FREE umgesetzt? Was passiert, wenn es mehr als 50 Sätze werden? Warum überhaupt DIM(50)?