Упражнение 3.7: Добавление фильтра для таблицы PurchaseOrder
Задание 4 – Добавления фильтра для таблицы PurchaseOrder
Теперь добавим в процедуру access_dsPO_procs.p ещё немного кода с использованием фильтра для таблицы PurchaseOrder в наборе данных. В первую очередь мы очистим набор данных, а новое содержимое набора сохраним в отдельный файл.
Шаг | Действие |
1 | Очистите набор данных выполнив метод EMPTY-DATASET(). Следующий оператор следует добавить сразу после оператора закрытия файла OUTPUT CLOSE из предыдущего примера.
DATASET dsPO:EMPTY-DATASET (). |
2 | Добавьте оператор вызова процедуры get_dsPO со строкой фильтра в качестве первого входящего параметра и пустой строкой в качестве второго входящего параметра. Третий параметр – это возврат набора данных dsPO. В качестве первого фильтра должно быть условие «PONum < 10000».
RUN get_dsPO IN hProc ("PONum < 10000","",OUTPUT DATASET dsPO). |
3 | Добавьте оператор вывода в файл.
OUTPUT TO "C:\OpenEdge\WRK\ProDataSets\log\dsPO_OneFilter.txt". |
4 | Скопируйте и вставьте код из с вложенными блоками FOR EACH из предыдущего примера:
FOR EACH ttPurchaseOrder: DISPLAY ttPurchaseOrder.PONum ttPurchaseOrder.DateEntered ttPurchaseOrder.SupplierIDNum ttPurchaseOrder.ReceiveDate WITH 1 COLUMN STREAM-IO. FOR EACH ttPOLine OF ttPurchaseOrder: DISPLAY ttPOLine.PONum ttPOLine.LineNum ttPOLine.ItemNum ttPOLine.Price ttPOLine.Qty ttPOLine.Discount ttPOLine.ExtendedPrice WITH WIDTH 150 STREAM-IO. END. END. |
5 | Закройте вывод в файл.
OUTPUT CLOSE. |