Ваша вторая when
фраза является отрицанием первой.Каждая фраза when
должна использоваться, чтобы определить, когда оператор search
должен завершиться.По сути, вы говорите, что поиск заканчивается, если em-rec-no
не соответствует первой записи таблицы.
Измените код, чтобы соответствовать этому.
50-process-table-records.
set data-index to 1.
search ws-table-element
at end
move 'Operator Not Found' to detail-line-type
when (ws-operator-number(data-index) = emp-rec-num)
move ws-operator-type(data-index) to detail-line-type
move ws-operator-province(data-index)
to detail-line-province
end-search.
Не зная, как 50-process-table-records
используется, я не могу сказать, решит ли это проблему печати одних и тех же данных 13 раз.