Skip to main content

This is documentation for Caché & Ensemble.

For information on converting to InterSystems IRIS, see the InterSystems IRIS Adoption Guide and the InterSystems IRIS In-Place Conversion Guide, both available on the WRC Distributions page (login required).

Previous sectionNext section

ProcedureBlock

Specifies whether this method is a procedure block. Applies only if the method is written in ObjectScript.

Usage

The class definition specifies whether methods in the class are procedure blocks by default. To override that default, and specify that a given method is a procedure block, use the following syntax:

Method name(formal_spec) As returnclass [ ProcedureBlock ]
{
   //implementation
}

Or (equivalently):

Method name(formal_spec) As returnclass [ ProcedureBlock=1 ]
{
   //implementation
}

Otherwise, to specify that a given method is not a procedure block, use the following syntax:

Method name(formal_spec) As returnclass [ ProcedureBlock=0 ]
{
   //implementation
}

Details

This keyword specifies that an ObjectScript method is a procedure block.

Within ObjectScript, methods can be implemented as procedure blocks or not. Procedure blocks enforce variable scoping: methods cannot see variables defined by their caller. New applications use procedure blocks; non-procedure blocks exist for backwards compatibility.

Default

If you omit this keyword, the value of the class-level ProcedureBlock keyword is used.

See Also