Упражнение 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. |

