Previous Topic: #GETQUE SyntaxNext Topic: #GETQUE Status Codes


#GETQUE Parameters

RECORD=

Specifies the location to which the system will return the requested queue record.

return-queue-data-location-pointer

A register that points to the area or the symbolic name of the area.

RECLEN=

Specifies the length of the area defined by the RECORD parameter and, if provided in the form of a user-defined variable field name, assigns an area into which the system will place the actual length of the retrieved queue record.

queue-data-max-length

Specifies the length of the data area associated with the requested queue record. It is a register that contains the length or an absolute expression.

queue-data-length

A symbolic user-defined field, specifies a two-fullword area that is subdivided into two fullwords. The first fullword contains the length of the data area associated with the requested queue record. The system returns the actual length of the retrieved queue record to the second fullword. If the record length is provided in register notation or as an absolute expression, a two-fullword area as defined by queue- data-length will be built dynamically at runtime in the sixth and seventh fullwords of the parameter list.

PLIST=

Specifies the location of the seven-fullword storage area in which the system will build the #GETQUE parameter list.

SYSPLIST

(Default); is the symbolic name of the storage area in which the system F builds the #GETQUE parameter list.

parameter-value-list-pointer

A register that points to the area or the symbolic name of the area.

QUEID=

Specifies the 1- to 16-character ID of the queue associated with the record to be retrieved.

queue-id-pointer

A register that points to a field that contains the ID, the symbolic name of a user-defined field that contains the ID, or the ID literal enclosed in quotation marks. If the queue ID is not specified, a null queue ID (16 blanks) is assumed.

LOC=

Specifies the queue record to be retrieved:

NEXT

(Default); retrieves the next record in the queue. If currency in the queue has not been established, NEXT is equivalent to FIRST.

FIRST

Retrieves the first record in the queue.

LAST

Retrieves the last record in the queue.

PRIOR

Retrieves the prior record in the queue. If currency in the queue has not been established, PRIOR is equivalent to LAST.

(NTH,sequence)

Retrieves the nth record in the queue as defined by sequence. Sequence is a register that points to a field that contains the record sequence number (n), the symbolic name of a user-defined field that contains the number, or an absolute expression. (Within each queue, records are assigned numbers beginning with 1, not 0.)

(QRID,queue-record-id)

Retrieves the record identified by queue-record-id. Queue-record-id is a register that points to a field that contains the queue record id, the symbolic name of a user-defined field that contains the id, or an absolute expression.

DISP=

Specifies the disposition of the queue record after it is passed to the requesting program.

DELETE

(Default); deletes the record from the queue. If DELETE is specified and the record is truncated, some data may be lost.

KEEP

Keeps the record in the queue.

RTNQRID=

Specifies the location in the program to which the system will return the system-assigned ID of the retrieved queue record. The returned ID can be saved and used to retrieve or delete the queue record.

(1)

(Default); the register to which the system will return the queue record ID.

return-queue-record-id

A register or the symbolic name of a fullword user-defined field to which the system will return the queue record ID.

OPTION=

Specifies whether to retain a lock on the current queue record and whether the issuing task suspends execution if the requested record cannot be accessed in the queue:

LOCK/NOLOCK

These parameters have been non-functional since CA IDMS Release 12.0. They are included as parameters for release compatibility. Queue record locking is performed as part of the standard database locking routines since CA IDMS Release 12.0.

NOWAIT

Continues task execution in the event of a nonexistent queue. The system returns a value of X'0C' to register 15 in the event that the requested queue does not currently exist.

WAIT

Suspends task execution until the requested queue exists.

COND=

Specifies whether the #GETQUE is conditional and under what conditions control should be returned to the issuing program:

NO

(Default); specifies that the request is not conditional.

ALL

Specifies that the request is conditional. Control is returned if the request cannot be serviced for any of the reasons listed below.

condition

Specifies conditions under which the system returns control to the program. Multiple conditions must be enclosed in parentheses and separated by commas.

NQID

The queue ID cannot be found.

NRID

The queue record cannot be found.

IOER

An I/O error occurs while processing the request.

INVP

The parameter list built for the #GETQUE is invalid. A list of conditions must be enclosed in parentheses. If multiple conditions are specified, each is separated from the previous one by a comma.

NQIDXIT=no-queue-id-label

Specifies the symbolic name of the routine to which control should be returned if the #GETQUE request cannot be serviced because the header record identified by the QUEID parameter cannot be found.

NRIDXIT=no-queue-record-id-label

Specifies the symbolic name of the routine to which control should be returned if the #GETQUE request cannot be serviced because the queue record ID cannot be found.

IOERXIT=i/o-error-label

Specifies the symbolic name of the routine to which control should be returned if the #GETQUE parameter cannot be serviced because of an I/O error.

INVPXIT=invalid-parameter-list-label

Specifies the symbolic name of the routine to which control should be returned if the #GETQUE cannot be serviced because of an invalid parameter in the parameter list.

ERROR=error-label

Specifies the symbolic name of the routine to which control should be returned if a condition specified in the COND parameter occurs for which no other exit routine was coded.