EVALUATE
Evaluates expressions while the main command processes a set of records.
Syntax
EVALUATE «expression»
Parameters
| expression | Any 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
Determines the month name associated with a specified date value.
Syntax
$monthname(date)
Parameters
| date | a 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
Tests if a character string is a valid date.
Syntax
$isdate(string)
Parameters
| string | a 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
Calculates the sine of a number.
Syntax
$sin(number)
Parameters
| number | a 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
Right-justifies a character string.
Syntax
$rightjustify(string)
Parameters
| string | a 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
Sums a set of values, excluding those in which the expression is $Null.
Syntax
$total(expression)
Parameters
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
Calculates the hyperbolic cosine of a number.
Syntax
$cosh(number)
Parameters
| number | a 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
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 selected | after a FIND command |
| nnn added | after an ADD command |
| nnn changed | after a CHANGE command |
| nnn deleted | after 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
Records tracing information.
Syntax
SET TRACE OUTPUT docname [APPEND]
Parameters
| docname | The name of an application document. All subsequent trace output is sent to the specified document. |
| APPEND | Indicates 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
Calculates the tangent of a number.
Syntax
$tan(number)
Parameters
| number | a 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