Некоторые моменты по оформлению:
-разыменование обычно опускают:names.fields[i] = name;НЕ ВЕРНО
- при записи последовательности операторов (StatementSequence) не принято ставить в конце пустой оператор. Например, вместоIF a THEN b; c; <пустой оператор> ENDпишутIF a THEN b; c END