Пример

В примере ниже примере заданный материал считывается из таблицы (WMAT.TAB) и сохраняется в виде текста в QS-параметре. В примере ниже показано возможное использование и необходимые для этого шаги по программированию.

 
Tip

Тексты из 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

Создание синонима

Пути к файлу присваивается синоним (длинный путь заменяется коротким именем)

  • Путь к файлу TNC:­\table­\WMAT.TAB всегда находится в кавычках
  • Выбранный синоним звучит my_table

2

Привязка Q-параметров

Столбец таблицы связывается с параметром QS

  • QS1800 свободно доступен в управляющей программе
  • Синоним заменяет ввод всего пути
  • Заданный столбец таблицы называется WMAT

3

Определение поиска

Определение поиска содержит передаваемое значение

  • Локальный параметр QL1 (выбирается свободно) служит для идентификации транзакции (одновременно возможны несколько транзакций)
  • Синоним определяет таблицу
  • Ввод WMAT определяет столбец таблицы при чтении
  • Ввод NR и ==3 определяет строку таблицы при считывании
  • Выбранный столбец и строка определяют ячейку для чтения

4

Поиск

Система ЧПУ выполняет процедуру поиска

  • SQL FETCH копирует значение из Result-set в связанный параметр Q или QS
    • 0 успешное чтение
    • 1 ошибка чтения
  • Синтаксисом HANDLE QL1 является транзакция, обозначенная параметром QL1
  • Параметр Q1900 является возвращаемым значением для контроля чтения данных

5

Завершение транзакции

Транзакция завершается, а используемые ресурсы высвобождаются

6

Снятие привязки параметров

Привязка столбца таблицы к QS-параметру сбрасывается (высвобождение необходимых ресурсов)

7

Удаление синонима

Синоним снова удаляется (высвобождение необходимых ресурсов)

 
Tip

Синоним представляет единственную альтернативу для нужного абсолютного пути к файлу. Ввод относительного пути к файлу невозможен.

Нижеприведённая программа показывает ввод абсолютного пути к файлу

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