INCR

Increment a numeric variable

WTSupported in traditional Synergy on Windows
WNSupported in Synergy .NET on Windows
USupported on UNIX
VSupported on OpenVMS
INCR variable

Arguments

variable

A variable whose value is to be incremented by 1. (n)

Discussion

The INCR statement increases the value of a specified variable by 1.

If the incremented value of variable overflows its size, variable is set to its zero representation. For example, the following code fragment increments dvar from 9 to 0, because dvar is a d1 field instead of a d2.

record
    dvar   ,d1  ,9
proc
    incr dvar
Tip

It is more efficient to use the INCR statement than to add 1 to a variable.

Note

With integer values, if the variable has the maximum value for its size, the following statements has different results:

incr ivar
ivar = ivar + 1

In the example below, i1 = i1 + 1 is equivalent to i1 = 128 which results in -128. See Moving integer data to an integer destination for more information.

record
    i1    ,i1,   127 ;Max value for an i1 field

proc
    incr i1                     ;Result is 0
    i1 = 127
    i1 = i1 + 1                 ;Result is -128

The following statement “rolls” the value to zero. Doing so maintains consistency with the behavior of decimal variables, which may be used as counters and may depend on this property.

incr i1

See also

DECR statement

Examples

record
    ifld        ,i2     ,20
    dfld        ,d4     ,20
    idfld       ,d4.2   ,20.00
proc                                    ;Incremented result is:
    incr ifld                           ;21
    incr dfld                           ;21
    incr idfld                          ;21.00