Пример
В примере ниже примере заданный материал считывается из таблицы (WMAT.TAB) и сохраняется в виде текста в QS-параметре. В примере ниже показано возможное использование и необходимые для этого шаги по программированию.
Тексты из QS-параметров можно использовать далее, например при помощи функции FN 16, в собственных файлах протоколов.
0 BEGIN PGM SQL_READ_WMAT MM | |
1 SQL Q1800 "CREATE SYNONYM my_table FOR 'TNC:\table\WMAT.TAB'" | ; создание синонима |
2 SQL BIND QS1800 "my_table.WMAT" | ; привязка QS-параметра |
3 SQL QL1 "SELECT WMAT FROM my_table WHERE NR==3" | ; определение поиска |
4 SQL FETCH Q1900 HANDLE QL1 | ; выполнение поиска |
5 SQL ROLLBACK Q1900 HANDLE QL1 | ; завершение транзакции |
6 SQL BIND QS1800 | ; удаление привязки параметра |
7 SQL Q1 "DROP SYNONYM my_table" | ; удаление синонима |
8 END PGM SQL_READ_WMAT MM |
Шаг | Объяснение | |
---|---|---|
1 | Создание синонима | Пути к файлу присваивается синоним (длинный путь заменяется коротким именем)
|
2 | Привязка Q-параметров | Столбец таблицы связывается с параметром QS
|
3 | Определение поиска | Определение поиска содержит передаваемое значение
|
4 | Поиск | Система ЧПУ выполняет процедуру поиска
|
5 | Завершение транзакции | Транзакция завершается, а используемые ресурсы высвобождаются |
6 | Снятие привязки параметров | Привязка столбца таблицы к QS-параметру сбрасывается (высвобождение необходимых ресурсов) |
7 | Удаление синонима | Синоним снова удаляется (высвобождение необходимых ресурсов) |
Синоним представляет единственную альтернативу для нужного абсолютного пути к файлу. Ввод относительного пути к файлу невозможен.
Нижеприведённая программа показывает ввод абсолютного пути к файлу
0 BEGIN PGM SQL_READ_WMAT_2 MM | |
1 SQL BIND QS 1800 "'TNC:\table\WMAT.TAB'.WMAT" | ; привязка QS-параметра |
2 SQL QL1 "SELECT WMAT FROM 'TNC:\table\WMAT.TAB' WHERE NR ==3" | ; определение поиска |
3 SQL FETCH Q1900 HANDLE QL1 | ; выполнение поиска |
4 SQL ROLLBACK Q1900 HANDLE QL1 | ; завершение транзакции |
5 SQL BIND QS 1800 | ; удаление привязки параметра |
6 END PGM SQL_READ_WMAT_2 MM |