L_QUEUE

Queue commands for a list

WSupported on Windows
USupported on Unix
VSupported on OpenVMS
NSupported in Synergy .NET
xcall L_QUEUE(list_id[, request, ...])

Arguments

list_id

The ID of the list. (n)

request

(optional) One or more of the possible requests passed to L_PROCESS. (See the list of requests in L_PROCESS.) (n)

Discussion

L_QUEUE queues requests for the L_PROCESS subroutine. When queued requests are executed, note the following rules:

Examples

The following example will move to the bottom of the list before processing the append request passed directly to L_PROCESS. This example does not use a load method, so it must honor load requests.

xcall l_queue(list_id, D_LBOTTOM) ;Queue a bottom request
req = D_LAPPEND                   ;Insert at the end
call process                      ;Process the requests
process,
  do
    begin
      xcall l_process(list_id, req, list_rec)
      case req of
        begincase
;D_LLOADBOT:
             call load     ;Load requested item
;D_LLOADTOP:
             req = D_LEOF  ;Tell L_PROCESS "none available"
;D_LABORT:
             req = D_LNOP  ;Force exit from this loop
        endcase
    end
  until (req.eq.D_LNOP)
  return

The routine would be simplified by using a load method:

xcall l_queue(list_id, D_LBOTTOM)
req = D_LAPPEND
xcall l_process(list_id, req, list_rec)
return