Divides an ABL data element by a numeric expression. Provides a shorter syntax for applying division.

Syntax

field /= expression [ NO-ERROR ]

field /= expression is equivalent to field = field / (expression).

Note: Spaces are required around the assignment operator. You cannot write field/=expression.
Note: This syntax can also be used in the ASSIGN, BUFFER-COPY, SET, and UPDATE statements.
field
The name of an ABL data element by which you want to divide the value of expression, and that is defined with a data type that is compatible with the data type of expression. Valid data types are INTEGER, INT64, and DECIMAL. The data element can include:
  • A database or temp-table field
  • A variable scoped to the current procedure, user-defined function, or method of a class, or an accessible class-based variable data member, including a subscripted array variable
  • A parameter defined for the current procedure, user-defined function, or method of a class, including a subscripted array parameter
  • A writable class-based or COM property, including a subscripted array property
  • A writable handle attribute or system handle attribute
  • ABL syntax that specifies the CURRENT-VALUE statement, DYNAMIC-CURRENT-VALUE statement, DYNAMIC-PROPERTY statement, EXTENT statement, or LENGTH statement
expression
An expression with a data type that is consistent with the data type of field.
NO-ERROR
The NO-ERROR option is used to prevent the statement from raising ERROR and displaying error messages. With the NO-ERROR option, if ERROR is raised, then the ABL element on the left-hand side of the assignment is unchanged.
Note: For more information on the rules related to assignment, see the notes section in the Assignment (=) statement reference entry.

Examples

The following example shows how to do integer division using the /= assignment operator.

VAR INT i1 = 100.
VAR INT i2 = 50.

i1 /= i2.  // 2

/* Equivalent statement
i1 = i1 / i2.        */

The following example uses the /= assignment operator on variables with mixed numeric data types.

VAR INT64 i1 = 1000.
VAR INT i2 = 100.
VAR DECIMAL d1 = 50.5.

i1 /= i2 + d1.  // 7

/* Equivalent statement
i1 = i1 / (i2 + d1). */

The following example uses the /= assignment operator to update a database field.

VAR DECIMAL limitDecrease = 2.

FIND FIRST customer.
Customer.CreditLimit /= limitDecrease.

/* Equivalent statement
Customer.CreditLimit = Customer.CreditLimit / limitDecrease. */

The following example uses the /= assignment operator to update a class property:

VAR ClassA myObj.
VAR INTEGER myValue = 10.

myObj = NEW ClassA().
myObj:MyIntProp  = 250.
myObj:MyIntProp /= myValue.  // 25

/* Equivalent statement
myObj:MyIntProp = myObj:MyIntProp / myValue. */

See also

Assignment (=) statement, ASSIGN statement, / Division operator