EVALUATE

EVALUATE

Evaluates expressions while the main command processes a set of records.

Syntax

EVALUATE «expression»

Parameters

expressionAny valid expression, but usually an assignment using LET and an aggregate function. If expression is complex, it must be enclosed in parentheses.

Example

change all Employees where LastName = Smith
let Salary = 1.1 * Salary
evaluate (let ExtraCost = $ total(Salary * 0.1))

Determines how much extra money is needed after all employees named Smith are given a 10% pay raise.

let RegTot[1]=0 RegTot[2]=0 RegTot[3]=0
compute Sales
evaluate (let RegTot[RegNum] = RegTot[RegNum] + SalesAmt)

Calculates total sales by region assuming three regions were served by the same sales force.

See Also

ADD

CHANGE

COMPUTE

DELETE

FIND

LET

LIST

REPORT FROM

$monthname

Determines the month name associated with a specified date value.

Syntax

$monthname(date)

Parameters

datea data, or an expression that evaluates to a date, in the form YYYYMMDD

Return Value

Character string.

Comments

This function extracts month information from standard date values. Date is often the system variable $Date.

The values returned by the $monthname function can be changed with the Language Customizer utility, ZIMLANG.

Example

$monthname(19981225)

Evaluates to “December”.

$monthname($date+7)

Evaluates to “January” when $Date is 19981225.

See Also

$Date

$day

$dayname

$month

$weekday

$year

About Data Types

About Functional Expressions

$isdate

Tests if a character string is a valid date.

Syntax

$isdate(string)

Parameters

stringa character string or an expression that evaluates to a character string

Return Value

1-character binary string. Evaluates to 1 ($True) if string meets the validation test; otherwise, evaluates to 0 ($False).

Comments

This function tests if a particular character string is a valid date.

Example

$isdate("19980606")

Evaluates to $True.

$isdate("19980229")

Evaluates to $False.

$isdate($date)

Evaluates to $True.

$isdate($date+30)

Evaluates to $True.

See Also

$isalphabetic

$isalphanumeric

$isdigit

$islower

$isnumber

$isupper

$iszimname

Character Literals

Functional Expressions

$sin

Calculates the sine of a number.

Syntax

$sin(number)

Parameters

numbera number, or an expression that evaluates to a number

Return Value

Number, with the same number of decimal places as number.

Comments

The value returned by this function has the same number of decimal places as number. Ensure that you specify enough decimal places in your equation to ensure a sufficiently granular result. Unusual results such as
-0 are an indication that the number of decimal places needs to be increased. For example, if you enter

$sin(4)

without any decimal points, you receive the result

-1

However, if you enter

$sin(4.0000)

you receive the result

-0.7568

Example

let var1 = $sin(0)

Evaluates to 0.

See Also

$asin

$cos

$sinh

$tan

About Functional Expressions

$rightjustify

Right-justifies a character string.

Syntax

$rightjustify(string)

Parameters

stringa character string, or an expression that evaluates to a character string

Return Value

Character string, consisting of string right-justified in a space $length(string) characters long. Trailing blanks in string are ignored.

Example

$rightjustify("abcde ")

Evaluates to ” abcde”.

$rightjustify(var1)

Evaluates to ” 3″ if var1 is a LONGINT variable whose value is 3 (occupies 12 character spaces).

See Also

$center

$leftjustify

About Character Literals

About Functional Expressions

Conversion Between Data Types

$total

Sums a set of values, excluding those in which the expression is $Null.

Syntax

$total(expression)

Parameters

expressionany expression

Return Value

Number.

Comments

Expression is often a WHERE expression that includes only selected values in the totalling operation. If the WHERE expression (expr1 WHERE expr2) is true, the expr1 value is included in the operation; otherwise, expression is considered $Null and is not included.

Example

compute Employees where DeptName="Sales"
evaluate(let TotSal = $total(Salary))
(let TotSalF = $total(Salary where Sex = "F"))

Finds the total of all employees’ salaries, and the total of the salaries of all female employees, in the Sales department.

See Also

$average

$count

$max

$min

About Functional Expressions

Number Literals

$cosh

Calculates the hyperbolic cosine of a number.

Syntax

$cosh(number)

Parameters

numbera number, or an expression that evaluates to a number, representing an angle (in radians)

Return Value

Number, with the same number of decimal places as number. Ensure that you specify enough decimal places in your equation to ensure a sufficiently granular result. Unusual results such as -0 are an indication that the number of decimal places needs to be increased. For example, if you enter

$cosh(5)

without any decimal points, you receive the result

74

However, if you enter

$cosh(5.0000)

you receive the result

74.2099

Comments

This function calculates the hyperbolic cosine of a number.

Example

let vAngle = $cosh(3.000)

Variable vAngle is set to 10.068.

See Also

$acos

$cos

$sinh

$tanh

SET INFORMATION

Enables or suppresses the display of information messages.

Syntax

SET INFORMATION ON|OFF

Comments

The INFORMATION option is set ON by default.

When INFORMATION is ON, information messages are displayed. Setting INFORMATION to OFF suppresses the display of such messages. Information messages are of the form:

nnn selectedafter a FIND command
nnn addedafter an ADD command
nnn changedafter a CHANGE command
nnn deletedafter a DELETE command

All types of messages can be simultaneously turned on or off with a SET MESSAGES command.

The SET INFORMATION command has no effect on the logging of messages in the “error trace” file. Message logging is governed by the configuration option error trace.

Example

set messages on
set information off

The preceding commands set error and warning messages on, but information messages off.

See Also

SET ERRORS

SET WARNINGS

SET TRACE OUTPUT

Records tracing information.

Syntax

SET TRACE OUTPUT docname [APPEND]

Parameters

docnameThe name of an application document.
All subsequent trace output is sent to the specified document.
APPENDIndicates that subsequent trace output is to be appended to the existing contents of docname.

Comments

Normally, information generated by the commands SET COMMANDTIMING, SET FLOW, SET LEXTRACE, SET STRATEGY, SET TRACE, and SET TRANSACTION FLOW is displayed on the screen. The SET TRACE OUTPUT command enables you to redirect the output to docname.

Example

set trace output RecordTrace

Redirects tracing information to an application document called RecordTrace.

set trace output terminal

Tracing information is displayed on the terminal screen.

See Also

SET FLOW

SET LEXTRACE

SET STRATEGY

SET TRACE

SET TRANSACTION FLOW

$tan

Calculates the tangent of a number.

Syntax

$tan(number)

Parameters

numbera number or an expression that evaluates to a number

Return Value

Number, with the same number of decimal places as number. Ensure that you specify enough decimal places in your equation to ensure a sufficiently granular result. Unusual results such as -0 are an indication that the number of decimal places needs to be increased. For example, if you enter

$tan(3)

without any decimal points, you receive the result

-0

However, if you enter

$tan(3.0000)

you receive the result

-0.1425

Comments

The value returned by this function has the same number of decimal places as number.

Example

let var1 = $tan(0)
let var1 = 3.14
let var2 = $tan(0.50*var1)

See Also

$atan

$cos

$sin

$tanh

About Functional Expressions

en_CAEnglish