Previous Next

LOGICAL function
Converts any data type into the LOGICAL data type.
Syntax 
 
LOGICAL ( expression [ , char-expression-format ] )
expression
An expression in the data type that you want to convert to logical.
char-expression-format
A character expression that evaluates to a valid logical format, such as "si/no", or "da/nyet". This argument is ignored unless expression is of CHARACTER type. Also, this argument is only needed if expression evaluates to something other than the usual TRUE or FALSE, or YES or NO values.
Example 
The following code fragment illustrates the Logical function:
 
DEFINE VARIABLE mychar AS CHARACTER NO-UNDO.
DEFINE VARIABLE v-log  AS LOGICAL   NO-UNDO.
 
	mychar = "si".
 
v-log = LOGICAL(mychar, "si/no")
/* v-log is TRUE */
Notes 
*
If the value of expression is the Unknown value (?), the LOGICAL function returns the Unknown value (?).
*
If expression is of type DECIMAL, INTEGER, INT64, DATE, DATETIME, DATTIME-TZ, or HANDLE, the function returns TRUE if the value of expression is nonzero. If the value of expression is 0, it returns FALSE. The second argument is ignored if present.
*
If expression is of type LONGCHAR or CHARACTER, it returns TRUE or FALSE depending on the value in the expression and the format used. Whether or not char-expression-format is given, the case-insensitive values TRUE, FALSE, YES, NO, abbreviated to 1 character, are always accepted. For example, a "Y" is interpreted as TRUE.
*
If char-expression-format is given, it is validated. If it is not valid, an error message appears and the Unknown value (?) is returned. Otherwise, the format is used to interpret the character string if it is not one of the following: TRUE, FALSE, YES, or NO. For example, LOGICAL ("si", "si/no" ) returns TRUE.
*
See also 
STRING function, INTEGER function, DATE function

Previous Next
© 2013 Progress Software Corporation and/or its subsidiaries or affiliates.