Упражнение 3.8: Добавление фильтров PurchaseOrder и POLine
Задание 5 – Добавления фильтров PurchaseOrder и POLine
Шаг | Действие |
1 | Очистите набор данных выполнив метод EMPTY-DATASET(). Следующий оператор следует добавить сразу после оператора закрытия файла OUTPUT CLOSE из предыдущего примера.
DATASET dsPO:EMPTY-DATASET (). |
2 | Добавьте оператор вызова процедуры get_dsPO со строкой фильтра «PONum < 10000» в качестве первого входящего параметра и строкой «Price < 1000» в качестве второго входящего параметра.
RUN get_dsPO IN hProc ("PONum < 10000","Price < 1000",OUTPUT DATASET dsPO). |
3 | Добавьте описание дополнительного буфера bPOLine для временной таблицы ttPOLine. Мы используем этот буфер для фильтрации записей в таблице ttPurchaseOrder.
DEFINE BUFFER bPOLine FOR ttPOLine. |
4 | Добавьте оператор вывода в файл.
OUTPUT TO "C:\OpenEdge\WRK\ProDataSets\log\dsPO_TwoFilters.txt". |
5 | Скопируйте и вставьте код с вложенными блоками FOR EACH из предыдущего задания:
FOR EACH ttPurchaseOrder, FIRST bPOLine OF 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. |
6 | Закройте вывод в файл.
OUTPUT CLOSE. |