Exit from the ProcScript module, optionally returning a value to $status.

return  {Expression}

Example: return (0)


Parameter Data Type Description
Expression Any Expression that evaluates to any data type. The value is placed in $status (and automatically converted to a numeric if the data type is not numeric). To improve readability, parentheses () are often included as a part of Expression.

Return Values

Values returned in $status
Value Meaning
0 Expression is not present, or is converted from a data type that cannot be expressed as a number.
>0 Value of Expression if it evaluates to a numeric.

$procerror is 0.


Allowed in all component types.


The return statement exits from the ProcScript module, and returns the specified value.

If you use Expression to return a value, you should be aware that in many triggers, returning a negative value causes the cursor to remain in the field. For more information, see the descriptions of the individual triggers.

If the module was invoked by a statement, such as call or activate, the return value of the module is assigned to $status (and automatically converted to a numeric if the data type is not numeric).

If the module was invoked using an inline construction (such as an instance handle or a function argument), the return value is returned inline, and the value of $status keeps the value as set inside the ProcScript module. If this was not changed, it remains 0, which is the value set when the module was invoked.

Note:  For entries, you can specify the data type of the return value using the returns declaration before the parameters block. For operations, the return value of an operation is always Numeric.

Using return

The following example uses the return statement to prevent the user from quitting a modified form without confirming the action:

trigger quit
; check for modifications: if no changes
; end and set $status = 0
; return -1 prevents user from leaving form

if ($formmod = 0)
   askmess "Data modified! Do you want to store? (Y/N)"
   if ($status = 1)
      if ($status < 0)
         message "Store error number %%$status%%%"
         return (-1)
      return (0) ;leave form without storing
end ; quit
Version Change
9.6.02 If Expression is specified, it can evaluate to any data type, not just numeric. To make use of this change, you must recompile your code.

Related Topics