Previous Topic: PUBSTACK()

Next Topic: PUSH()

PULL()

Use the PULL() function to remove records from any stack belonging to any IMOD. PULL() is a destructive operation.

Syntax

The PULL() function has this syntax:

record = PULL([stack],[owner],[cntl])

Arguments

The PULL() function takes these arguments:

record

Returned data or error text.

stack

Number of the stack to be referenced.

Default: If a local stack is referenced, the current stack (as set by the SWAPSTAK() function); otherwise, the value is set by the owning IMOD task using the PUBSTACK(DEFAULT) function.

owner

IMOD ID of the stack's owner (for external reference). This value can be obtained from the variable imod_id in the owning IMOD task. It is also the value returned by the SPAWN() function.

Default: Current IMOD task.

cntl

Name of a variable to receive the control information stored with the record.

Default: Control information is not retrieved.

Usage Notes

Return Codes

The PULL() function produces these return codes:

101 - 103 ARG n INVALID

122 RECORD NOT FOUND

125 SPECIFIED IMOD NOT FOUND

126 STACK NOT SPECIFIED AND NO DEFAULT

127 REQUESTED STACK DOES NOT EXIST

128 SPECIFIED IMOD/STACK NOT AUTHORIZED

Example

rec = pull()                /* A record is retrieved from the
                               current stack */
rec = pull(2)               /* A record is retrieved from local
                               stack 2 */
rec = pull(,453,'owner')    /* A record is retrieved from IMOD 
                               453's default stack. The control
                               information will be placed in the
                               variable named "owner" */