Navigation:  Работа с переменными >

PUTQUE - Записать запись в очередь

Previous pageReturn to chapter overviewNext page

Записать запись в очередь:

 putque qname +field1,-field2,..... или putqueue qname +field1,-field2,.....

  qname  - имя очереди

  field      - имя поля (можно указать перед именем поля знак сортировки + или -)

Оператор PUTQUE записывает ранее полученную запись в QUEUE

 

Оператор PUTQUE после успешного выполнения оператора GETQUE или ADDQUE записывает содержимое буфера данных обратно в очередь в позицию, возвращенной процедурой POINTER. Если перед оператором PUTQUE не выполнялся оператор GETQUE или ADDQUE, то выдается сообщение об ошибке «Entry Not Found» (элемент не найден).

 

PUTQUE очередь имя

После успешно выполненного оператора GETQUE или ADDQUE возвращает элемент в упорядоченную очередь, сохраняя упорядоченность, если любые ключевые поля изменили свое значение. Строка имя должна содержать значения атрибутов NAME полей из структуры QUEUE, разделенных запятыми с необязательным знаком «+» или «-« спереди, означающим возрастающую или убывающую последовательность сортировки. Если в очереди имеется несколько элементов с данным значением поля, то записываемый элемент становится среди них последним.

 

PUTQUE очередь ключ

После успешно выполненного оператора GETQUE или ADDQUE возвращает элемент в упорядоченную очередь, сохраняя упорядоченность, если любые ключевые поля изменили свое значение. Может использоваться несколько (до 16-ти) параметров ключ, разделенных запятыми, с необязательным знаком «+» или «-» спереди, означающим возрастающую или убывающую последовательность сортировки. Если в очереди имеется несколько элементов с данным значением ключевого поля, то записываемый элемент становится среди них последним.

 

PUTQUE очередь

Записывает данные обратно в ту же самую относительную позицию внутри очереди, к которой обращался последний успешно выполненный оператор GETQUE или ADDQUE.

 

Выдаваемые сообщения об ошибках:                

05  Access Denied (доступ запрещен)

08  Insufficient Memory (недостаточно памяти)

30  Entry Not Found (элемент не найден)

33  Record Not Available (запись недоступна)

40  Creates Duplicate Key (создается повторяющееся значение ключа)

75  Invalid Field Type Descriptor (неправильный описатель типа поля)

89  Record Changed By Another Station (запись изменена другой рабочей станцией)

 

Пример:

DEFINE DATA

JQ QUEUE,PRE(JQ)

   a1 LONG

   a2 LONG

   s1 STRING(50)

END

ENDDEFINE

 

getqueue JQ 1

if expr [:QERRORCODE:]=0

setdata JQ '12','15','Строка текста'

putqueue JQ +JQ:a1

else

pause Ошибка чтения очереди: [:QERROR:]

endif

 

См. также: DEFINE DATA, GETQUE, ADDQUE, SORTQUE, POINTER, DELETEQUE