wapform_expression library

The WapForm expression engine (WapEvaluator): variables, operators and the built-in function library used by WML $(...), cnd= and value=.

Classes

ExprDataSet
Corresponds to Pascal TmyParser Corresponds to Delphi's TDataSet/TField: the evaluator can register datasets, and expressions read values via Dataset.COUNT / .BOF / .EOF / .STATE / .field (FindField).
IdentRecord
Corresponds to Pascal TStIdentRec
MyParser
The expression parser behind WapEvaluator; use WapEvaluator instead.
WapEvaluator
Evaluates WapForm expressions (WML $(...), cnd=, value=).

Enums

ExprToken
Corresponds to Pascal TExprToken
IdentKind
Identifier kind

Functions

COB_ABS(dynamic value) → dynamic
COB_ACOS(dynamic value) → dynamic
COB_ANNUITY(dynamic v1, dynamic v2) → dynamic
ANNUITY(rate, periods)
COB_ASIN(dynamic value) → dynamic
COB_ATAN(dynamic value) → dynamic
COB_BOOLEAN_OF_INTEGER(dynamic v1, dynamic v2) → dynamic
BOOLEAN-OF-INTEGER(n, len): converts an integer to a bit string
COB_BYTE_LENGTH(dynamic value) → dynamic
COB_CHAR(dynamic value) → dynamic
CHAR(n): ordinal n → character (COBOL ordinal = ASCII + 1)
COB_COMBINED_DATETIME(dynamic v1, dynamic v2) → dynamic
COMBINED-DATETIME(date_int, time_secs)
COB_CONCATENATE(List values) → dynamic
COB_COS(dynamic value) → dynamic
COB_CURRENCY_SYMBOL() → dynamic
COB_CURRENT_DATE() → dynamic
CURRENT-DATE (returns a full timestamp string yyyyMMddHHmmsscc+HHmm)
COB_DATE_OF_INTEGER(dynamic value) → dynamic
DATE-OF-INTEGER(n) → YYYYMMDD
COB_DATE_TO_YYYYMMDD(dynamic v1, dynamic v2) → dynamic
DATE-TO-YYYYMMDD(yymmdd, pivot)
COB_DAY_OF_INTEGER(dynamic value) → dynamic
DAY-OF-INTEGER(n) → YYYYDDD
COB_E() → dynamic
COB_EXP(dynamic value) → dynamic
COB_EXP10(dynamic value) → dynamic
COB_FACTORIAL(dynamic value) → dynamic
FACTORIAL:n!
COB_FRACTION_PART(dynamic value) → dynamic
FRACTION-PART: the fractional part
COB_HIGHEST_ALGEBRAIC(dynamic value) → dynamic
HIGHEST-ALGEBRAIC: the type's maximum value (based on the runtime type)
COB_INTEGER(dynamic value) → dynamic
INTEGER: rounds down (floor)
COB_INTEGER_OF_BOOLEAN(dynamic value) → dynamic
INTEGER-OF-BOOLEAN(s): converts a bit string to an integer
COB_INTEGER_OF_DATE(dynamic value) → dynamic
INTEGER-OF-DATE(YYYYMMDD) → integer day
COB_INTEGER_OF_DAY(dynamic value) → dynamic
INTEGER-OF-DAY(YYYYDDD) → integer day
COB_INTEGER_PART(dynamic value) → dynamic
INTEGER-PART: truncates toward zero
COB_LENGTH(dynamic value) → dynamic
COB_LOCALE_COMPARE(dynamic v1, dynamic v2) → dynamic
LOCALE-COMPARE(s1, s2) → '<' '=' '>'
COB_LOCALE_DATE(dynamic value) → dynamic
COB_LOCALE_TIME(dynamic value) → dynamic
COB_LOG(dynamic value) → dynamic
COB_LOG10(dynamic value) → dynamic
COB_LOWER_CASE(dynamic value) → dynamic
COB_LOWEST_ALGEBRAIC(dynamic value) → dynamic
LOWEST-ALGEBRAIC: the type's minimum value
COB_MAX(List values) → dynamic
COB_MEAN(List values) → dynamic
COB_MEDIAN(List values) → dynamic
COB_MIDRANGE(List values) → dynamic
COB_MIN(List values) → dynamic
COB_MOD(dynamic v1, dynamic v2) → dynamic
MOD: result's sign matches the divisor (COBOL standard)
COB_MONETARY_DECIMAL_POINT() → dynamic
COB_NUMERIC_DECIMAL_POINT() → dynamic
COB_NUMVAL(dynamic value) → dynamic
COB_NUMVAL_C(dynamic v1, dynamic v2) → dynamic
COB_NUMVAL_F(dynamic value) → dynamic
COB_ORD(dynamic value) → dynamic
ORD(c): character → ordinal (= ASCII + 1)
COB_ORD_MAX(List values) → dynamic
ORD-MAX: returns the 1-based index of the maximum value
COB_ORD_MIN(List values) → dynamic
ORD-MIN: returns the 1-based index of the minimum value
COB_PI() → dynamic
COB_PRESENT_VALUE(List values) → dynamic
PRESENT-VALUE(rate, amt1, amt2, ...)
COB_RANDOM(dynamic value) → dynamic
RANDOM(seed): doesn't reset when seed=0
COB_RANGE(List values) → dynamic
COB_REM(dynamic v1, dynamic v2) → dynamic
REM: result's sign matches the dividend
COB_REVERSE(dynamic value) → dynamic
COB_SECONDS_PAST_MIDNIGHT() → dynamic
SECONDS-PAST-MIDNIGHT
COB_SIGN(dynamic value) → dynamic
COB_SIN(dynamic value) → dynamic
COB_SQRT(dynamic value) → dynamic
COB_STANDARD_COMPARE(dynamic v1, dynamic v2) → dynamic
STANDARD-COMPARE(s1, s2) → '<' '=' '>'
COB_STANDARD_DEVIATION(List values) → dynamic
COB_STORED_CHAR_LENGTH(dynamic value) → dynamic
COB_SUBSTITUTE(List values) → dynamic
SUBSTITUTE(str, from1, to1, from2, to2, ...)
COB_SUBSTITUTE_CASE(List values) → dynamic
SUBSTITUTE-CASE (case-insensitive)
COB_SUM(List values) → dynamic
COB_TAN(dynamic value) → dynamic
COB_TEST_DATE_YYYYMMDD(dynamic value) → dynamic
TEST-DATE-YYYYMMDD: 0=valid
COB_TEST_DAY_YYYYDDD(dynamic value) → dynamic
TEST-DAY-YYYYDDD: 0=valid
COB_TEST_NUMVAL(dynamic value) → dynamic
COB_TEST_NUMVAL_C(dynamic v1, dynamic v2) → dynamic
COB_TEST_NUMVAL_F(dynamic value) → dynamic
COB_TRIM(dynamic v1, dynamic v2) → dynamic
TRIM(str, mode) mode: 'LEADING' | 'TRAILING' | '' (both ends)
COB_UPPER_CASE(dynamic value) → dynamic
COB_VARIANCE(List values) → dynamic
COB_WHEN_COMPILED() → dynamic
WHEN-COMPILED: same as CURRENT-DATE
COB_YEAR_TO_YYYY(dynamic v1, dynamic v2) → dynamic
YEAR-TO-YYYY(yy, pivot)
decrypt(dynamic value1, dynamic value2) → dynamic
XOR decrypt; returns an empty string directly for an empty password
encrypt(dynamic value1, dynamic value2) → dynamic
XOR encrypt; returns an empty string directly for an empty password
extADDWORKDAYS(dynamic v1, dynamic v2) → dynamic
ADDWORKDAYS(date, n): adds n working days (skips Sat/Sun)
extAGE(dynamic v1, dynamic v2) → dynamic
AGE(birthdate, asofdate): calculates age in full years from a birthdate
extARRAVG(List values) → dynamic
ARRAVG(values): the average of several values
extARRCONTAINS(List values) → dynamic
ARRCONTAINS(values, target): the last argument is target
extARRJOIN(List values) → dynamic
ARRJOIN(values, delim): the last argument is delim
extARRMAX(List values) → dynamic
ARRMAX(values): the maximum of several values
extARRMIN(List values) → dynamic
ARRMIN(values): the minimum of several values
extARRSUM(List values) → dynamic
ARRSUM(values): the sum of several values
extARRUNIQ(List values) → dynamic
ARRUNIQ(values): removes duplicate values, returns joined by commas
extAs10(dynamic value) → dynamic
As10(v):Boolean → '1'/'0'
extAsBit(dynamic value) → dynamic
AsBit(v): integer → '1'/'0'
extAsBool(dynamic value) → dynamic
AsBool(v):Variant → Boolean
extAsCsv(List values) → dynamic
AsCsv(values): multiple values → a single CSV line
extAsCurr(dynamic v1, dynamic v2) → dynamic
AsCurr(v, d): thousands-separated currency string
extAsDate(dynamic value) → dynamic
AsDate(v): Variant → date (DateTime)
extAsDateTime(dynamic value) → dynamic
AsDateTime(v): Variant → date-time
extAsDefault(dynamic v1, dynamic v2) → dynamic
AsDefault(v, default): uses the default value when Null
extAsDQuoted(dynamic value) → dynamic
AsDQuoted(v): wrapped in double quotes, internal quotes backslash-escaped
extAsFixed(dynamic v1, dynamic v2) → dynamic
AsFixed(v, d): fixed-decimal-place string
extAsFloat(dynamic value) → dynamic
AsFloat(v):Variant → Float
extAsHex(dynamic v1, dynamic v2) → dynamic
AsHex(v, width): integer → hexadecimal
extAsInt(dynamic value) → dynamic
AsInt(v):Variant → Integer
extAsISO(dynamic value) → dynamic
AsISO(v): ISO 8601 date string
extAsJson(dynamic value) → dynamic
AsJson(v): a single value → a plain JSON value
extAsLower(dynamic value) → dynamic
AsLower(v): all lowercase
extAsNullable(dynamic value) → dynamic
AsNullable(v): empty→NULL, otherwise quoted
extAsOct(dynamic value) → dynamic
AsOct(v): integer → octal
extAsPct(dynamic v1, dynamic v2) → dynamic
AsPct(v, d): percentage string
extAsQuoted(dynamic value) → dynamic
AsQuoted(v): wrapped in single quotes, internal quotes doubled (escaped)
extAsRDate(dynamic value) → dynamic
AsRDate(v): ROC-calendar-year date
extAsRDateTime(dynamic value) → dynamic
AsRDateTime(v): ROC-calendar-year date-time
extAsSci(dynamic v1, dynamic v2) → dynamic
AsSci(v, d): scientific-notation string, formatted as 1.23E+04 (uppercase E, exponent zero-padded to 2 digits)
extAsSlug(dynamic value) → dynamic
AsSlug(v):URL slug
extAsSQLStr(dynamic value) → dynamic
AsSQLStr(v): SQL-safe string (inside single quotes, ' becomes '')
extAsString(dynamic value) → dynamic
AsString(v):Variant → String
extAsTF(dynamic value) → dynamic
AsTF(v):Boolean → 'T'/'F'
extAsTime(dynamic value) → dynamic
AsTime(v): Variant → time
extAsTrimmed(dynamic value) → dynamic
AsTrimmed(v): trims whitespace from both ends
extAsUpper(dynamic value) → dynamic
AsUpper(v): all uppercase
extAsYN(dynamic value) → dynamic
AsYN(v):Boolean → 'Y'/'N'
extBETWEEN(dynamic v1, dynamic v2, dynamic v3) → dynamic
BETWEEN(value, lo, hi): whether a value is within the lo, hi range
extBITAND(dynamic v1, dynamic v2) → dynamic
BITAND(a, b): bitwise AND
extBITNOT(dynamic value) → dynamic
BITNOT(a): bitwise NOT (uses the pure-arithmetic equivalent -x-1 instead of the ~ operator, to guard against possible bitwise-op discrepancies under Web compilation)
extBITOR(dynamic v1, dynamic v2) → dynamic
BITOR(a, b): bitwise OR
extBITSHL(dynamic v1, dynamic v2) → dynamic
BITSHL(a, n): shift left n bits
extBITSHR(dynamic v1, dynamic v2) → dynamic
BITSHR(a, n): shift right n bits
extBITXOR(dynamic v1, dynamic v2) → dynamic
BITXOR(a, b): bitwise XOR
extBOMDATE(dynamic v1, dynamic v2) → dynamic
BOMDATE(year, month): the first day of the given year/month
extBR2CRLF(dynamic value) → dynamic
BR2CRLF(str):
→ newline
extBYTESIZE(dynamic value) → dynamic
BYTESIZE(n): returns how many bytes are needed to store n bits
extCAPWORDS(dynamic value) → dynamic
CAPWORDS(str): capitalizes the first letter of each word
extCBRT(dynamic value) → dynamic
CBRT(x): cube root
extCHARAT(dynamic v1, dynamic v2) → dynamic
CHARAT(str, n): gets the nth character (1-based)
extCHECKSUM(dynamic value) → dynamic
CHECKSUM(str): XOR checksum
extCHOOSE(List values) → dynamic
CHOOSE(index, values): picks a value from the list by (1-based) index
extCLAMP(dynamic v1, dynamic v2, dynamic v3) → dynamic
CLAMP(value, lo, hi): clamps a value to the lo, hi range
extCOALESCE(List values) → dynamic
COALESCE: returns the first non-Null value (variadic)
extCOMMAFMT(dynamic value) → dynamic
COMMAFMT(value): adds thousands separators to a number (integer)
extCONTAINS(dynamic v1, dynamic v2) → dynamic
CONTAINS(str, substr): whether the string contains the substring
extCOUNTSTR(dynamic v1, dynamic v2) → dynamic
COUNTSTR(substr, str): counts occurrences of a substring
extCRLF2BR(dynamic value) → dynamic
CRLF2BR(str): newline →
extCUMIPMT(List values) → dynamic
CUMIPMT(rate, nper, pv, startPeriod, endPeriod): cumulative interest
extDATEADD(dynamic v1, dynamic v2, dynamic v3) → dynamic
DATEADD(date, n, unit): adds/subtracts from a date; unit='D'/'M'/'Y'/'W'
extDATEDIFF(dynamic v1, dynamic v2, dynamic v3) → dynamic
DATEDIFF(date1, date2, unit): date difference
extDATEEND(dynamic v1, dynamic v2) → dynamic
DATEEND(date, unit): end of a period; unit='M'=end of month/'Y'=end of year
extDATESERIAL(dynamic v1, dynamic v2, dynamic v3) → dynamic
DATESERIAL(y, m, d): builds a DateTime from year/month/day
extDATESTART(dynamic v1, dynamic v2) → dynamic
DATESTART(date, unit): start of a period; unit='M'=start of month/'Y'=start of year/'W'=Monday
extDAYNAME(dynamic value) → dynamic
DAYNAME(date): weekday name (returned in Chinese — this is a data value used by WML output, not a comment, so it is intentionally left untranslated; translating it would change the function's runtime behavior)
extDECODE(List values) → dynamic
DECODE(val, case1, result1, ..., default):Oracle DECODE
extDEG2RAD(dynamic value) → dynamic
DEG2RAD(deg): degrees → radians
extELLIPSIS(dynamic v1, dynamic v2) → dynamic
ELLIPSIS(str, maxLen): truncates and adds '...'
extENDSWITH(dynamic v1, dynamic v2) → dynamic
ENDSWITH(str, suffix): whether the string ends with suffix
extEOMDATE(dynamic v1, dynamic v2) → dynamic
EOMDATE(year, month): the last day of the given year/month
extEVEN(dynamic value) → dynamic
EVEN(n): the smallest even number ≥ n
extFIB(dynamic value) → dynamic
FIB(n): the nth Fibonacci number (0-based)
extFISCALQUARTER(dynamic v1, dynamic v2) → dynamic
FISCALQUARTER(date, fiscalStartMonth): fiscal quarter
extFISCALYEAR(dynamic v1, dynamic v2) → dynamic
FISCALYEAR(date, fiscalStartMonth): fiscal year
extFROMBIN(dynamic value) → dynamic
FROMBIN(str): converts a binary string to an integer
extFROMHEX(dynamic value) → dynamic
FROMHEX(str): converts a hex string to an integer
extFV(dynamic v1, dynamic v2, dynamic v3, dynamic v4) → dynamic
FV(rate, nper, pmt, pv): future value
extGCD(dynamic v1, dynamic v2) → dynamic
GCD(a, b): greatest common divisor
extGEOMEAN(List values) → dynamic
GEOMEAN(values): geometric mean
extGUID() → dynamic
GUID: generates a new GUID string
extHARMEAN(List values) → dynamic
HARMEAN(values): harmonic mean
extHASH(dynamic value) → dynamic
HASH(str): a simple djb2 hash (32-bit, returned as a hex string)
extHTMLDECODE(dynamic value) → dynamic
HTMLDECODE(str): HTML special-character decoding
extHTMLENCODE(dynamic value) → dynamic
HTMLENCODE(str): HTML special-character encoding
extHYPOT(dynamic v1, dynamic v2) → dynamic
HYPOT(a, b): hypotenuse of a right triangle, sqrt(a²+b²)
extINDEXOF(dynamic v1, dynamic v2, dynamic v3) → dynamic
INDEXOF(str, sub, start): finds a substring starting from start (1-based)
extIPMT(dynamic v1, dynamic v2, dynamic v3, dynamic v4) → dynamic
IPMT(rate, per, nper, pv): interest portion of payment n
extIRR(List values) → dynamic
IRR(values, guess): internal rate of return (Newton-Raphson iteration)
extISPRIME(dynamic value) → dynamic
ISPRIME(n): whether n is prime
extISWEEKDAY(dynamic value) → dynamic
ISWEEKDAY(date): whether it's a weekday (Monday~Friday)
extISWEEKEND(dynamic value) → dynamic
ISWEEKEND(date): whether it's Saturday or Sunday
extJOIN(dynamic v1, dynamic v2) → dynamic
JOIN(values, delim): merges after cleaning up extra whitespace
extKEEPCHARS(dynamic v1, dynamic v2) → dynamic
KEEPCHARS(str, chars): keeps only the given set of characters
extLASTINDEXOF(dynamic v1, dynamic v2) → dynamic
LASTINDEXOF(str, sub): finds a substring searching from the right (1-based)
extLCM(dynamic v1, dynamic v2) → dynamic
LCM(a, b): least common multiple
extLERP(dynamic v1, dynamic v2, dynamic v3) → dynamic
LERP(a, b, t): linear interpolation a + (b-a)*t
extLOG2(dynamic value) → dynamic
LOG2(x): base-2 logarithm
extLOGN(dynamic v1, dynamic v2) → dynamic
LOGN(base, x): logarithm base base
extLPAD(dynamic v1, dynamic v2, dynamic v3) → dynamic
LPAD(str, len, ch): left-pads with the given character to width len
extMASK(dynamic v1, dynamic v2, dynamic v3) → dynamic
MASK(str, mask, placeholder): mask formatting (placeholder defaults to '#')
extMONTHNAME(dynamic value) → dynamic
MONTHNAME(date): month name (returned in Chinese — see the note on DAYNAME above)
extNEXTWDAY(dynamic v1, dynamic v2) → dynamic
NEXTWDAY(date, dow): finds the next occurrence of the given weekday from date (dow=1 Mon..7 Sun)
extNPER(dynamic v1, dynamic v2, dynamic v3) → dynamic
NPER(rate, pmt, pv): number of payment periods
extNPV(List values) → dynamic
NPV(rate, values): net present value
extNUMFMT(dynamic v1, dynamic v2) → dynamic
NUMFMT(value, decimals): numeric formatting, thousands separator + decimal places
extNVL(dynamic v1, dynamic v2) → dynamic
NVL(value, default): returns default if value is Null
extNVL2(dynamic v1, dynamic v2, dynamic v3) → dynamic
NVL2(value, notNullVal, nullVal):Oracle NVL2
extODD(dynamic value) → dynamic
ODD(n): the smallest odd number ≥ n
extONLYALPHA(dynamic value) → dynamic
ONLYALPHA(str): keeps only English letters
extONLYDIGITS(dynamic value) → dynamic
ONLYDIGITS(str): keeps only digits
extPADC(dynamic v1, dynamic v2) → dynamic
PADC(str, len): center-pads with spaces to width len
extPADL(dynamic v1, dynamic v2) → dynamic
PADL(str, len): left-pads with spaces to width len
extPADR(dynamic v1, dynamic v2) → dynamic
PADR(str, len): right-pads with spaces to width len
extPERCENT(dynamic v1, dynamic v2) → dynamic
PERCENT(part, total): percentage calculation
extPMT(dynamic v1, dynamic v2, dynamic v3) → dynamic
PMT(rate, nper, pv): the equal payment amount
extPPMT(dynamic v1, dynamic v2, dynamic v3, dynamic v4) → dynamic
PPMT(rate, per, nper, pv): principal portion of payment n
extPREVWDAY(dynamic v1, dynamic v2) → dynamic
PREVWDAY(date, dow): finds the previous occurrence of the given weekday before date
extPRODUCT(List values) → dynamic
PRODUCT(values): product of the values Π(xᵢ)
extPV(dynamic v1, dynamic v2, dynamic v3) → dynamic
PV(rate, nper, pmt): present value
extQUARTER(dynamic value) → dynamic
QUARTER(date): gets the quarter (1~4)
extQUARTILE(List values) → dynamic
QUARTILE(values, q): quartile; q=1 Q1, q=2 median, q=3 Q3
extRAD2DEG(dynamic value) → dynamic
RAD2DEG(rad): radians → degrees
extRANDOMSTR(dynamic v1, dynamic v2) → dynamic
RANDOMSTR(len, chars): generates a random string of the given length
extRATE(dynamic v1, dynamic v2, dynamic v3) → dynamic
RATE(nper, pmt, pv): interest rate per period (Newton-Raphson approximation)
extRDATE(dynamic value) → dynamic
RDATE(date): ROC-calendar-year date string YYY/MM/DD
extRDATETIME(dynamic value) → dynamic
RDATETIME(date): ROC-calendar-year date-time string YYY/MM/DD HH:MM:SS
extREMOVECHARS(dynamic v1, dynamic v2) → dynamic
REMOVECHARS(str, chars): removes the given set of characters
extREPEAT(dynamic v1, dynamic v2) → dynamic
REPEAT(str, n): repeats the string n times
extROUNDBANK(dynamic v1, dynamic v2) → dynamic
ROUNDBANK(value, decimals): banker's rounding (round half to even)
extRPAD(dynamic v1, dynamic v2, dynamic v3) → dynamic
RPAD(str, len, ch): right-pads with the given character to width len
extSLUGIFY(dynamic value) → dynamic
SLUGIFY(str): converts to a URL slug
extSPLIT(dynamic v1, dynamic v2, dynamic v3) → dynamic
SPLIT(str, delim, n): splits and takes the nth token (1-based)
extSPLITCOUNT(dynamic v1, dynamic v2) → dynamic
SPLITCOUNT(str, delim): number of tokens after splitting
extSTARTSWITH(dynamic v1, dynamic v2) → dynamic
STARTSWITH(str, prefix): whether the string starts with prefix
extSUMSQ(List values) → dynamic
SUMSQ(values): sum of squares Σ(xᵢ²)
extSWITCH(List values) → dynamic
SWITCH(val, case1, result1, case2, result2, ..., defaultVal)
extTIMESERIAL(dynamic v1, dynamic v2, dynamic v3) → dynamic
TIMESERIAL(h, m, s): builds a DateTime from hour/minute/second
extTOBIN(dynamic v1, dynamic v2) → dynamic
TOBIN(n, width): converts an integer to a binary string
extTODATE(dynamic value) → dynamic
TODATE: safely converts to date
extTOFLOAT(dynamic value) → dynamic
TOFLOAT: safely converts to float
extTOHEX(dynamic value) → dynamic
TOHEX(n): converts an integer to a hex string (no padding)
extTOINT(dynamic value) → dynamic
TOINT: safely converts to integer
extTOKENAT(dynamic v1, dynamic v2, dynamic v3) → dynamic
TOKENAT(str, delims, n): takes a token using multi-character delimiters (1-based)
extTRUNCWORDS(dynamic v1, dynamic v2) → dynamic
TRUNCWORDS(str, n): truncates to the first n words
extTYPENAME(dynamic value) → dynamic
TYPENAME: the type's name
extUNMASK(dynamic v1, dynamic v2, dynamic v3) → dynamic
UNMASK(str, mask, placeholder): removes the mask, keeping only the characters at placeholder positions (placeholder defaults to '#')
extURLENCODE(dynamic value) → dynamic
URLENCODE(str): URL percent-encoding
extWORKDAYS(dynamic v1, dynamic v2) → dynamic
WORKDAYS(date1, date2): counts working days (excludes Sat/Sun)
extWRAP(dynamic v1, dynamic v2) → dynamic
WRAP(str, width): inserts a line break (CRLF) every width characters
extYEARFRAC(dynamic v1, dynamic v2) → dynamic
YEARFRAC(date1, date2): the fraction of a year between two dates (Actual/365)
extZFILL(dynamic v1, dynamic v2) → dynamic
ZFILL(n, width): zero-pads an integer to width digits
fnAbs(dynamic value) → dynamic
Expression function ABS(x): Absolute value.
fnAddWorkDaysSerial(dynamic v1, dynamic v2) → dynamic
fnAnnuity(dynamic v1, dynamic v2) → dynamic
Annuity(rate, periods): present-value annuity factor per period (capital recovery factor)
fnANSI(dynamic value) → dynamic
Expression function ANSI(s): UTF-8 to ANSI. The Dart result differs from the Windows engine; see the manual, Appendix C.3.
fnAnsiCompareStr(dynamic v1, dynamic v2) → dynamic
Expression function AnsiCompareStr(a,b): ANSI case-sensitive comparison.
fnAnsiCompareText(dynamic v1, dynamic v2) → dynamic
Expression function AnsiCompareText(a,b): ANSI case-insensitive comparison.
fnAnsiDelete(dynamic v1, dynamic v2, dynamic v3) → dynamic
Expression function AnsiDelete(s,p,n): Deletes a substring (ANSI count).
fnAnsiInsert(dynamic v1, dynamic v2, dynamic v3) → dynamic
Expression function AnsiInsert(s,p,new): Inserts a string (ANSI count). The Dart result differs from the Windows engine; see the manual, Appendix C.3.
fnAnsiLength(dynamic value) → dynamic
Expression function AnsiLength(s): ANSI byte length. The Dart result differs from the Windows engine; see the manual, Appendix C.3.
fnAnsiLowerCase(dynamic value) → dynamic
Expression function AnsiLowerCase(s): ANSI convert to lowercase.
fnAnsiMid(dynamic v1, dynamic v2, dynamic v3) → dynamic
Expression function AnsiMid(s,p,n): Extracts a substring (ANSI count).
fnAnsiPos(dynamic v1, dynamic v2) → dynamic
Expression function AnsiPos(sub,s): Finds a substring's position (ANSI count).
fnAnsiUpperCase(dynamic value) → dynamic
Expression function AnsiUpperCase(s): ANSI convert to uppercase.
fnArcCos(dynamic value) → dynamic
Expression function ArcCos(x1): Arc cosine (same as ACOS).
fnArcSin(dynamic value) → dynamic
Expression function ArcSin(x1): Arc sine (same as ASIN).
fnArcTan(dynamic value) → dynamic
Expression function ArcTan(x1): Arc tangent (same as ATAN).
fnARRAY(dynamic value) → dynamic
Expression function ARRAY(s): Splits a string on whitespace, composing a display string resembling an array literal (description corrected to match the actual source behavior, verified via testing).
fnAsc(dynamic value) → dynamic
Expression function ASC(c): Character to code point.
fnAssigned(dynamic value) → dynamic
Expression function Assigned(x): Whether the object has been assigned.
fnAsSqlStr(dynamic value) → dynamic
AsSqlStr(v): escapes single quotes (doesn't add the surrounding quotes)
fnBDATE(dynamic value) → dynamic
Expression function BDATE(x1): Date conversion (for compatibility).
fnBomDateSerial(dynamic v1, dynamic v2) → dynamic
fnByteLength(dynamic value) → dynamic
ByteLength(str): the string's UTF-8 byte length
fnCeil(dynamic value) → dynamic
Expression function CEIL(x): Rounds up.
fnCELL(dynamic v1, dynamic v2) → dynamic
Expression function CELL(x1, x2): Crosstab cell value (for compatibility).
fnCHR(dynamic value) → dynamic
Expression function CHR(n): Code point to character.
fnCODE(dynamic value) → dynamic
Expression function CODE(s): Parses the "code" portion of a formatted field. The Dart result differs from the Windows engine; see the manual, Appendix C.3.
fnColorToHex(dynamic value) → dynamic
Expression function ColorToHex(n): Converts a color value to hex. The Dart result differs from the Windows engine; see the manual, Appendix C.3.
fnCombinedDateTime(dynamic v1, dynamic v2) → dynamic
CombinedDateTime(dateInt, seconds): combines a COBOL internal date integer and seconds into a serial
fnCompareStr(dynamic v1, dynamic v2) → dynamic
Expression function CompareStr(a,b): String comparison (case-sensitive).
fnCompareText(dynamic v1, dynamic v2) → dynamic
Expression function CompareText(a,b): Locale-aware string comparison.
fnConcatenateStr(List values) → dynamic
ConcatenateStr(values): concatenates multiple strings (no separator)
fnCOPY(dynamic v1, dynamic v2, dynamic v3) → dynamic
Expression function COPY(x1, x2, x3): Substring (same as Pascal Copy).
fnCos(dynamic value) → dynamic
Expression function COS(x): Cosine.
fnCOUNT(List values) → dynamic
Expression function count: (opt.).
fnCPU() → dynamic
Expression function CPU: (no matching registration/use found in the source).
fnDATE() → dynamic
Expression function DATE: Current date (no parameters, changes with the run date).
fnDateAddValueSerial(dynamic v1, dynamic v2, dynamic v3) → dynamic
fnDateOfInteger(dynamic value) → dynamic
DateOfInteger(cobolInt): converts a COBOL internal date integer to YYYYMMDD
fnDatePeriodEndSerial(dynamic v1, dynamic v2) → dynamic
fnDatePeriodStartSerial(dynamic v1, dynamic v2) → dynamic
fnDateSerialValue(dynamic y, dynamic m, dynamic d) → dynamic
Expression function DateSerialValue(y, m, d): Combines year, month, day into a TDateTime. In this Dart engine it returns a date serial number (days since 1899-12-30); see the manual, Appendix C.2.
fnDateTimeToStr(dynamic value) → dynamic
Expression function DateTimeToStr(d): Converts a date/time to a string (formatted per the system's regional settings).
fnDateToStr(dynamic value) → dynamic
Expression function DateToStr(d): Converts a date to a string (formatted per the system's regional settings).
fnDateToYyyymmdd(dynamic v1, dynamic v2) → dynamic
DateToYyyymmdd(yymmdd, pivot): converts a 6-digit date to 8 digits using a pivot year
fnDAY(dynamic value) → dynamic
Expression function DAY(d): Extracts the day.
fnDayOfInteger(dynamic value) → dynamic
DayOfInteger(cobolInt): converts a COBOL internal date integer to YYYYDDD
fnDAYOFMONTH(dynamic value) → dynamic
Expression function DAYOFMONTH(d): Extracts the "day" of a date (same as DAY).
fnDAYOFWEEK(dynamic value) → dynamic
Expression function DAYOFWEEK(d): Extracts the day of the week (uses DateUtils.DayOfTheWeek underneath, 1=Monday...7=Sunday).
fnDAYOFYEAR(dynamic value) → dynamic
Expression function DAYOFYEAR(d): Extracts the day of the year.
fnDaysInAMonth(dynamic v1, dynamic v2) → dynamic
Expression function DaysInAMonth(y,m): Gets the number of days in a given year and month.
fnDBX() → dynamic
Expression function DBX: The multi-tier architecture flag.
fnDECVal(dynamic v1, dynamic v2) → dynamic
fnDEFINE(dynamic value) → dynamic
Expression function DEFINE(request.foo): Checks whether a request parameter exists.
fnDELETE(dynamic v1, dynamic v2, dynamic v3) → dynamic
Expression function DELETE(s,p,n): Deletes a substring (byte).
fnEomDateSerial(dynamic v1, dynamic v2) → dynamic
fnEulerNumber() → dynamic
EulerNumber: Euler's number e (no arguments)
fnExp(dynamic value) → dynamic
Expression function EXP(x): e raised to the power.
fnExp10Value(dynamic value) → dynamic
Exp10Value(n): 10 raised to the argument's power
fnExtractFileDir(dynamic value) → dynamic
Expression function ExtractFileDir(s): Gets the directory path.
fnExtractFileDrive(dynamic value) → dynamic
Expression function ExtractFileDrive(s): Gets the drive letter.
fnExtractFileExt(dynamic value) → dynamic
Expression function ExtractFileExt(s): Gets the file extension.
fnExtractFileName(dynamic value) → dynamic
Expression function ExtractFileName(s): Gets the file name (including extension).
fnExtractFileNameNoExt(dynamic value) → dynamic
Expression function ExtractFileNameNoExt(s): Gets the file name (without extension).
fnExtractFilePath(dynamic value) → dynamic
Expression function ExtractFilePath(s): Gets the full path.
fnFactorial(dynamic value) → dynamic
Factorial(n): factorial n!
fnFALSE() → dynamic
Expression function FALSE: The boolean false constant.
fnFillChar(dynamic v1, dynamic v2) → dynamic
FillChar(count, ch): fills a string of length count with the given character
fnFloat(dynamic value) → dynamic
Expression function FLOAT(x): Forces conversion to a float type.
fnFloatToStr(dynamic value) → dynamic
Expression function FloatToStr(n): Converts a float to a string.
fnFloor(dynamic value) → dynamic
Expression function FLOOR(x): Rounds down.
fnFORMAT(dynamic v1, dynamic v2) → dynamic
Expression function FORMAT(fmt,x): Formatted output. The Dart result differs from the Windows engine; see the manual, Appendix C.3.
fnFormatDateTime(dynamic v1, dynamic v2) → dynamic
Expression function FormatDateTime(fmt,d): Formats a date/time according to a custom pattern string.
fnFormatFloat(dynamic v1, dynamic v2) → dynamic
Expression function FormatFloat(fmt,n): Formats a floating-point number according to a custom pattern string.
fnFrac(dynamic value) → dynamic
Expression function FRAC(x): Takes the decimal portion.
fnGetFreeRes() → dynamic
Expression function GetFreeRes: Gets the available resources.
fnGetMacPhysicalAddress() → dynamic
Expression function GetMacPhysicalAddress: Gets the MAC physical address.
fnGetPhysMem() → dynamic
Expression function GetPhysMem: Gets the physical memory size.
fnGetUrlContent(dynamic value) → dynamic
Expression function GetUrlContent(url): Fetches the content of a URL.
fnHex(dynamic v1, dynamic v2) → dynamic
Expression function HEX(n,d): Converts an integer to a hex string.
fnHexToColor(dynamic value) → dynamic
Expression function HexToColor(s): Converts hex to a color value. The Dart result differs from the Windows engine; see the manual, Appendix C.3.
fnHexToInt(dynamic value) → dynamic
Expression function HexToInt(s): Converts a hex string to an integer.
fnHexToStr(dynamic value) → dynamic
Expression function HexToStr(s): Converts hex encoding to a string.
fnHIGH(List values) → dynamic
HIGH(values): the array's maximum index (0-based)
fnHigh(dynamic value) → dynamic
Expression function high(arr): Returns the array's upper-bound index.
fnHighestAlgebraic(dynamic value) → dynamic
HighestAlgebraic(n): returns the maximum value representable by the argument's data type (this engine's numeric types can't be reliably distinguished, so it always returns the Int32 upper bound)
fnHOUR(dynamic value) → dynamic
Expression function HOUR(d): Extracts the hour. The Dart result differs from the Windows engine; see the manual, Appendix C.3.
fnHTML(dynamic value) → dynamic
Expression function HTML(s): HTML special-character escaping. The Dart result differs from the Windows engine; see the manual, Appendix C.3.
fnImg(dynamic v1, dynamic v2) → dynamic
Expression function IMG(name,size): Image path handling. The Dart result differs from the Windows engine; see the manual, Appendix C.3.
fnINCVal(dynamic v1, dynamic v2) → dynamic
fnINSERT(dynamic v1, dynamic v2, dynamic v3) → dynamic
Expression function INSERT(s,p,n,new): Inserts a string (byte). The Dart result differs from the Windows engine; see the manual, Appendix C.3.
fnINSTR(dynamic v1, dynamic v2) → dynamic
Expression function INSTR(s,sub): Finds a string's position.
fnInt(dynamic value) → dynamic
Expression function INT(x): Takes the integer part (truncated toward zero).
fnIntegerOfDate(dynamic value) → dynamic
IntegerOfDate(yyyymmdd): converts YYYYMMDD to a COBOL internal date integer
fnIntegerOfDay(dynamic value) → dynamic
IntegerOfDay(yyyyddd): converts YYYYDDD to a COBOL internal date integer
fnIntToHex(dynamic v1, dynamic v2) → dynamic
Expression function IntToHex(n,d): Converts an integer to a hex string.
fnIntToStr(dynamic value) → dynamic
Expression function IntToStr(n): Converts an integer to a string.
fnIsLeapYear(dynamic value) → dynamic
Expression function IsLeapYear(y): Whether it's a leap year.
fnISNULL(dynamic value) → dynamic
Expression function ISNULL(x): Whether it's NULL. The Dart result differs from the Windows engine; see the manual, Appendix C.3.
fnISNUMBER(dynamic value) → dynamic
Expression function ISNUMBER(x): Whether it's a numeric type.
fnISODD(dynamic value) → dynamic
Expression function ISODD(x): Whether it's odd.
fnISSEVEN(dynamic value) → dynamic
fnLastMonth() → dynamic
Expression function last-month(): The first day of last month.
fnLastNight() → dynamic
Expression function last-night(): The time point corresponding to last night.
fnLastWeek() → dynamic
Expression function last-week: The same day last week.
fnLastYear() → dynamic
Expression function last-year(): The first day of last year.
fnLeadByte(dynamic v1, dynamic v2) → dynamic
Expression function LEADBYTE(s,p): Determines whether it's the lead byte of a double-byte character. The Dart result differs from the Windows engine; see the manual, Appendix C.3.
fnLENGTH(dynamic value) → dynamic
Expression function LENGTH(s): String length.
fnLIKE(dynamic v1, dynamic v2) → dynamic
Expression function LIKE(s,pat): Wildcard pattern matching. The Dart result differs from the Windows engine; see the manual, Appendix C.3.
fnLn(dynamic value) → dynamic
Expression function LN(x): Natural logarithm.
fnLoCaseInsensitive() → dynamic
Expression function loCaseInsensitive: Locate option: case-insensitive.
fnLOCATE(dynamic v1, dynamic v2) → dynamic
Expression function LOCATE(sub,s): Position of a substring.
fnLog10Value(dynamic value) → dynamic
LOG(n): base-10 logarithm
fnLoPartialKey() → dynamic
Expression function loPartialKey: Locate option: partial key.
fnLOW(List values) → dynamic
LOW(values): the array's minimum index (always 0)
fnLow(dynamic value) → dynamic
Expression function low(arr): Returns the array's lower-bound index.
fnLOWER(dynamic value) → dynamic
Expression function LOWER(s): Converts to lowercase.
fnLowestAlgebraic(dynamic value) → dynamic
LowestAlgebraic(n): returns the minimum value representable by the argument's data type (this engine's numeric types can't be reliably distinguished, so it always returns the Int32 lower bound)
fnLTRIM(dynamic value) → dynamic
Expression function LTRIM(s): Removes leading whitespace.
fnMax(dynamic v1, dynamic v2) → dynamic
Expression function MAX(a,b): Returns the larger of the two.
fnMD5(dynamic value) → dynamic
Expression function MD5(s): Computes the MD5 hash of a string.
fnMeanValue(List values) → dynamic
MeanValue(values): arithmetic mean
fnMedianValue(List values) → dynamic
MedianValue(values): median
fnMID(dynamic v1, dynamic v2, dynamic v3) → dynamic
Expression function MID(s,p,n): Extracts a substring (byte count).
fnMidRangeValue(List values) → dynamic
MidRangeValue(values): (max + min) / 2
fnMin(dynamic v1, dynamic v2) → dynamic
Expression function MIN(a,b): Returns the smaller of the two.
fnMINUTE(dynamic value) → dynamic
Expression function MINUTE(d): Extracts the minute. The Dart result differs from the Windows engine; see the manual, Appendix C.3.
fnMONTH(dynamic value) → dynamic
Expression function MONTH(d): Extracts the month.
fnMyDate(dynamic value) → dynamic
Expression function MyDate(d): Custom date formatting (ROC-calendar format). The Dart result differs from the Windows engine; see the manual, Appendix C.3.
fnMyDateTime(dynamic value) → dynamic
Expression function MyDateTime(d): Custom date/time formatting (ROC-calendar format). The Dart result differs from the Windows engine; see the manual, Appendix C.3.
fnNAME(dynamic value) → dynamic
Expression function name: (optional). The Dart result differs from the Windows engine; see the manual, Appendix C.3.
fnNBSP() → dynamic
Expression function NBSP: Non-breaking space.
fnNextWeekDaySerial(dynamic v1, dynamic v2) → dynamic
fnNOW() → dynamic
Expression function NOW: The current date and time (in a different format).
fnNULL() → dynamic
Expression function NULL: The Null constant.
fnNumValC(dynamic v1, dynamic v2) → dynamic
NumValC(str, currencySymbol): converts a string with a currency symbol and thousands-separator commas to a number
fnNumValF(dynamic value) → dynamic
NumValF(str): converts a floating-point string in scientific notation to a number
fnOdd(dynamic value) → dynamic
Expression function Odd(n): Whether it's odd.
fnORD(dynamic value) → dynamic
Expression function ORD(c): Character's ordinal value (same as ASC).
fnOrd(dynamic value) → dynamic
Ord(v): converts a character to its ordinal value; returns as-is if already an integer
fnOrdMax(List values) → dynamic
OrdMax(values): the 1-based position of the maximum value in the argument list
fnOrdMin(List values) → dynamic
OrdMin(values): the 1-based position of the minimum value in the argument list
fnPi() → dynamic
Expression function PI: The constant pi.
fnPOS(dynamic v1, dynamic v2) → dynamic
Expression function POS(sub,s): Finds a substring's position (byte count).
fnPower(dynamic v1, dynamic v2) → dynamic
Expression function POWER(x,n): x raised to the power n.
fnPrevWeekDaySerial(dynamic v1, dynamic v2) → dynamic
fnRandom(dynamic value) → dynamic
Expression function RANDOM(lo,hi): Random integer in [lo,hi).
fnRandomRange(dynamic v1, dynamic v2) → dynamic
Expression function RANDOMRANGE(lo,hi): Random integer in [lo,hi).
fnRangeValue(List values) → dynamic
RangeValue(values): range (max - min)
fnRemainderValue(dynamic v1, dynamic v2) → dynamic
RemainderValue(a, b): floating-point remainder, with the same sign as the dividend
fnREPLACE(dynamic v1, dynamic v2, dynamic v3) → dynamic
Expression function REPLACE(s,old,new): Replaces text within a string.
fnReplaceAt(dynamic v1, dynamic v2, dynamic v3) → dynamic
Expression function REPLACEAT(s,p,new): Replaces at a specified position. The Dart result differs from the Windows engine; see the manual, Appendix C.3.
fnReverseStr(dynamic value) → dynamic
ReverseStr(str): reverses a string
fnRound(dynamic v) → dynamic
Expression function ROUND(x,d): Rounds to d decimal places (standard rounding).
fnRoundTo(dynamic v1, dynamic v2) → dynamic
Expression function ROUNDTO(x,digits): Rounds to digits decimal places.
fnRTRIM(dynamic value) → dynamic
Expression function RTRIM(s): Removes trailing whitespace.
fnSECOND(dynamic value) → dynamic
Expression function SECOND(d): Extracts the second.
fnSignOf(dynamic value) → dynamic
SignOf(n): returns -1, 0, or 1
fnSin(dynamic value) → dynamic
Expression function SIN(x): Sine.
fnSqr(dynamic value) → dynamic
Expression function SQR(x): Square.
fnSqrt(dynamic value) → dynamic
Expression function SQRT(x): Square root.
fnStandardCompare(dynamic v1, dynamic v2) → dynamic
StandardCompare(a, b): ordinal string comparison, returns '<'/'='/'>'
fnStandardDeviation(List values) → dynamic
StandardDeviation(values): standard deviation (population)
fnStoredCharLength(dynamic value) → dynamic
StoredCharLength(str): the effective length after trimming trailing whitespace
fnSTR(dynamic value) → dynamic
Expression function STR(n): Converts a number to a string.
fnStrToDate(dynamic value) → dynamic
Expression function StrToDate(s): Converts a string to a date. In this Dart engine it returns a date serial number (days since 1899-12-30); see the manual, Appendix C.2.
fnStrToDateTime(dynamic value) → dynamic
Expression function StrToDateTime(s): Converts a string to a date/time. In this Dart engine it returns a date serial number (days since 1899-12-30); see the manual, Appendix C.2.
fnStrToFloat(dynamic value) → dynamic
Expression function StrToFloat(s): Converts a string to a float.
fnStrToHex(dynamic value) → dynamic
Expression function StrToHex(s): Converts a string to hex encoding.
fnStrToInt(dynamic value) → dynamic
Expression function StrToInt(s): Converts a string to an integer.
fnStrToTime(dynamic value) → dynamic
Expression function StrToTime(s): Converts a string to a time. In this Dart engine it returns a date serial number (days since 1899-12-30); see the manual, Appendix C.2.
fnSubstituteCaseStr(List values) → dynamic
SubstituteCaseStr(values): same as SubstituteStr, but case-insensitive matching
fnSubstituteStr(List values) → dynamic
SubstituteStr(values): str, old1, new1, old2, new2, ... replaces each pair in sequence, case-sensitive
fnTan(dynamic value) → dynamic
Expression function TAN(x): Tangent.
fnTDATE() → dynamic
Expression function TDATE: An alias for the system date.
fnTestDateYyyymmdd(dynamic value) → dynamic
TestDateYyyymmdd(yyyymmdd): validates whether it's a legal date; 0=valid, 1=invalid
fnTestDayYyyyddd(dynamic value) → dynamic
TestDayYyyyddd(yyyyddd): validates whether it's a legal year-day; 0=valid, 1=invalid
fnTestNumVal(dynamic value) → dynamic
TestNumVal(str): tests whether a string can safely convert to a number; 0=yes, 1=no
fnTestNumValC(dynamic v1, dynamic v2) → dynamic
TestNumValC(str, currencySymbol): the currency-symbol-aware version of the safety test
fnTIME() → dynamic
Expression function TIME: The current time (the time portion of CURRENT_DATE).
fnTimeSerialValue(dynamic h, dynamic m, dynamic s) → dynamic
Expression function TimeSerialValue(h, m, s): Combines hour, minute, second into a TDateTime. In this Dart engine it returns a date serial number (days since 1899-12-30); see the manual, Appendix C.2.
fnTimeToStr(dynamic value) → dynamic
Expression function TimeToStr(t): Converts a time to a string. The Dart result differs from the Windows engine; see the manual, Appendix C.3.
fnTODAY() → dynamic
Expression function TODAY: Today's date.
fnToFloatSafe(dynamic value) → dynamic
ToFloatSafe(v): safely converts to a float, returning 0 on failure
fnToIntegerValue(dynamic value) → dynamic
ToIntegerValue(n): the largest integer not exceeding the argument (rounds down)
fnToIntSafe(dynamic value) → dynamic
ToIntSafe(v): safely converts to an integer, returning 0 on failure
fnTRIM(dynamic value) → dynamic
Expression function TRIM(s): Removes leading and trailing whitespace.
fnTrimLeft(dynamic value) → dynamic
Expression function TrimLeft(x1): Removes leading spaces.
fnTrimRight(dynamic value) → dynamic
Expression function TrimRight(x1): Removes trailing spaces.
fnTRUE() → dynamic
Expression function TRUE: The boolean true constant.
fnTrunc(dynamic value) → dynamic
Expression function TRUNC(x): Truncates the decimal portion, rounding toward zero (regardless of sign).
fnUPPER(dynamic value) → dynamic
Expression function UPPER(s): Converts to uppercase.
fnUPPERA(dynamic value) → dynamic
Expression function UPPERA(s): Converts to uppercase (Ansi version).
fnUTF8(dynamic value) → dynamic
Expression function UTF8(s): ANSI to UTF-8. The Dart result differs from the Windows engine; see the manual, Appendix C.3.
fnVALUE(dynamic value) → dynamic
Expression function value: (optional).
fnVarianceValue(List values) → dynamic
VarianceValue(values): variance (population, divided by N)
fnVarIsNull(dynamic value) → dynamic
Expression function VarIsNull(x): Whether the Variant is Null. The Dart result differs from the Windows engine; see the manual, Appendix C.3.
fnVarToStr(dynamic value) → dynamic
Expression function VarToStr(v): Converts a Variant to a string.
fnVarType(dynamic value) → dynamic
Expression function VARTYPE(v): Returns the type name as a string (same as TYPE).
fnWEEK(dynamic value) → dynamic
Expression function WEEK(d): Extracts the week number.
fnYEAR(dynamic value) → dynamic
Expression function YEAR(d): Extracts the year.
fnYearToYyyy(dynamic v1, dynamic v2) → dynamic
YearToYyyy(yy, pivot): converts a 2-digit year to 4 digits using a pivot year
fnYesterday() → dynamic
Expression function yesterday: Yesterday's date.
hexToStr(String source) → String
UTF-8 hex string → string
iif(dynamic condition, dynamic trueVal, dynamic falseVal) → dynamic
IIF(condition, trueVal, falseVal)
kiriage(double x, int n) → double
Round up / ceiling (corresponds to Pascal Kiriage)
kirisute(double x, int n) → double
Round down / truncate (corresponds to Pascal Kirisute)
mySimpleRoundTo(double value, int digit) → double
Simple rounding (corresponds to Pascal MySimpleRoundTo)
shisha(double x, int n) → double
Round to nearest (corresponds to Pascal Shisha)
stdABS(dynamic value) → dynamic
Expression function ABS(x): absolute value.
stdACOS(dynamic value) → dynamic
Expression function ACOS(x): arc cosine.
stdANNUITY(dynamic v1, dynamic v2) → dynamic
ANNUITY(rate, periods)
stdASIN(dynamic value) → dynamic
Expression function ASIN(x): arc sine.
stdATAN(dynamic value) → dynamic
Expression function ATAN(x): arc tangent.
stdBOOLEAN_OF_INTEGER(dynamic v1, dynamic v2) → dynamic
BOOLEAN-OF-INTEGER(n, len): converts an integer to a bit string
stdBYTE_LENGTH(dynamic value) → dynamic
Expression function BYTE_LENGTH(s): length in bytes.
stdCHAR(dynamic value) → dynamic
CHAR(n): ordinal n → character (COBOL ordinal = ASCII + 1)
stdCOMBINED_DATETIME(dynamic v1, dynamic v2) → dynamic
COMBINED-DATETIME(date_int, time_secs)
stdCONCATENATE(List values) → dynamic
Expression function CONCATENATE(...): joins all arguments.
stdCOS(dynamic value) → dynamic
Expression function COS(x): cosine.
stdCURRENCY_SYMBOL() → dynamic
Expression function CURRENCY_SYMBOL: the currency symbol.
stdCURRENT_DATE() → dynamic
CURRENT-DATE (returns a full timestamp string yyyyMMddHHmmsscc+HHmm)
stdDATE_OF_INTEGER(dynamic value) → dynamic
DATE-OF-INTEGER(n) → YYYYMMDD
stdDATE_TO_YYYYMMDD(dynamic v1, dynamic v2) → dynamic
DATE-TO-YYYYMMDD(yymmdd, pivot)
stdDAY_OF_INTEGER(dynamic value) → dynamic
DAY-OF-INTEGER(n) → YYYYDDD
stdE() → dynamic
Expression function E: the constant e.
stdEXP(dynamic value) → dynamic
Expression function EXP(x): e to the power x.
stdEXP10(dynamic value) → dynamic
Expression function EXP10(x): 10 to the power x.
stdFACTORIAL(dynamic value) → dynamic
FACTORIAL:n!
stdFRACTION_PART(dynamic value) → dynamic
FRACTION-PART: the fractional part
stdHIGHEST_ALGEBRAIC(dynamic value) → dynamic
HIGHEST-ALGEBRAIC: the type's maximum value (based on the runtime type)
stdINTEGER(dynamic value) → dynamic
INTEGER: rounds down (floor)
stdINTEGER_OF_BOOLEAN(dynamic value) → dynamic
INTEGER-OF-BOOLEAN(s): converts a bit string to an integer
stdINTEGER_OF_DATE(dynamic value) → dynamic
INTEGER-OF-DATE(YYYYMMDD) → integer day
stdINTEGER_OF_DAY(dynamic value) → dynamic
INTEGER-OF-DAY(YYYYDDD) → integer day
stdINTEGER_PART(dynamic value) → dynamic
INTEGER-PART: truncates toward zero
stdLENGTH(dynamic value) → dynamic
Expression function LENGTH(s): string length.
stdLOCALE_COMPARE(dynamic v1, dynamic v2) → dynamic
LOCALE-COMPARE(s1, s2) → '<' '=' '>'
stdLOCALE_DATE(dynamic value) → dynamic
Expression function LOCALE_DATE(d): date formatted for the locale.
stdLOCALE_TIME(dynamic value) → dynamic
Expression function LOCALE_TIME(t): time formatted for the locale.
stdLOG(dynamic value) → dynamic
Expression function LOG(x): natural logarithm.
stdLOG10(dynamic value) → dynamic
Expression function LOG10(x): base-10 logarithm.
stdLOWER_CASE(dynamic value) → dynamic
Expression function LOWER_CASE(s): lower-case copy.
stdLOWEST_ALGEBRAIC(dynamic value) → dynamic
LOWEST-ALGEBRAIC: the type's minimum value
stdMAX(List values) → dynamic
Expression function MAX(...): largest value.
stdMEAN(List values) → dynamic
Expression function MEAN(...): arithmetic mean.
stdMEDIAN(List values) → dynamic
Expression function MEDIAN(...): median.
stdMIDRANGE(List values) → dynamic
Expression function MIDRANGE(...): average of the largest and smallest value.
stdMIN(List values) → dynamic
Expression function MIN(...): smallest value.
stdMOD(dynamic v1, dynamic v2) → dynamic
MOD: result's sign matches the divisor (COBOL standard)
stdMONETARY_DECIMAL_POINT() → dynamic
Expression function MONETARY_DECIMAL_POINT: monetary decimal point.
stdMONETARY_THOUSANDS_SEPARATOR() → dynamic
Expression function MONETARY_THOUSANDS_SEPARATOR: monetary thousands separator.
stdNUMERIC_DECIMAL_POINT() → dynamic
Expression function NUMERIC_DECIMAL_POINT: numeric decimal point.
stdNUMERIC_THOUSANDS_SEPARATOR() → dynamic
Expression function NUMERIC_THOUSANDS_SEPARATOR: numeric thousands separator.
stdNUMVAL(dynamic value) → dynamic
Expression function NUMVAL(s): string to number.
stdNUMVAL_C(dynamic v1, dynamic v2) → dynamic
Expression function NUMVAL_C(s, symbol): string with a currency symbol to number.
stdNUMVAL_F(dynamic value) → dynamic
Expression function NUMVAL_F(s): floating-point string (e.g. 1.5E2) to number.
stdORD(dynamic value) → dynamic
ORD(c): character → ordinal (= ASCII + 1)
stdORD_MAX(List values) → dynamic
ORD-MAX: returns the 1-based index of the maximum value
stdORD_MIN(List values) → dynamic
ORD-MIN: returns the 1-based index of the minimum value
stdPI() → dynamic
Expression function PI: the constant pi.
stdPRESENT_VALUE(List values) → dynamic
PRESENT-VALUE(rate, amt1, amt2, ...)
stdRANDOM(dynamic value) → dynamic
RANDOM(seed): doesn't reset when seed=0
stdRANGE(List values) → dynamic
Expression function RANGE(...): largest minus smallest value.
stdREM(dynamic v1, dynamic v2) → dynamic
REM: result's sign matches the dividend
stdREVERSE(dynamic value) → dynamic
Expression function REVERSE(s): reversed string.
stdSECONDS_PAST_MIDNIGHT() → dynamic
SECONDS-PAST-MIDNIGHT
stdSIGN(dynamic value) → dynamic
Expression function SIGN(x): -1, 0 or 1.
stdSIN(dynamic value) → dynamic
Expression function SIN(x): sine.
stdSQRT(dynamic value) → dynamic
Expression function SQRT(x): square root.
stdSTANDARD_COMPARE(dynamic v1, dynamic v2) → dynamic
STANDARD-COMPARE(s1, s2) → '<' '=' '>'
stdSTANDARD_DEVIATION(List values) → dynamic
Expression function STANDARD_DEVIATION(...): standard deviation.
stdSTORED_CHAR_LENGTH(dynamic value) → dynamic
Expression function STORED_CHAR_LENGTH(s): length without trailing spaces.
stdSUBSTITUTE(List values) → dynamic
SUBSTITUTE(str, from1, to1, from2, to2, ...)
stdSUBSTITUTE_CASE(List values) → dynamic
SUBSTITUTE-CASE (case-insensitive)
stdSUM(List values) → dynamic
Expression function SUM(...): sum.
stdTAN(dynamic value) → dynamic
Expression function TAN(x): tangent.
stdTEST_DATE_YYYYMMDD(dynamic value) → dynamic
TEST-DATE-YYYYMMDD: 0=valid
stdTEST_DAY_YYYYDDD(dynamic value) → dynamic
TEST-DAY-YYYYDDD: 0=valid
stdTEST_NUMVAL(dynamic value) → dynamic
Expression function TEST_NUMVAL(s): 0 when stdNUMVAL can convert the string.
stdTEST_NUMVAL_C(dynamic v1, dynamic v2) → dynamic
Expression function TEST_NUMVAL_C(s, symbol): 0 when stdNUMVAL_C can convert the string.
stdTEST_NUMVAL_F(dynamic value) → dynamic
Expression function TEST_NUMVAL_F(s): 0 when stdNUMVAL_F can convert the string.
stdTRIM(dynamic v1, dynamic v2) → dynamic
TRIM(str, mode) mode: 'LEADING' | 'TRAILING' | '' (both ends)
stdUPPER_CASE(dynamic value) → dynamic
Expression function UPPER_CASE(s): upper-case copy.
stdVARIANCE(List values) → dynamic
Expression function VARIANCE(...): variance.
stdWHEN_COMPILED() → dynamic
WHEN-COMPILED: same as CURRENT-DATE
stdYEAR_TO_YYYY(dynamic v1, dynamic v2) → dynamic
YEAR-TO-YYYY(yy, pivot)
strToHex(String source) → String
String → UTF-8 hex string
tt_ADDWORKDAYS(dynamic v1, dynamic v2) → dynamic
tt_ADDWORKDAYS(date, n): adds n working days (skips Sat/Sun)
tt_AGE(dynamic v1, dynamic v2) → dynamic
tt_AGE(birthdate, asofdate): calculates age in full years from a birthdate
tt_ARRAVG(List values) → dynamic
tt_ARRAVG(values): the average of several values
tt_ARRCONTAINS(List values) → dynamic
tt_ARRCONTAINS(values, target): the last argument is target
tt_ARRJOIN(List values) → dynamic
tt_ARRJOIN(values, delim): the last argument is delim
tt_ARRMAX(List values) → dynamic
tt_ARRMAX(values): the maximum of several values
tt_ARRMIN(List values) → dynamic
tt_ARRMIN(values): the minimum of several values
tt_ARRSUM(List values) → dynamic
tt_ARRSUM(values): the sum of several values
tt_ARRUNIQ(List values) → dynamic
tt_ARRUNIQ(values): removes duplicate values, returns joined by commas
tt_As10(dynamic value) → dynamic
tt_As10(v):Boolean → '1'/'0'
tt_AsBit(dynamic value) → dynamic
tt_AsBit(v): integer → '1'/'0'
tt_AsBool(dynamic value) → dynamic
tt_AsBool(v):Variant → Boolean
tt_AsCsv(List values) → dynamic
tt_AsCsv(values): multiple values → a single CSV line
tt_AsCurr(dynamic v1, dynamic v2) → dynamic
tt_AsCurr(v, d): thousands-separated currency string
tt_AsDate(dynamic value) → dynamic
tt_AsDate(v): Variant → date (DateTime)
tt_AsDateTime(dynamic value) → dynamic
tt_AsDateTime(v): Variant → date-time
tt_AsDefault(dynamic v1, dynamic v2) → dynamic
tt_AsDefault(v, default): uses the default value when Null
tt_AsDQuoted(dynamic value) → dynamic
tt_AsDQuoted(v): wrapped in double quotes, internal quotes backslash-escaped
tt_AsFixed(dynamic v1, dynamic v2) → dynamic
tt_AsFixed(v, d): fixed-decimal-place string
tt_AsFloat(dynamic value) → dynamic
tt_AsFloat(v):Variant → Float
tt_AsHex(dynamic v1, dynamic v2) → dynamic
tt_AsHex(v, width): integer → hexadecimal
tt_AsInt(dynamic value) → dynamic
tt_AsInt(v):Variant → Integer
tt_AsISO(dynamic value) → dynamic
tt_AsISO(v): ISO 8601 date string
tt_AsJson(dynamic value) → dynamic
tt_AsJson(v): a single value → a plain JSON value
tt_AsLower(dynamic value) → dynamic
tt_AsLower(v): all lowercase
tt_AsNullable(dynamic value) → dynamic
tt_AsNullable(v): empty→NULL, otherwise quoted
tt_AsOct(dynamic value) → dynamic
tt_AsOct(v): integer → octal
tt_AsPct(dynamic v1, dynamic v2) → dynamic
tt_AsPct(v, d): percentage string
tt_AsQuoted(dynamic value) → dynamic
tt_AsQuoted(v): wrapped in single quotes, internal quotes doubled (escaped)
tt_AsRDate(dynamic value) → dynamic
tt_AsRDate(v): ROC-calendar-year date
tt_AsRDateTime(dynamic value) → dynamic
tt_AsRDateTime(v): ROC-calendar-year date-time
tt_AsSci(dynamic v1, dynamic v2) → dynamic
tt_AsSci(v, d): scientific-notation string, formatted as 1.23E+04 (uppercase E, exponent zero-padded to 2 digits)
tt_AsSlug(dynamic value) → dynamic
tt_AsSlug(v):URL slug
tt_AsSQLStr(dynamic value) → dynamic
tt_AsSQLStr(v): SQL-safe string (inside single quotes, ' becomes '')
tt_AsString(dynamic value) → dynamic
tt_AsString(v):Variant → String
tt_AsTF(dynamic value) → dynamic
tt_AsTF(v):Boolean → 'T'/'F'
tt_AsTime(dynamic value) → dynamic
tt_AsTime(v): Variant → time
tt_AsTrimmed(dynamic value) → dynamic
tt_AsTrimmed(v): trims whitespace from both ends
tt_AsUpper(dynamic value) → dynamic
tt_AsUpper(v): all uppercase
tt_AsYN(dynamic value) → dynamic
tt_AsYN(v):Boolean → 'Y'/'N'
tt_BETWEEN(dynamic v1, dynamic v2, dynamic v3) → dynamic
tt_BETWEEN(value, lo, hi): whether a value is within the lo, hi range
tt_BITAND(dynamic v1, dynamic v2) → dynamic
tt_BITAND(a, b): bitwise AND
tt_BITNOT(dynamic value) → dynamic
tt_BITNOT(a): bitwise NOT (uses the pure-arithmetic equivalent -x-1 instead of the ~ operator, to guard against possible bitwise-op discrepancies under Web compilation)
tt_BITOR(dynamic v1, dynamic v2) → dynamic
tt_BITOR(a, b): bitwise OR
tt_BITSHL(dynamic v1, dynamic v2) → dynamic
tt_BITSHL(a, n): shift left n bits
tt_BITSHR(dynamic v1, dynamic v2) → dynamic
tt_BITSHR(a, n): shift right n bits
tt_BITXOR(dynamic v1, dynamic v2) → dynamic
tt_BITXOR(a, b): bitwise XOR
tt_BOMDATE(dynamic v1, dynamic v2) → dynamic
tt_BOMDATE(year, month): the first day of the given year/month
tt_BR2CRLF(dynamic value) → dynamic
tt_BR2CRLF(str):
→ newline
tt_BYTESIZE(dynamic value) → dynamic
tt_BYTESIZE(n): returns how many bytes are needed to store n bits
tt_CAPWORDS(dynamic value) → dynamic
tt_CAPWORDS(str): capitalizes the first letter of each word
tt_CBRT(dynamic value) → dynamic
tt_CBRT(x): cube root
tt_CHARAT(dynamic v1, dynamic v2) → dynamic
tt_CHARAT(str, n): gets the nth character (1-based)
tt_CHECKSUM(dynamic value) → dynamic
tt_CHECKSUM(str): XOR checksum
tt_CHOOSE(List values) → dynamic
tt_CHOOSE(index, values): picks a value from the list by (1-based) index
tt_CLAMP(dynamic v1, dynamic v2, dynamic v3) → dynamic
tt_CLAMP(value, lo, hi): clamps a value to the lo, hi range
tt_COALESCE(List values) → dynamic
tt_COALESCE: returns the first non-Null value (variadic)
tt_COMMAFMT(dynamic value) → dynamic
tt_COMMAFMT(value): adds thousands separators to a number (integer)
tt_CONTAINS(dynamic v1, dynamic v2) → dynamic
tt_CONTAINS(str, substr): whether the string contains the substring
tt_COUNTSTR(dynamic v1, dynamic v2) → dynamic
tt_COUNTSTR(substr, str): counts occurrences of a substring
tt_CRLF2BR(dynamic value) → dynamic
tt_CRLF2BR(str): newline →
tt_CUMIPMT(List values) → dynamic
tt_CUMIPMT(rate, nper, pv, startPeriod, endPeriod): cumulative interest
tt_DATEADD(dynamic v1, dynamic v2, dynamic v3) → dynamic
tt_DATEADD(date, n, unit): adds/subtracts from a date; unit='D'/'M'/'Y'/'W'
tt_DATEDIFF(dynamic v1, dynamic v2, dynamic v3) → dynamic
tt_DATEDIFF(date1, date2, unit): date difference
tt_DATEEND(dynamic v1, dynamic v2) → dynamic
tt_DATEEND(date, unit): end of a period; unit='M'=end of month/'Y'=end of year
tt_DATESERIAL(dynamic v1, dynamic v2, dynamic v3) → dynamic
tt_DATESERIAL(y, m, d): builds a DateTime from year/month/day
tt_DATESTART(dynamic v1, dynamic v2) → dynamic
tt_DATESTART(date, unit): start of a period; unit='M'=start of month/'Y'=start of year/'W'=Monday
tt_DAYNAME(dynamic value) → dynamic
tt_DAYNAME(date): weekday name (returned in Chinese — this is a data value used by WML output, not a comment, so it is intentionally left untranslated; translating it would change the function's runtime behavior)
tt_DECODE(List values) → dynamic
tt_DECODE(val, case1, result1, ..., default):Oracle DECODE
tt_DEG2RAD(dynamic value) → dynamic
tt_DEG2RAD(deg): degrees → radians
tt_ELLIPSIS(dynamic v1, dynamic v2) → dynamic
tt_ELLIPSIS(str, maxLen): truncates and adds '...'
tt_ENDSWITH(dynamic v1, dynamic v2) → dynamic
tt_ENDSWITH(str, suffix): whether the string ends with suffix
tt_EOMDATE(dynamic v1, dynamic v2) → dynamic
tt_EOMDATE(year, month): the last day of the given year/month
tt_EVEN(dynamic value) → dynamic
tt_EVEN(n): the smallest even number ≥ n
tt_FIB(dynamic value) → dynamic
tt_FIB(n): the nth Fibonacci number (0-based)
tt_FISCALQUARTER(dynamic v1, dynamic v2) → dynamic
tt_FISCALQUARTER(date, fiscalStartMonth): fiscal quarter
tt_FISCALYEAR(dynamic v1, dynamic v2) → dynamic
tt_FISCALYEAR(date, fiscalStartMonth): fiscal year
tt_FROMBIN(dynamic value) → dynamic
tt_FROMBIN(str): converts a binary string to an integer
tt_FROMHEX(dynamic value) → dynamic
tt_FROMHEX(str): converts a hex string to an integer
tt_FV(dynamic v1, dynamic v2, dynamic v3, dynamic v4) → dynamic
tt_FV(rate, nper, pmt, pv): future value
tt_GCD(dynamic v1, dynamic v2) → dynamic
tt_GCD(a, b): greatest common divisor
tt_GEOMEAN(List values) → dynamic
tt_GEOMEAN(values): geometric mean
tt_GUID() → dynamic
tt_GUID: generates a new GUID string
tt_HARMEAN(List values) → dynamic
tt_HARMEAN(values): harmonic mean
tt_HASH(dynamic value) → dynamic
tt_HASH(str): a simple djb2 hash (32-bit, returned as a hex string)
tt_HTMLDECODE(dynamic value) → dynamic
tt_HTMLDECODE(str): HTML special-character decoding
tt_HTMLENCODE(dynamic value) → dynamic
tt_HTMLENCODE(str): HTML special-character encoding
tt_HYPOT(dynamic v1, dynamic v2) → dynamic
tt_HYPOT(a, b): hypotenuse of a right triangle, sqrt(a²+b²)
tt_INDEXOF(dynamic v1, dynamic v2, dynamic v3) → dynamic
tt_INDEXOF(str, sub, start): finds a substring starting from start (1-based)
tt_IPMT(dynamic v1, dynamic v2, dynamic v3, dynamic v4) → dynamic
tt_IPMT(rate, per, nper, pv): interest portion of payment n
tt_IRR(List values) → dynamic
tt_IRR(values, guess): internal rate of return (Newton-Raphson iteration)
tt_ISPRIME(dynamic value) → dynamic
tt_ISPRIME(n): whether n is prime
tt_ISWEEKDAY(dynamic value) → dynamic
tt_ISWEEKDAY(date): whether it's a weekday (Monday~Friday)
tt_ISWEEKEND(dynamic value) → dynamic
tt_ISWEEKEND(date): whether it's Saturday or Sunday
tt_JOIN(dynamic v1, dynamic v2) → dynamic
tt_JOIN(values, delim): merges after cleaning up extra whitespace
tt_KEEPCHARS(dynamic v1, dynamic v2) → dynamic
tt_KEEPCHARS(str, chars): keeps only the given set of characters
tt_LASTINDEXOF(dynamic v1, dynamic v2) → dynamic
tt_LASTINDEXOF(str, sub): finds a substring searching from the right (1-based)
tt_LCM(dynamic v1, dynamic v2) → dynamic
tt_LCM(a, b): least common multiple
tt_LERP(dynamic v1, dynamic v2, dynamic v3) → dynamic
tt_LERP(a, b, t): linear interpolation a + (b-a)*t
tt_LOG2(dynamic value) → dynamic
tt_LOG2(x): base-2 logarithm
tt_LOGN(dynamic v1, dynamic v2) → dynamic
tt_LOGN(base, x): logarithm base base
tt_LPAD(dynamic v1, dynamic v2, dynamic v3) → dynamic
tt_LPAD(str, len, ch): left-pads with the given character to width len
tt_MASK(dynamic v1, dynamic v2, dynamic v3) → dynamic
tt_MASK(str, mask, placeholder): mask formatting (placeholder defaults to '#')
tt_MONTHNAME(dynamic value) → dynamic
tt_MONTHNAME(date): month name (returned in Chinese — see the note on tt_DAYNAME above)
tt_NEXTWDAY(dynamic v1, dynamic v2) → dynamic
tt_NEXTWDAY(date, dow): finds the next occurrence of the given weekday from date (dow=1 Mon..7 Sun)
tt_NPER(dynamic v1, dynamic v2, dynamic v3) → dynamic
tt_NPER(rate, pmt, pv): number of payment periods
tt_NPV(List values) → dynamic
tt_NPV(rate, values): net present value
tt_NUMFMT(dynamic v1, dynamic v2) → dynamic
tt_NUMFMT(value, decimals): numeric formatting, thousands separator + decimal places
tt_NVL(dynamic v1, dynamic v2) → dynamic
tt_NVL(value, default): returns default if value is Null
tt_NVL2(dynamic v1, dynamic v2, dynamic v3) → dynamic
tt_NVL2(value, notNullVal, nullVal):Oracle NVL2
tt_ODD(dynamic value) → dynamic
tt_ODD(n): the smallest odd number ≥ n
tt_ONLYALPHA(dynamic value) → dynamic
tt_ONLYALPHA(str): keeps only English letters
tt_ONLYDIGITS(dynamic value) → dynamic
tt_ONLYDIGITS(str): keeps only digits
tt_PADC(dynamic v1, dynamic v2) → dynamic
tt_PADC(str, len): center-pads with spaces to width len
tt_PADL(dynamic v1, dynamic v2) → dynamic
tt_PADL(str, len): left-pads with spaces to width len
tt_PADR(dynamic v1, dynamic v2) → dynamic
tt_PADR(str, len): right-pads with spaces to width len
tt_PERCENT(dynamic v1, dynamic v2) → dynamic
tt_PERCENT(part, total): percentage calculation
tt_PMT(dynamic v1, dynamic v2, dynamic v3) → dynamic
tt_PMT(rate, nper, pv): the equal payment amount
tt_PPMT(dynamic v1, dynamic v2, dynamic v3, dynamic v4) → dynamic
tt_PPMT(rate, per, nper, pv): principal portion of payment n
tt_PREVWDAY(dynamic v1, dynamic v2) → dynamic
tt_PREVWDAY(date, dow): finds the previous occurrence of the given weekday before date
tt_PRODUCT(List values) → dynamic
tt_PRODUCT(values): product of the values Π(xᵢ)
tt_PV(dynamic v1, dynamic v2, dynamic v3) → dynamic
tt_PV(rate, nper, pmt): present value
tt_QUARTER(dynamic value) → dynamic
tt_QUARTER(date): gets the quarter (1~4)
tt_QUARTILE(List values) → dynamic
tt_QUARTILE(values, q): quartile; q=1 Q1, q=2 median, q=3 Q3
tt_RAD2DEG(dynamic value) → dynamic
tt_RAD2DEG(rad): radians → degrees
tt_RANDOMSTR(dynamic v1, dynamic v2) → dynamic
tt_RANDOMSTR(len, chars): generates a random string of the given length
tt_RATE(dynamic v1, dynamic v2, dynamic v3) → dynamic
tt_RATE(nper, pmt, pv): interest rate per period (Newton-Raphson approximation)
tt_RDATE(dynamic value) → dynamic
tt_RDATE(date): ROC-calendar-year date string YYY/MM/DD
tt_RDATETIME(dynamic value) → dynamic
tt_RDATETIME(date): ROC-calendar-year date-time string YYY/MM/DD HH:MM:SS
tt_REMOVECHARS(dynamic v1, dynamic v2) → dynamic
tt_REMOVECHARS(str, chars): removes the given set of characters
tt_REPEAT(dynamic v1, dynamic v2) → dynamic
tt_REPEAT(str, n): repeats the string n times
tt_ROUNDBANK(dynamic v1, dynamic v2) → dynamic
tt_ROUNDBANK(value, decimals): banker's rounding (round half to even)
tt_RPAD(dynamic v1, dynamic v2, dynamic v3) → dynamic
tt_RPAD(str, len, ch): right-pads with the given character to width len
tt_SLUGIFY(dynamic value) → dynamic
tt_SLUGIFY(str): converts to a URL slug
tt_SPLIT(dynamic v1, dynamic v2, dynamic v3) → dynamic
tt_SPLIT(str, delim, n): splits and takes the nth token (1-based)
tt_SPLITCOUNT(dynamic v1, dynamic v2) → dynamic
tt_SPLITCOUNT(str, delim): number of tokens after splitting
tt_STARTSWITH(dynamic v1, dynamic v2) → dynamic
tt_STARTSWITH(str, prefix): whether the string starts with prefix
tt_SUMSQ(List values) → dynamic
tt_SUMSQ(values): sum of squares Σ(xᵢ²)
tt_SWITCH(List values) → dynamic
tt_SWITCH(val, case1, result1, case2, result2, ..., defaultVal)
tt_TIMESERIAL(dynamic v1, dynamic v2, dynamic v3) → dynamic
tt_TIMESERIAL(h, m, s): builds a DateTime from hour/minute/second
tt_TOBIN(dynamic v1, dynamic v2) → dynamic
tt_TOBIN(n, width): converts an integer to a binary string
tt_TODATE(dynamic value) → dynamic
tt_TODATE: safely converts to date
tt_TOFLOAT(dynamic value) → dynamic
tt_TOFLOAT: safely converts to float
tt_TOHEX(dynamic value) → dynamic
tt_TOHEX(n): converts an integer to a hex string (no padding)
tt_TOINT(dynamic value) → dynamic
tt_TOINT: safely converts to integer
tt_TOKENAT(dynamic v1, dynamic v2, dynamic v3) → dynamic
tt_TOKENAT(str, delims, n): takes a token using multi-character delimiters (1-based)
tt_TRUNCWORDS(dynamic v1, dynamic v2) → dynamic
tt_TRUNCWORDS(str, n): truncates to the first n words
tt_TYPENAME(dynamic value) → dynamic
tt_TYPENAME: the type's name
tt_UNMASK(dynamic v1, dynamic v2, dynamic v3) → dynamic
tt_UNMASK(str, mask, placeholder): removes the mask, keeping only the characters at placeholder positions (placeholder defaults to '#')
tt_URLENCODE(dynamic value) → dynamic
tt_URLENCODE(str): URL percent-encoding
tt_WORKDAYS(dynamic v1, dynamic v2) → dynamic
tt_WORKDAYS(date1, date2): counts working days (excludes Sat/Sun)
tt_WRAP(dynamic v1, dynamic v2) → dynamic
tt_WRAP(str, width): inserts a line break (CRLF) every width characters
tt_YEARFRAC(dynamic v1, dynamic v2) → dynamic
tt_YEARFRAC(date1, date2): the fraction of a year between two dates (Actual/365)
tt_ZFILL(dynamic v1, dynamic v2) → dynamic
tt_ZFILL(n, width): zero-pads an integer to width digits
varToDateTime(dynamic v) → DateTime?
Converts an expression value to a DateTime, or null.
varToDouble(dynamic v) → double
Converts an expression value to a double (0 when not numeric).
varToInt(dynamic v) → int
Converts an expression value to an int (0 when not numeric).
varToStr(dynamic v) → String
Converts an expression value to a string (null becomes '').

Typedefs

Func0 = dynamic Function()
Function type aliases
Func1 = dynamic Function(dynamic value)
A custom function taking one argument (see WapEvaluator.addFunction1Param).
Func2 = dynamic Function(dynamic v1, dynamic v2)
A custom function taking two arguments.
Func3 = dynamic Function(dynamic v1, dynamic v2, dynamic v3)
A custom function taking three arguments.
Func4 = dynamic Function(dynamic v1, dynamic v2, dynamic v3, dynamic v4)
A custom function taking four arguments.
FuncA = dynamic Function(List values)
A custom function taking any number of arguments, passed as a list.