Удаление записи из временной таблицы
В некоторых случаях временная таблица, с которой вы работаете, может содержать больше данных, чем вы хотите вернуть клиенту. В таком случае вы можете удалить лишние записи.
Синтаксис удаления текущей записи:
delete <tt-name>.
<tt-name>, имя временной таблицы, из которой вы удаляете запись в пределах блока
Пример перебора и удаления
Рассмотрим полностью реализованный метод GetData (). Он считывает данные из файла JSON в набор данных dsCustomerBE. Если строка фильтра пуста, он просто возвращает набор данных клиенту. Если фильтр не пуст, он определяет диапазон номеров клиентов (используя переменные Num1 и Num2 ), для которых требуются данные. Перебирает записи ttCustomer. Если значение ttCustomer.Customer выходит за пределы допустимого диапазона, то запись ttCustomer удаляется. Набор данных возвращается клиенту с правильным подмножеством записей ttCustomer в наборе данных.
method public void GetData( input pFilter as character, output phds as handle ): define variable Num1 as integer no-undo. define variable Num2 as integer no-undo. phds = dataset dsCustomerBE:handle. phds:read-json("file", "C:\OpenEdge\WRK\myExample.json", "empty"). if pFilter <> "" then do: /* pFilter содержит : "CustNum >= Num1 AND CustNum <= Num2" Необходима фильтрация данных из набора данных, содержащих данные клиентов из указанного диапазона. */ ParseFilter(input pFilter, output Num1, output Num2). for each ttCustomer where ttCustomer.CustNum < Num1 or ttCustomer.CustNum > Num2: delete ttCustomer. end. end. return. end method.