AMT Help Files

COMPUTE

Truncated

COBOL JAVA
COMPUTE Regular Java arithmetical expression OR multiply, add, subtract, divide

Syntax

<result> . assign ( <operand1> <operator1> <operand2> <operator2> <operand3> ... )
<result> . assign ( <operator function> ( <operand1> ( ) , <operand2> ( ) ) )

Parameter(s)

<result>
The variable to place the result of the computation in.

<operandN>
The operands to use in the computation.

<operatorN>
The operators to use in the computation. Must be one of +, -, * or /.

COBOL Operators
The COBOL operator ** for exponentiation is translated in Java into CalcPower(). Additions or subtractions with 2 integers (either variables or literals) will be translated as ADD or SUBTRACT respectively. See ADD or SUBTRACT.

Example(s)

COBOL Java
COMPUTE X = A * B + W
                
locDef.x.assign(locDef.a.getIntValue() * locDef.b.getIntValue() + locDef.w.getIntValue());
                
COMPUTE C = B - A
                
locDef.c.assign(subtract(locDef.b.getIntValue(), locDef.a.getIntValue()));
// OR
locDef.c.assign(locDef.b.getIntValue() - locDef.a.getIntValue());
                

Exponentiation

COBOL JAVA
COMPUTE .... ** calcPower

Syntax

<result> . assign (  calcPower ( <operand1> ( ) , <operand2> ( ) ) )

Parameter(s)

<result>
The variable to place the result of the exponential computation in.

<operandN>
The operands to use in the exponential computation.

Example(s)

COBOL Java
COMPUTE A = W ** X.
                
locDef.a.assign(calcPower(locDef.w.getIntValue(), locDef.x.getIntValue()));
                

Invert sign

COBOL JAVA
COMPUTE .... * -1 invertSign

Syntax

<variable>.invertSign ( )

Parameter(s)

<variable>
The variable which sign needs to be inverted.

COMPUTE
Using COMPUTE to change the sign of a single variable, will be translated to the InvertSign function.

Example(s)

COBOL Java
COMPUTE A = A * -1.
                
locDef.a.invertSign();
                
COMPUTE Z = -1 * Z.
                
locDef.z.invertSign();
                

Rounded

COBOL JAVA
COMPUTE .... ROUNDED round

Syntax

<result> . assign ( round (<result>, <operator function>(<operand1> ( ), <operand2> ( ) ) ) )

Parameter(s)

<result>
The variable to place the result of the rounded computation in.

COBOL Operators
The COBOL operator ** for exponentiation is translated in Java into calcPower().

Example(s)

COBOL Java
COMPUTE A ROUNDED = W / X.
                
locDef.a.assign(round(locDef.a, divide(locDef.w.getIntValue(), locDef.x.getIntValue())));
                
COMPUTE W ROUNDED = A / B ** C.
                
m_LocDef.W.Value = Round(m_LocDef.W, m_LocDef.A.Value / CalcPower(m_LocDef.B.Value, m_LocDef.C.Value));