Description | Returns the absolute value of a numeric value |
Return | Absolute value of the number referred in the expressions |
Return (Null) | Error: Incorrect argument count |
Syntax | Abs(number) |
Parameters | This function has the following parameters: • number - Any valid numeric expression. |
Remarks | The absolute value of a number is the unsigned magnitude of the number. The abs function returns a double value, if the argument is a floating point value. If the argument is not a floating point value, then the return value is an integer, and in that case is constrained by the bounds below: • Lower bounds: -2147483648 • Upper bounds: 2147483647 Caution! This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
See Also | |
Example | Each of the following expressions evaluate the value to 33: Abs(-33) Abs(33) |
Description | Formats (cleans) street address data to USPS standards |
Return | Address field string formatted according to Post Office standards (U.S.) |
Return (Null) | Error: Incorrect argument count. |
Syntax | Add1Fmt(string) |
Parameters | This function has the following parameters: • string - Any valid source field name, or any valid string. If it is a string literal, enclose in quotation marks. Example: Add1Fmt("12 Hall St") |
Remarks | Caution! This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
See Also | |
Example | The following example displays how to format the data in the source field Address1 to USPS standards: Add1Fmt(FieldAt("/SOURCE/R1/Address1")) Applied to a field containing: 1340 N 42nd Street, #2506 or 1555 Meadow Oak Drive Returns: 1340 N 42ND ST # 2506 and 1555 MEADOW OAK DR |
Description | Splits (parses) a street address field |
Return | Address parts, such as number, street name, suffix, etc., to a different field or fields |
Return (Null) | Error: Incorrect argument count. |
Syntax | Add1Part(part,string) |
Parameters | This function has the following parameters. If the string is a string literal, enclose the string in quotation marks. • part - Denotes which part of the address will be returned: – NU: Street number – PRD - Pre-directional – SN - Street name – SU - Suffix – POD - Post-directional – SAU - Secondary address unit – SAR - Secondary address range – REM - Remainder • string - The search string from the source file. It can be entered either as a specific string, or as a field name. If it is a string literal, enclose in quotation marks. Example: Add1Part("NU", FieldAt("/SOURCE/R1/Address1")) |
Remarks | When a field in the source file contains a street address, it is sometimes desirable to split (parse) the full address into parts and write each part to a separate field in the target file. See the Parameters table for a list of all supported parts. Caution! This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
See Also | |
Example | To parse a street address field into separate fields in your target file, where the entire street address is in one source field called "Address1", each of the following line is added in a separate target field expression: Add1Part("NU", FieldAt("/SOURCE/R1/Address1")) Add1Part("PRD", FieldAt("/SOURCE/R1/Address1")) Add1Part("SN", FieldAt("/SOURCE/R1/Address1")) Add1Part("SU", FieldAt("/SOURCE/R1/Address1")) Applied to a Address1 containing: 5653 S Blackstone Avenue, #3E Returns: For NU: 5653 For PRD: S For SN: BLACKSTONE For SU: AVE |
Target Field Name | Target Field Expression | Notes |
---|---|---|
Direction | Add1Part("PRD", FieldAt("/SOURCE/R1/Address1")) | "PRD" places the pre-directional in the Direction field |
Number | Add1Part("NU", FieldAt("/SOURCE/R1/Address1")) | "NU" places the street number in the Number field |
Street | Add1Part("SN", FieldAt("/SOURCE/R1/Address1")) | "SN" places the street name in the Street field |
Description | Splits (parses) an address field |
Return | Address parts, such as city, state, ZIP, to a different field or fields |
Return (Null) | Error: Incorrect argument count. |
Syntax | Add2Part(part,string) |
Parameters | This function has the following parameters. • part - Denotes which part of the address will be returned: – c - City – s - State – z - ZIP code Note: The ZIP code must be supplied in the standard 5-digit or 5-4 digit format (such as 78727 or 78727-6418). Data in any other format is ignored. • string - This is the search string from the source file. It can be entered either as a specific string, or as a field name: "Field1".If it is a string literal, enclose in quotation marks. Example: Add2Part("c" "Austin, TX, 78727") |
Remarks | When a field in the source file contains a full city-state-ZIP address, it is sometimes desirable to split (parse) the full address into parts (city, state, ZIP) and write each part to a separate field in the target file. Caution This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
See Also | |
Example | To parse an address field into separate fields in your target file, where the city, state, and ZIP are in one field, called "Address2" in the source file. Each of the following lines is entered in a separate target field expression: Add2Part("c", FieldAt("/SOURCE/R1/Address2")) Add2Part("s", FieldAt("/SOURCE/R1/Address2")) Add2Part("z", FieldAt("/SOURCE/R1/Address2")) Applied to Address2 containing: Austin, TX, 78727, 334 Hilltop Dr Returns: For c: Austin For s: 334 Hilltop Dr, TX, For z: 78727 |
Target Field Name | Target Field Expression | Notes |
City | Add2Part("c", FieldAt("/SOURCE/R1/Address")) | "c" places the city in the City field |
State | Add2Part("s", FieldAt("/SOURCE/R1/Address")) | "s" places the state in the State field |
ZIP | Add2Part("z", FieldAt("/SOURCE/R1/Address")) | "z" places the zip code in the ZIP field |
Description | Finds the first character in a string. |
Return | ASCII code (not hexadecimal code) for the first character in a string |
Return (Null) | Error: Incorrect argument count. |
Syntax | Asc(string) |
Parameters | This function has the following parameters: • string - Any valid string expression. If the string is a string literal, enclose the string in quotation marks. Example: Asc("string") |
Remarks | Caution! This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
See Also | |
Example | Locate the first letter of the source field "FirstName" and return the ASCII code for that character: Asc(FieldAt("/SOURCE/R1/FirstName")) |
Description | Converts a Base64 string |
Return | Binary value when supplied with a Base64 string |
Return (Null) | Error: Too few arguments. |
Syntax | B64Decode(src, [encoding]) |
Parameters | This function has the following parameters: • src - Required. Contains the Base64-formatted string to be decoded. • encoding - Optional. If you use the encoding parameter, you are limited to DJENC_xxx values. If the parameter is not set, DJENC_OEM is used (uses the current CodePage). For a list of all of the encoding constants available for this parameter, see Constant Values for Encoding Parameters in EZscript. |
Remarks | To convert a string of binary values into Base64 format, use the B64 Encode function. Caution! This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
See Also | |
Example | This expression converts "Field1" contents from Unicode UTF-8 encoding into its original format: B64Decode(FieldAt("/SOURCE/R1/Field1"), ENC_UTF8) Another example with harcoded expression (encoded value) and it gives "DataConnect Engineering" as decoded value in return B64Decode("RGF0YUNvbm5lY3QgRW5naW5lZXJpbmc=") |
Description | Converts a string of binary values |
Return | Base64 format when supplied with binary values |
Return (Null) | Error: Too few arguments. |
Syntax | B64Encode(src, [encoding]) |
Parameters | This function has the following parameters: • src - Required. Contains the string of binary values to be encoded. • encoding - Optional. If you use the encoding parameter, you are limited to DJENC_xxx values. If the parameter is not set, ENC_OEM is used (uses the current CodePage). For a list of all of the encoding constants available for this parameter, see Constant Values for Encoding Parameters in EZscript. |
Remarks | To convert the Base64 string back to the original binary string, use the B64 Decode function. After conversion, the new Base64 string can be assigned to a target field in an XML document, for example. B64 Encode/Decode functions are useful for manipulating binary objects such as icons, bitmaps, and audio files, etc. Caution This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
See Also | |
Example | This expression converts "Field1" into Base64 format using Unicode UTF-8 encoding (encodes string of values in Field1 into 8-bit characters): B64Encode(FieldAt("/SOURCE/R1/Field1"), ENC_UTF8) |
Description | Converts a decimal into a binary string |
Return | Equivalent binary string when supplied with a decimal value |
Return (Null) | Error: Incorrect argument count. |
Syntax | Bin(number) |
Parameters | This function has the following parameters: • number - Required. Decimal to be converted into binary string. |
Remarks | Caution! This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
See Also | |
Example | The following expression returns 1001001: Bin(73) |
Description | Converts the result of a string, number, or expression to a Boolean data type. |
Return | Boolean data type when supplied with a string, number, or expression |
Return (Null) | Error: Invalid use of NULL. |
Syntax | CBool(string) |
Parameters | This function has the following parameters: • string - A number or an expression. If the string is a string literal, enclose the string in quotation marks. CBool("string"). Note: This function supports only true, false, yes, no, and numeric values. |
Remarks | If the string expression evaluates to a nonzero value, CBool returns True with a value of -1; otherwise, it returns False with a value of 0. Caution! This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
See Also | |
Example | If Field1 contains data, this expression returns a value of –1 to indicate it is True; if Field1 is blank, this expression returns a value of 0 to indicate it is False: CBool(Trim(FieldAt("/SOURCE/R1/Field1"))) Best Practice — Add the Trim function to remove any spaces that might be in the field. Without Trim, the expression would return True (-1) if there were one or more spaces in Field1. See Trim Function. |
Description | Converts a number or numeric string into a Byte data type |
Return | Byte data type when supplied with a number or numeric string |
Return (Null) | Error: Invalid use of NULL. |
Syntax | CByte(number) |
Parameters | This function has the following parameters: • number - Any valid integer expression with a value between 0 (zero) and 255. |
Remarks | Caution! This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. It may also return stack underflow errors. |
See Also | |
Examples | 'This example converts all numbers in source ("Field1") into a Byte data type: CByte(FieldAt("/SOURCE/R1/Field1")) 'This example returns 255 to the target as a Byte data type: CByte(255) |
Description | Converts a valid date string to a Date data type in the specified time zone. If the timeZone parameter is not specified, the date and time will be in local time zone. The time zone is specified as the number of seconds offset from UTC. |
Return | Date data type. |
Return (Null) | Error: Invalid use of NULL. |
Syntax | CDate(dateString, [timeZone]) |
Parameters | • dateString - An actual date value or an expression that evaluates to a date value. • timeZone - (optional) The number of seconds offset from UTC. If this parameter is not specified, the local time zone is used. |
Remarks | • You can use the DateValMask Function to define the date mask in your expressions. • The date values "00/00/0000" or "00/00/00" are not valid for this function. These values cause a type mismatch error. Salesforce.com users: When connecting to Salesforce.com, this function returns local time instead of GMT. If needed, create another script (DateAdd for example) to shift the CDate return value. A map can call the second script. |
See Also | |
Example | The following example converts the source field ("Date") into a Date data type. The DateValMask function has been used to define the date mask of the source. Since the timeZone parameter is not specified, the date and time is in local time zone. =CDate(DateValMask(FieldAt("/SOURCE/R1/Date"), "mm/dd/yyyy")) The following example returns a date and time after converting the specified date and time to MDT (-6 hours, or -21600 seconds). =CDate("05/01/2022 13:34:47", -21600) |
Description | Converts the result of a number or numeric string to a Double data type |
Return | Double date type when supplied with a number or numeric string |
Return (Null) | Error: Invalid use of NULL. Error: Type Mismatch Note: This error is produced when the number format is incorrect. |
Syntax | CDbl(number) |
Parameters | This function has the following parameters: • number - Any number between -1.79769313486232E308 to -4.94065645841247E-324 for negative values, and 4.940645841247E-324 to 1.7976931348632E308 for positive values. Enclose in quotation marks. |
Remarks | This function may throw errors for invalid characters, stack overflows, and stack underflows. Caution! This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
See Also | |
Example | This expression converts numeric strings in the source field ("Field1") into Double data types: CDbl(FieldAt("/SOURCE/R1/Field1")) |
Description | Converts the result of a number or numeric string to a Decimal data type |
Return | Decimal data type when supplied with a number or numeric string |
Return (Null) | Error: Invalid use of NULL Error: Type Mismatch Note: This error is produced when the number format is incorrect. |
Syntax | CDec(number) |
Parameters | This function has the following parameters: • number - Any number between -10^58 to 10^58. |
Remarks | This function may throw an error for invalid input. Caution! This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
See Also | |
Example | Example 1: This expression coerces numeric string in the source field ("Field1") to the Decimal data type: CDec(FieldAt("/SOURCE/R1/Field1")) Example 2: Multiply two long data type values and convert the returned value to Decimal data type. If you covert the returned value into long datatype, then it returns Numeric overflow error. =CDec(CLng(2147483647)*CLng(2147483647)) This expression returns 4611686014132420609 in Decimal data type. |
Description | Changes the current working directory from the original directory name to the new directory name |
Return | Not applicable for this function |
Return (Null) | Not applicable for this function |
Syntax | ChangeDirectory(directoryname) |
Parameters | This function has the following parameters: • directoryname - Name of the directory that you want to designate as the current working directory. If the string is a string literal, enclose the string in quotation marks. Example: ChangeDirectory("directoryname") Note: Use MacroExpand() while using macros to pass the parameters. |
Remarks | When using DOS commands, you may also include the drive letter and change the drive as well as the directory winnt, as in the following: ChangeDirectory("c:\winnt") Enclose directory names and paths in quotation marks. |
See Also | |
Example | This expression changes the current directory to TestFiles: ChangeDirectory("C:\TestFiles") |
Description | Converts a string from Unicode using the specified encoding |
Return | String value of a supplied Unicode value |
Return (Null) | Error: Incorrect argument count. |
Syntax | ChangeFromUnicode(string, encoding) |
Parameters | This function has the following parameters: • string - The string to convert. If the string is a string literal, enclose the string in quotation marks. Example: ChangeFromUnicode("string", encoding) • encoding - The value of the desired encoding. |
Remarks | If you do not specify an encoding, the default of ENC_OEM is used. For a list of supported constant names, encodings, values and descriptions, see Constant Values for Encoding Parameters in EZscript. |
See Also | |
Example | This expression changes the string "Test123" from Unicode to ANSI (default) encoding: ChangeFromUnicode("Test123") |
Description | Returns a converted date and time value based on the specified date and time and the time zone. The time zone is specified as the number of seconds offset from UTC. |
Return | Returns a date and time value whose time zone has been changed to the specified time zone. |
Return (Null) | Error: Invalid use of NULL. |
Syntax | ChangeTimeZone(dateString, [timeZone]) |
Parameters | • dateString - An actual date value or an expression that evaluates to a date value. It may be a string, but should usually be an actual date value. • timeZone - (optional) The number of seconds offset from UTC. If this parameter is not specified, the local time zone is used. |
Remarks | Use the DateValMask Function to define the date mask in your expressions. |
See Also | |
Example | In the following example, the value of variable “dt” is set to “05/01/2022 13:34:47” in the local time zone, for example, MDT, -21600, and then changed to the specified time zone 0 (UTC). The result is a date and time value set to 19:34:47 in UTC. dt = cdate("05/01/2022 13:34:47") dt = ChangeTimeZone(dt, 0) |
Description | Converts a string to Unicode using the specified encoding |
Return | Unicode, when supplied with a string |
Return (Null) | Error: Incorrect argument count. |
Syntax | ChangeToUnicode(string, encoding) |
Parameters | This function has the following parameters: • string - The string to convert. If the string is a string literal, enclose the string in quotation marks. Example: ChangeToUnicode("string" encoding) • encoding - The value of the desired encoding. |
Remarks | If you do not specify an encoding, the default of ENC_OEM is used. For a list of supported constant names, encodings, values and descriptions, see Constant Values for Encoding Parameters in EZscript. |
See Also | |
Example | This expression changes the string "Test123" from ANSI to UTF-8 encoding: ChangeToUnicode("Test123", UTF-8) |
Description | Counts the occurrences of a particular character in a string |
Return | Number of occurrences of a particular character in a string |
Return (Null) | Error: Incorrect argument count |
Syntax | CharCount(character, string) |
Parameters | This function has the following parameters: • character - Specify the character that you want to count. If the string is a string literal, enclose the string in quotation marks. • string - Specify a string that you want to count. If the string is a string literal, enclose it in quotation marks. Example: CharCount("a", "string") |
Remarks | This function allows you to count the number of occurrences of a particular character in a string. This is very useful in the Count parameter of events, and also in conjunction with other functions. The CharCount function is case-sensitive. Hence, if the specified character is in lower case, then the count of occurrence will be of lowercase character. Caution! This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
See Also | |
Example 1 | This example returns the number of spaces in the first source field: CharCount(" ",FieldAt("/SOURCE/R1/Field1")) The name "John Thompson Reynolds" would return 2. |
Example 2 | This example returns the number of slashes ( / ) in a source field named "Date": CharCount("/",FieldAt("/SOURCE/R1/Date")) The value "6/9/98" would return 2. |
Example 3 | This example uses CharCount combined with the Parse Function to divide a field into its component parts based on dashes ( - ), and return the last part. If the index is less than 1 or greater it returns a null value. Parse(CharCount("-", FieldAt("/SOURCE/R1/Field8"))+1, FieldAt("/SOURCE/R1/Field8"), "-") "78765-2356" would return 2356. |
Description | Selects a value from a list of values |
Return | Value specified from a list of values of a specific type |
Return (Null) | Error: Too few arguments. |
Syntax | Choose(index, value1[, value2] . . .) |
Parameters | This function has the following parameters: • index (required) - An integer value between 1 and the number of value parameters. • value1 (required) - Specify the value you want to translate. • value2 (optional) - Additional value to translate. You can add value3, value4, etc. See Remarks. |
Remarks | The Choose function takes a variable number of parameters consisting of an index parameter and a list of values as additional parameters. The maximum number of values is 13. Choose returns the parameter corresponding to the index as the function result. Choose can be used to select items from a predefined list or to translate numeric codes into textual values. Each value parameter passed to the Choose function is evaluated, regardless of whether or not it is selected as the result. Care should be taken not to use expressions that might cause undesirable side effects. The Choose function returns null if index is less than 1, or if index is greater than the number of value parameters in the parameter list. Caution! This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
See Also | |
Examples | The following example translates color codes in the ("Color") field to color names: Choose(FieldAt("/SOURCE/R1/Color"), "Red", "Blue", "Green") This example uses the Weekday function to translate the contents of the field ("Date") into the names of the days of the week. The source file contains the dates 12/01/03 through 12/05/03. The corresponding days Monday through Friday are returned to the target: Choose(Weekday(FieldAt("/SOURCE/R1/Date")), "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday") |
Description | Translates a single numeric character code to a Unicode character value. |
Return | Unicode equivalent of a one-character ASCII string |
Return (Null) | Error: Incorrect argument count. |
Syntax | When number is a decimal value: Chr(number) When number is a hexadecimal value: Chr(&H41) |
Parameters | This function has the following parameters: • number - Any valid integer expression with a value 0 to 65,535 (inclusive). |
Remarks | Chr(034) in the first example below represents literal quotation marks. Caution! This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
See Also | |
Examples | To remove quotation marks in the source field named "FIELDNAME" write the following expression: GSub(Chr(034), "", FieldAt("/SOURCE/R1/FIELDNAME")) To get the character value of the hex number 41 use the following expression. (This returns "A" minus the quotes): Chr(&H41) |
Description | Coerces the result of a number or numeric string to an Integer data type |
Return | Integer data type equivalent of a supplied number or numeric string |
Return (Null) | Error: Invalid use of NULL. |
Syntax | CInt(number) |
Parameters | This function has the following parameters: • number - Any number between -32,768 and 32,767. |
Remarks | Fractions are rounded. If the number happens to be exactly .05, then it is rounded to the nearest even number. Example: 0.5 is rounded to 0; 1.5 is rounded to 2. Limitation: CInt supports values of 4 bytes or less. This function differs from the Fix function or the Int function in that it rounds rather than truncating the data. This function may throw errors for invalid characters, stack overflows, and stack underflows. Caution This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
See Also | |
Examples | This expression returns 234 in an Integer data type: CInt(233.6557) The expression below calculates phone call duration in hours, minutes and seconds and determines the difference in seconds between the start and end times 0217094349 and 0217094433. This expression is in total number of seconds. To calculate that field into hours, minutes, and seconds, you can write another expression in a separate target field: CInt(FieldAt("/SOURCE/R1/Field10")) + 60 * CInt(FieldAt("/SOURCE/R1/Field9")) + 3600 * CInt(FieldAt("/SOURCE/R1/Field8"))) - CInt(FieldAt("/SOURCE/R1/Field5")) + 60 * CInt(FieldAt("/SOURCE/R1/Field4")) + 3600 * CInt(FieldAt("/SOURCE/R1/Field3"))) |
Description | Removes all non-printable characters from a user-specified string. The current language of the system determines what is non-printable. For example, a system that uses USA English ASCII characters designates printable characters as between 32 and 126 Decimal. Anything outside of this range would be considered non-printable on that system. |
Return | Specified string with all non-printable characters removed |
Syntax | Clean(string) |
Parameters | This function has the following parameters: • string - The string from which you want to remove all non-printable characters. If the string is a string literal, enclose the string in quotation marks. |
See Also | |
Example | Clean("string") |
Description | Clears the value that has been previously defined for a macro |
Return | Not applicable for this function |
Return (Null) | Error: Incorrect argument count. |
Syntax | ClearMacro(macroname) |
Parameters | This function has the following parameters: • macroname - Name of the macro for which you want to clear the defined value. Example: ClearMacro("macroname") |
See Also | |
Example | Clears the value has been previously defined for the macro named mymacro: ClearMacro("mymacro") |
Description | Convert the result of a numeric string to a Long data type |
Return | Long data type equivalent of a supplied number or numeric string |
Return (Null) | Error: Invalid use of NULL. |
Syntax | CLng(number) |
Parameters | This function has the following parameters: • number - Any number between -2,147,483,648 and 2,147,483,647. |
Remarks | Fractions are rounded. If the number is exactly .05, then it is rounded to the nearest even number. Example: 0.5 is rounded to 1; 1.5 is rounded to 2. This function differs from the Fix and Int functions, because it rounds rather than truncates the data. This function may throw errors for invalid characters, stack overflows, and stack underflows. Caution! This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
See Also | |
Example | This expression converts numeric strings in source ("Field1") into Long data types: CSng(FieldAt("/SOURCE/R1/Field1")) Example: CLng(879.7554) this returns 880 in a Long data type |
Description | Compare two string arguments |
Return | Value that represents the result of a comparison of two string arguments |
Return (Null) | Error: Too few arguments for function |
Syntax | Compare(strexpr1, strexpr2, [ignoreCase]) |
Parameters | This function has the following parameters: • strexp1 - The first string expression. • strexp2 - The second string expression. • ignoreCase - (optional) Specifies the string comparison method. This value must be 0 or 1. – If set to 0, case is not ignored (string comparison is case-sensitive). – If set to 1, case is ignored (string comparison is not case-sensitive). |
Remarks | This function returns a value to indicate the relationship between the string expressions. If strexpr1 is less than strexpr2, -1 is returned. If strexpr1 equals strexpr2, 0 is returned. If strexpr1 is greater than strexpr2, 1 is returned. Tip... Compare and StrComp are interchangeable and identical in syntax. Be careful to observe case when using a function that performs a string-search. String-search Functions are case-sensitive, literal searches. A Function that searches for "x" disregards "X". If the function has an optional parameter "compare", and you do not use the optional compare parameter, the expression is case-sensitive by default. Caution! This function returns a value. The value must be used or stored. Failure to do so causes a stack overflow. See Stack Overflow. |
See Also | |
Example | This example compares "zip" and "ZIP" and requires the string comparison to be case-sensitive by setting "0" for the ignoreCase parameter. It returns "1", since the text strings are mixed case: Compare("zip", "ZIP", 0) If the ignoreCase parameter is set to 1 in the expression above, a 0 is returned to the target, indicating that the text strings are the same (case-sensitivity is ignored). |
Description | Converts the result of a number or numeric string to a Single data type |
Return | Single data type equivalent of a supplied number or numeric string |
Return (Null) | Error: Invalid use of NULL. |
Syntax | CSng(number) |
Parameters | This function has the following parameters: • number - Any number between -3.402823E38 and -1.401298E45 for negative values, and 1.401298E045 to 3.402823E38 for positive values. |
See Also | |
Example | This example converts numeric strings in source ("Field2") into Single data types: CSng(FieldAt("/SOURCE/R1/Field2")) Applied to a Field2 containing: 1536.75263541 Returns: 1536.752635 in to single data type. |
Description | Converts a number or date expression to a String representation |
Return | Type string when supplied with string, long, double, decimal or date |
Return (Null) | Error: Invalid use of NULL. |
Syntax | CStr(expr) |
Parameters | This function has the following parameters: • expr - Expression to evaluate. |
Remarks | If the parameter is not one of the types listed in Return above, a ERR_TYPEMISMATCH error is returned. Caution! This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
See Also | |
Example | This expression coerces decimals in the source field ("Field1") into a string data type: CStr(FieldAt("/SOURCE/R1/Field1")) This expression converts date into string data type and returned string can be used in SubString function. Example: var1 = CStr(CDate("28-02-1971")) SubString(var1, 1, 5) This expression returns 28-02 in a String data type. |
Description | Requests the current directory path |
Return | String representing the current path |
Return (Null) | String representing the current path, current working directory |
Syntax | CurDir[(drive)] |
Parameters | This function has the following parameters: • drive - Optional. A string expression that specifies an existing drive. If a string literal, enclose in quotation marks. Example: CurDir("string") |
Remarks | If no drive is specified, or if drive is a zero-length string (""), CurDir returns the path for the current drive. This function may throw errors for invalid characters, stack overflows, and stack underflows. Caution! This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
Example | Returns the current working directory on the C drive: CurDir("C:\") |
Description | Requests the current system date |
Return | Current system date |
Return (Null) | Current system date |
Syntax | Date() |
Parameters | No required parameters, however the parentheses after the function name are required. |
Remarks | The Date function returns the date as a formatted string, formatted based on the current locale settings for the machine. Caution! This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
See Also | |
Example | This expression returns the current system date: Date() |
Description | Add or subtract a time interval to or from a date value |
Return | Date representing original date with the interval added or subtracted |
Return (Null) | Error: Incorrect argument count. |
Syntax | DateAdd(interval, number, date) |
Parameters | This function has the following parameters: • interval - A string expression describing the type of time interval to add to the date argument. If a string literal, enclose in quotation marks. DateAdd("string") A list of valid time interval strings is given below. Time Period - Interval Value – Year - yyyy – Quarter - q – Month - m – Day of year - y – Day of month - d – Day of the week - w – Week - ww – Hour - h – Minute - n – Second - s The intervals for Day of Year, Day, and Weekday (y, d, and w) can be used interchangeably to add days to a date. • number - numeric expression specifying the number of time intervals to add to the date argument. Positive values add time to the date and negative values subtract time from the date. • date - A date expression that represents any date or string value. A specified number of time intervals can be added to the base date. If a string literal, enclose in quotation marks. |
Remarks | This function returns a date value. Each part of the date is adjusted according to the rules of the Gregorian calendar. This includes adjustments made for leap years and the different number of days in each month. Caution! This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
See Also | |
Example | The following example shows the behavior the DateAdd function when months are added to a date: DateAdd("m", 7, "31-Jul-1999") The function returns a result of 29-Feb-2000. The year 2000 was a leap year, so the last day of February was the 29th. After the months are added to the original date, the day value is adjusted backward in time to ensure the resultant date is valid. |
Description | Changes the format of a date string |
Return | User-specified format of a supplied date string |
Return (Null) | Error: Incorrect argument count. |
Syntax | DateConvert("sourceFormat", "targetFormat", "sourceString") |
Parameters | This function has the following parameters: • sourceFormat - Format of the date string. Enclose in quotation marks. • targetFormat - Format of the date string to return. Enclose in quotation marks. • sourceString - This is a string representing a date in the format specified by sourceFormat. Enclose in quotation marks. For the format parameters, the following intervals are valid: Time Period - Interval Value • Year - y • Month - m • Day - d |
Remarks | If you are using ASCII as both your source and target connector, use this function. But if you are converting dates from an ASCII file to a SQL database date field, use the DateValMask Function instead. See DateValMask Function. If your source data contains two-digit year values, this function assumes and appends the workstation's system century digits when the data is converted to an application or format where four-digit year values are used. For information on specifying with an expression exactly which two century digits you want to have appended, see Using Scripts to Perform Specific Tasks. Caution! This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
See Also | |
Examples | The following example shows how to convert a 5-digit Julian date where the year is represented by two digits and the number of days in the year is represented by three digits. It is converted to an 8-character date string: DateConvert("yyddd", "mm/dd/yy", FieldAt("/SOURCE/R1/Field1")) The following example converts a string date of the format 19981214 to a date of the format 12/14/1998: DateConvert("yyyymmdd", "mm/dd/yyyy", FieldAt("/SOURCE/R1/Field1")) The following example specifies that all of the dates are between 1900/01/01 and 1999/12/31. The base century is 1900 and all two-digit years are mapped into the base century: DateConvert("mmddYY1900", "yyyymmdd", ("091703")) The following example indicates that all two-digit years starting with 55 are mapped into the 1900s. The two-digit years that are less than 55 are mapped into the next century: DateConvert("mmddYY1955", "yyyymmdd", ("091726")) |
Description | Determine the number of time intervals between two dates |
Return | Number of time intervals (i.e., day, week) between two supplied dates |
Return (Null) | Error: Incorrect argument count. |
Syntax | DateDiff("interval", "date1", "date2") |
Parameters | This function has the following parameters: • interval - A string expression describing the type of time interval used to calculate the difference between the two date arguments. A list of valid time interval strings is given below. Enclose in quotation marks. Time Period - Interval Value – Year - yyyy – Quarter - q – Month - m – Day of year - y – Day of month - d – Day of the week - w – Week - ww – Hour - h – Minute - n – Second - s • date1 - A date expression representing the first date used in the difference calculation. Enclose in quotation marks. • date2 - A date expression representing the second date used in the difference calculation. Enclose in quotation marks. |
Remarks | To calculate the number of days between date1 and date2, you can use either Day of year ("y") or Day ("d"). When interval is Weekday ("w"), DateDiff returns the number of weeks between the two dates. If date1 falls on a Monday, DateDiff counts the number of Mondays until date2. It counts date2 but not date1. If interval is Week ("ww"), however, DateDiff returns the number of calendar weeks between the two dates. It counts the number of Sundays between date1 and date2. DateDiff counts date2 if it falls on a Sunday; but it does not count date1, even if it does fall on a Sunday. Caution! This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
See Also | |
Example | This example writes the difference in number of days between the dates in the expression. After running the transformation, the number 41 is returned to the target field: DateDiff("d", "02/02/01", "03/15/01") |
Description | Extracts a specified part of a Date string |
Return | Part of a date based on a user-specified time interval |
Return (Null) | Error: Incorrect argument count. |
Syntax | DatePart("interval", "date") |
Parameters | The DatePart function uses the following parameters: • interval - A string expression describing the type of time interval to extract from the date argument. A list of valid time interval strings is given below. Time Period - Interval Value – Year - yyyy – Quarter - q – Month - m – Day of year - y – Day of month - d – Day of the week - w – Week - ww – Hour - h – Minute - n – Second - s • date - A date expression representing the whole date from which the specified part is to be extracted. |
Remarks | Caution! This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
See Also | |
Example | The following example writes the day of the year for source dates ("Date") to the target file: DatePart ("d", DateValMask(FieldAt("/SOURCE/R1/Date"),"mm/dd/yyyy")) The DateValMask function is also used here. The mask, "mm/dd/yyyy", indicates the format of dates in the source file (not the desired target date format). All source field dates must be in this format for the function to return the appropriate data to the target. See DateValMask Function. |
Description | Constructs a date value |
Return | Date value from user-specified year, month, and day values |
Return (Null) | Error: Incorrect argument count. |
Syntax | DateSerial(year, month, day, timeZone) |
Parameters | This function has the following parameters: • year - A number or numeric expression representing the year part of the date. Acceptable values for year are integers between 1 to 25000, inclusive. Negative year values are not supported. • month - A number or numeric expression specifying the month part of the date. The supported range of values for month is 1 to 12, inclusive. • day - An integer value or numeric expression in the range of 1 to 31. • timeZone - (optional) The number of seconds offset from UTC. If this parameter is not specified, the local time zone is used |
Remarks | Some other implementations of DateSerial support the use of argument values outside of the normal allowable ranges for specifying relative dates. This implementation only supports absolute dates. You may also specify a number or numeric expression to determine a number of days, months and years before or after a date. See the examples below. Values for the year parameter are taken literally. Two digit values cannot be used to specify years in the current century. Caution! This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
See Also | |
Examples | This example creates a serial date value for January 1, 2003: DateSerial(2003, 1, 1) This example creates a serial date value for six years, three months and three days BEFORE the date Dec. 28, 2000. The result returned to the target is 9/25/1994: DateSerial(2000-6, 12-3, 28-3) The following example returns a date after converting the specified parameters to MDT (-6 hours, or -21600 seconds). =DateSerial(2003, 1, 1, -21600) |
Description | Converts formatted date strings into real date values based on a date mask |
Return | Date value from user-specified source date mask and supplied date string |
Return (Null) | Error: Incorrect argument count. |
Syntax | DateValMask(dateString, mask, timeZone) |
Parameters | This function has the following parameters: • dateString - An actual date value or an expression that evaluates to a date value. • mask - The string expression representing the source date mask. For a list of valid mask tokens, see Setting Up Picture Masks. • timeZone - (optional) The number of seconds offset from UTC. If this parameter is not specified, the local time zone is used. |
Remarks | If you are converting dates from an ASCII file to a SQL database date field, use this function. But if you are using ASCII as both your source and target connector, use the DateConvert Function. If your source data contains two-digit year values, this function assumes and appends the workstation's system century digits when the data is converted to an application or format where four-digit year values are used. For information on specifying with an expression exactly which two century digits you want to have appended, see Using Scripts to Perform Specific Tasks. If the format of the date in the source does not match the mask, a null is returned. No Millisecond Support: Mapping does not support milliseconds; since thousandths of seconds are not stored, zeros are displayed. When dealing with milliseconds, check the Size field property to ensure the field is large enough to avoid a data truncation error. Caution! This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
See Also | |
Examples | The following example illustrates how to use this function where ("FIELD1") in the source file contains a date string such as 03231995, and the data in this field is being converted to a "date" field type in the target application: DateValMask(FieldAt("/SOURCE/R1/FIELD1"), "mmddyyyy") The following example concatenates two source fields ("Date Run") and ("Time Run") into a standard date and time format in the target. ("11/22/99 13:52:25"): DateValMask(Trim(FieldAt("/SOURCE/R1/Date run") ) & Trim(FieldAt("/SOURCE/R1/Time run") ), "mm/dd/yyyyHH:MMAm") This example standardizes data from the source ("DateTime") field. Some records have a dash between the date and time while others do not. The mask must be changed for both source formats as follows: DateValMask(FieldAt("/SOURCE/R1/DateTime"), "yyyy-mm-dd H24:MM") and DateValMask(FieldAt("/SOURCE/R1/DateTime"), "yyyy-mm-dd- H24:MM") The following example specifies that all of the dates are between 1900/01/01 and 1999/12/31. The base century is 1900 and all two-digit years are mapped into the base century: DateValMask("091703","mmddYY1900") The following example indicates that all two-digit years starting with 55 are mapped into the 1900s. The two-digit years that are less than 55 are mapped into the next century: DateValmask("091703","mmddYY1955") The following example returns a date after converting the specified date string to MDT (-6 hours, or -21600 seconds). =DateValMask("03231995", “mmddyyy”, -21600) |
Description | Convert a character string representation of a date into a date value |
Return | Date value from user-specified date string |
Return (Null) | Error: Incorrect argument count. |
Syntax | DateValue(dateString, timeZone) |
Parameters | This function has the following parameters: • dateString - Any valid string expression representing a formatted date value. It may be entered as a field name. • timeZone - (optional) The number of seconds offset from UTC. If this parameter is not specified, the local time zone is used |
Remarks | This function is used to convert formatted date strings into real date values. These date values can then be used in date calculations or formatted differently. If your source data contains two-digit year values, this function assumes and appends the workstation's system century digits when the data is converted to an application or format where four-digit year values are used. There are different conventions for converting two-digit year values to four-digit year values. The convention used in Actian DataConnect—if the year is less than 70, then it is converted to 20xx. Else, it is converted to 19xx. For information on how to specify (in an expression) which two century digits you want to have appended, see Using Scripts to Perform Specific Tasks. The results from the DateValue function depend on how your system displays dates. For example, if you are not getting the expected result on a Windows machine, check the Regional and Language Options. If no year is specified, the DateValue function defaults to the current year. The date values "00/00/0000" or "00/00/00" are not valid for this function. These values cause a type mismatch error. Caution! This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
See Also | |
Example | This example converts text date strings in the source field ("Date") to numeric formats. Use the Trim function to remove leading and trailing spaces in the data so the function works as expected: DateValue(Trim(FieldAt("/SOURCE/R1/Date"))) The following example returns a date after converting the specified date string to MDT (-6 hours, or -21600 seconds). =DateValue("03-23-1995", -21600) |
Formats | The DateValue function understands dates in the formats shown in the following table. For each format shown, an example and its associated result is provided. Format Example Result (yyyymmdd) • mm-dd-yyyy 07-12-1994 19940712 • mm-dd-yy 12-03-94 19941203 • mm-dd 11-25 19941125 • mm/dd/yyyy 01/01/1955 19550101 |
• mm/dd/yy 09/23/47 19470923 • mm/dd 08/03 19940803 • dd-mon-yyyy 12-Jun-1983 19830612 • dd-mon-yy 15-Mar-01 19010315 • dd-mon 30-Sep 19940930 • dd-month-yyyy 31-October-2315 23151031 • dd-month-yy 10-August-58 19580810 • dd-month 01-April 19940401 • month dd, yyyy September 26, 1979 19790926 • mm.dd.yyyy 09.26.1979 19790926 |
Description | Extracts the day value |
Return | Day of the month from a supplied date value |
Return (Null) | Error: Incorrect argument count. |
Syntax | Day(dateString) |
Parameters | This function has the following parameters: • dateString - Any value or expression that can represent a date. |
Remarks | Numeric values are treated as date/time values, where the fractional part of the number represents time and the whole part represents a Julian date. Dates formatted as text strings are interpreted in the same way the DateValue function interprets date strings. Null values are treated as a numeric zero. Caution! This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
See Also | |
Examples | This example returns the day of the month for the current date. (7/13/2000 returns "13" to the target: Day(Now()) This example returns the day of the month for the current system date and adds 10 (days) to the day of the month value (6/22/2003 returns "22" to the target): Day(Now()) + 10 The example below returns the day portion from the source ("ShipDate"). The DateValue function defines each date to be date values, while the Day function defines those values as days: a = DateValue(Trim(FieldAt("/SOURCE/R1/ShipDate"))) Day(a) |
Description | Creates a new macro definition or set the value of an existing macro |
Return | Not applicable for this function |
Return (Null) | Error: Too few arguments. |
Syntax | DefineMacro(macroName, value [, desc][, type]) |
Parameters | This function has the following parameters: • macroName - String that defines macro macname to the value parameter. If a string literal, enclose in quotation marks. • value - Stores a value. If a string literal, enclose in quotation marks. • desc - String that contains the description of the macro. If a string literal, enclose in quotation marks. • type - The numeric value is used as the 'type' of the macro. |
Remarks | |
See Also | |
Example | Create a new macro definition called "mymacro" (or set the value of existing macro to 100): DefineMacro("mymacro", "100") |
Description | Deletes a message object. |
Return | Not applicable for this function. |
Return (Null) | Not applicable for this function. |
Syntax | DeleteMessage(messageName [, errNotFound] ) |
Parameters | This function has the following parameters: • messageName - tring that contains the name of the message object to delete. If a string literal, enclose in quotation marks. • errNotFound - Boolean setting that determines whether to generate a run-time error if the specified message is not found. |
Remarks | Deletes a message object to reclaim the memory used by the object. |
See Also | |
Example | Delete a message object called mymsg: DeleteMessage("mymsg") |
Description | Discards a record from a transformation |
Return | Not applicable for this function |
Return (Null) | No error. |
Syntax | Discard([booleanExpression]) |
Parameters | This function has the following parameters: • booleanExpression - Optional. A boolean or numeric value that determines whether to execute the function. – If this parameter is set to True or any nonzero integer, the function discards the current record. – If this parameter is set to False or 0, the function is not executed – If no value is provided, the function defaults to True. |
Remarks | Use Discard to leave a record out of a transformation. Discarding is the same as rejecting, except that discarded records are not written anywhere. Both the Reject and Discard functions take an optional numeric argument. |
See Also | |
Examples | The following examples show two ways to discard records where the value in the ("Account No") field is greater than 10025: Discard(FieldAt("/SOURCE/R1/Account No") > 10025) If FieldAt("/SOURCE/R1/Account No") > 10025 Then Discard() Else FieldAt("/SOURCE/R1/Account No") End If |
Description | Returns the string associated with an operating system environment variable |
Return | Value of the specified environment variable |
Return (Null) | Error: Incorrect argument count |
Syntax | Environ(envString|number) |
Parameters | This function has the following parameters: • envString - String expression containing the name of an environment variable. • number - Numeric expression corresponding to the numeric order of the environment string in the environment-string table. The number argument can be any numeric expression, but is rounded to a whole number before it is evaluated. |
Remarks | If envString cannot be found in the environment-string table, a zero-length string ("") is returned. Otherwise, Environ returns the text assigned to the specified envString; that is, the text following the equal sign (=) in the environment-string table for that environment variable. If you specify number, the string occupying that numeric position in the environment-string table is returned. In this case, Environ returns all of the text, including envString. If there is no environment string in the specified position, Environ returns a zero-length string. Caution! This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
Example | If you specify 1 as the number parameter, the Environ function returns the string occupying the first position in the environment string table: Environ(1) |
Description | Evaluates a string expression |
Return | Value of a supplied string expression |
Return (Null) | Error: Incorrect argument count |
Syntax | Eval(expression) |
Parameters | This function has the following parameters: • expression - Any string expression. If a string literal, enclose in quotation marks. |
Remarks | Use this function to evaluate a string as if the string were an actual expression. This function may return a compile error. Caution! This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
See Also | |
Example | The following example returns 50: Eval("20 + 30") You can also use field values. This example will return multiplication of numbers present in source field "Field1" and "Field2". Eval(FieldAt("/SOURCE_1/R1/Field1") * FieldAt("/SOURCE_1/R1/Field2")) |
Description | Raises e (the base of natural logarithms) to the Nth power |
Return | The constant e raised to the Nth power |
Return (Null) | Error: Incorrect argument count. |
Syntax | Exp(number) |
Parameters | This function has the following parameters: • number - Any valid numeric expression greater than zero and less than 709.782712893. |
Remarks | The constant e is approximately 2.718282. This function complements the action of the Log function and is sometimes referred to as the antilogarithm. Caution! This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
See Also | |
Example | This example returns source ("Field1") as a Double data type, specifying e (the base of natural logarithms) raised to a power: Exp(FieldAt("/SOURCE/R1/Field1")) |
Description | Extracts a specified character or string |
Return | All alpha, all numeric, or alphanumeric strings from a supplied string |
Return (Null) | Error: Incorrect argument count. |
Syntax | Extract ("string", "what") |
Parameters | This function has the following parameters: • string - The source string. • what - String "a" to extract alpha characters, "n" to extract numeric characters (digits), or "an" to extract alphanumeric. |
Remarks | If the what parameter gives the wrong value, a type mismatch error occurs (i.e., if an "a" string is written to extract alpha characters and the source string is numeric, etc.) Be careful to observe case when using a function that performs a string-search. String-search Functions are case-sensitive, literal searches. A Function that searches for "x" disregards "X". If the function has an optional argument "compare", and you do not use the optional compare argument, the expression is case-sensitive by default. Caution! This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. The return is a concatenated string. |
Examples | Extract("This is example 437.", "a") 'Returns: Thisisexample Extract("This is example 437.", "n") 'Returns: 437 Extract("This is example 437.", "an") 'Returns: Thisisexample437 |
Description | Translates a field address to a DJField object reference |
Return | DJField object |
Return (Null) | |
Syntax | FieldAt(path) |
Parameters | This function has the following parameters: • path - Path to a DJField object. |
Remarks | You can use any of the DJField variable properties with FieldAt, as follows: FieldAt("/SOURCE/R1/fieldname").property Caution! This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
See Also | |
Example | This example returns the value of Field3: FieldAt("/SOURCE/R1/Field3").Value |
Description | Appends a string to an existing file and creates a new file if it does not exist |
Return | Number of characters written to the file |
Return (Null) | Error: Too few arguments. |
Syntax | FileAppend(filename, string [, encoding] [, usebackingstore]) |
Parameters | This function has the following parameters: • filename - (required) A string containing the name of the file to append. If a string literal, enclose in quotation marks. • string - (required) The string to append to the file. If a string literal, enclose in quotation marks. • encoding - (optional) The encoding you want to use on the string to be appended. • usebackingstore - (optional) Specifies whether a backing store is used to write the file. Using a backing store can improve write performance and use less memory, but requires exclusive access to the file (it cannot be opened, read, written, or deleted) while the backing store is in use. By default a backing store is not used, specify TRUE to use a backing store. For a list of all of the encoding constants available for this parameter, see Constant Values for Encoding Parameters in EZscript. |
Remarks | The difference between this function and FileWrite: FileWrite always overwrites an existing file, while FileAppend creates a new file, or appends to an existing file. |
See Also | |
Example | This function creates a new file (if tutor1.asc does not exist) or append a string to an existing file (if tutor1.asc exists). This expression appends the string "Add new text" to the end of the file: FileAppend("C:\tutor1.asc", "Add new text") |
Description | Copies the contents of the source file to the target file |
Return | Not applicable for this function |
Return (Null) | Error: Incorrect argument count. |
Syntax | FileCopy(srcfile,trgfile) |
Parameters | This function has the following parameters: • srcfile (required) - A string containing the name of the source file. If a string literal, enclose in quotation marks. • trgfile (required) - A string containing the name of the target file. If a string literal, enclose in quotation marks. |
Remarks | A "File not found" exception error occurs if the source file does not exist. A "File access" exception error also occurs if the file is in use, if there are permissions to create the file, or if there is already a file named trgfile. |
See Also | |
Example | Make a copy of output.xls (an existing file) and name it output.bak: FileCopy("C:\output.xls", "C:\output.bak") Make a copy of data.txt (an existing file), compress it, and name it data.gz: FileCopy("C:\data.txt","gzip:///C:\data.gz") |
Description | File date was last modified or date created |
Return | Variant (Date) and time that file was created or last modified |
Return (Null) | Error: Incorrect argument count. |
Syntax | FileDateTime(pathname) |
Parameters | This function has the following parameters: • pathname (required) - A string expression that specifies a file name. If a string literal, enclose in quotation marks. Note: Use MacroExpand() while using macros to pass the parameters. |
Remarks | Include the directory and drive in the path name string (see example below). Caution! This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
See Also | |
Example | FileDateTime("C:\testfile.asc") |
Description | Deletes the specified file |
Return | Not applicable for this function |
Return (Null) | Error: Incorrect argument count |
Syntax | FileDelete(filename) |
Parameters | This function has the following parameters: • filename (required) - A string containing the name of the file to delete. If a string literal, enclose in quotation marks. Note: Use MacroExpand() while using macros to pass the parameters. |
Remarks | A "File not found" exception error occurs if the file does not exist. A "File access" exception error occurs if the file is in use or if there are no permissions to delete the file. |
See Also | |
Example | FileDelete("C:\temp.log") |
Description | Tests for the existence of a file |
Return | True (-1) if the specified file name exists False (0) if the file does not exist |
Return (Null) | |
Syntax | FileExists(filename) |
Parameters | This function has the following parameters: filename (required) - A string containing the name of the file to be found. A complete path specification (either absolute or relative) must be provided if the file is not expected to exist in the current directory. If a string literal, enclose in quotation marks. Note: Use MacroExpand() while using macros to pass the parameters. |
Remarks | The IsFile Function and IsDirectory Function check for three possible conditions (True, False, Error). Use the FileExists function first if you want to check for a file or directory without the possibility of returning an error. If it exists, you can then test with IsFile or IsDirectory. Caution! This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
See Also | |
Example | FileExists("C:\temp.log") |
Description | File length (bytes) as a Long |
Return | Long specifying the length of a file in bytes |
Return (Null) | Error: Incorrect argument count. |
Syntax | FileLen(pathname) |
Parameters | This function has the following parameters: • pathname (required) - A string expression that specifies a file. The path name may include the directory and the drive. If a string literal, enclose in quotation marks. Note: Use MacroExpand() while using macros to pass the parameters. |
Remarks | If the specified file is open when the FileLen function is called, the value returned represents the size of the file immediately before it was opened. Caution! This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
See Also | |
Example | This expression returns 11455 (11,455 bytes, 11.1kb): FileLen("C:\Tutor1.asc") |
Description | Populates an array with the names of files matching the prototype. Returns the number of matching files. |
Return | Number of files in the results list |
Return (Null) | Error: Incorrect argument count. |
Syntax | FileList(prototype, results) |
Parameters | This function has the following parameters: • prototype (required) - A string used as a pattern for matching file names. The string can contain literal characters and the metacharacters '*' and '?'. If a string literal, enclose in quotation marks. • results (required) - An array variable for storing the list of matching file names. Note: Use MacroExpand() while using macros to pass the parameters. |
Remarks | Returns a 'Type Mismatch' error if the results parameter is not an array. The FileList function returns both file and directory names within a given directory. If you want to work only with file names, you must test the return names using the IsFile function to determine which files to use. Note: The Option Base statement has no effect on the FileList Function. The FileList Function always sets the array lower bound to 0. Caution! This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
See Also | |
Examples | Return a list of all of the script files in the current directory: Dim file_list() FileList("*.ezscript", file_list) Returns a list of files in a specified directory: Dim file_list() FileList("C:\path_to_files*.ext", file_list) Return the number of files in a specified prototype: Dim file_list() FileList(MacroExpand("$(FILE_PATH)*.ext"), file_list) Note: The file_list array can further be used for the required operations. |
Description | Returns a string containing the contents of a file. |
Return | Contents of the specified file. |
Return (Null) | Error: Too few arguments. |
Syntax | FileRead(filename [, encoding] [, password] [, usebackingstore]) |
Parameters | This function has the following parameters: • filename - (required) Name of file to read. If a string literal, enclose in quotation marks. • encoding - (optional) The encoding you want to use on the file to be read. For a list of the encoding constants available for this parameter, see Constant Values for Encoding Parameters in EZscript. • password - (optional) For password-protected .jar or .zip file. • usebackingstore - (optional) Specifies whether a backing store is used to read the file. Using a backing store can improve read performance and use less memory, but requires exclusive access to the file (it cannot be opened, read, written, or deleted) while the backing store is in use. By default a backing store is not used, specify TRUE to use a backing store. |
Remarks | The filename parameter must include the entire path name unless you specify a relative path (the file resides in the current directory). You can work with files using the Internet with URI support on File functions. Caution This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
See Also | |
Example | This expression reads the file tutor1.asc: FileRead("C:\tutor1.asc") |
Description | Reads a user specified line from a file |
Return | One user-specified line from a file |
Return (Null) | Error: Too few arguments |
Syntax | FileReadLine(filename,line [,linesep] [,encoding]) |
Parameters | This function has the following parameters: • filename (required) - Name of file to read with full path. If a string literal, enclose in quotation marks. • line (required) - The line number to read (beginning with 1 as the first line). If the line number specified is less than 1, it is treated as set to 1. • linesep (optional) - The line separator that identifies the end of each line in the file. By default, the line separator (if not included in the argument list) is CR-LF (0x0d 0x0a) on Windows systems, and LF (0x0a) on Unix systems. • encoding (optional) - The encoding to use on the file to be read. The encoding default is ISO8859-1. For a list of all of the encoding constants available for this parameter, see Constant Values for Encoding Parameters in EZscript. |
Remarks | The filename parameter must include the entire path to the file, unless you specify a relative path (the file resides in the current directory). The returned line does not include the line separator. Caution! This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. Generates a TYPEMISMATCH error if the line separator is empty or the encoding is invalid. Generates a FILEOPEN error if the file cannot be opened. Generates an EOF error if the end of file is reached before the specified line is found. |
See Also | |
Example | Using a file named "thisfile.txt" as source, with the following content: "Jones, Mary,1234 First St." "Smith, Joe, 910 11th Ave." "New, Mitch, 456 Tequey" The following expression returns: "New, Mitch, 456 Tequey": FileReadLine("C:\thisfile.txt", 3) |
Description | Moves files or a directory from one location to another location. If both filenames are in the same location, it results in file rename. Otherwise, the file content is copied to the new location and the old file is removed. |
Return | Not applicable for this function |
Return (Null) | Error: Incorrect argument count. |
Syntax | FileRename(oldname, newname) |
Parameters | This function has the following parameters: • oldname - String containing old name of file. If a string literal, enclose in quotation marks. • newname - String containing the new name of the file. If a string literal, enclose in quotation marks. Note: Use MacroExpand() while using macros to pass the parameters. |
Remarks | A "File not found" exception error occurs if the file does not exist. A "File access" exception error occurs if the file is in use, if there are no permissions to rename the file, or if the newname file already exists. A directory cannot be renamed across different drives (as in from drive C to drive D). A file or directory cannot be renamed from one platform to another (from local PC to server). |
See Also | |
Example | FileRename("C:\output.xls", "C:\output.bak") |
Description | Writes a string to a file. Overwrites an existing file. The function's behavior is similar to that of the Replace Output mode in the Map window. |
Return | Number of characters written |
Return (Null) | Error: Incorrect argument count |
Syntax | FileWrite(file, string [, encoding] [, usebackingstore]) |
Parameters | This function has the following parameters: • filename - (required) A string containing the name of the file to write. If a string literal, enclose in quotation marks. • string - (required) A string containing the data to write to the file. If a string literal, enclose in quotation marks. • encoding - (optional) The encoding you want to use on the value to be written. • usebackingstore - (optional) Specifies whether a backing store is used to write the file. Using a backing store can improve write performance and use less memory, but requires exclusive access to the file (it cannot be opened, read, written, or deleted) while the backing store is in use. By default a backing store is not used, specify TRUE to use a backing store. For a list of all of the Encoding Constants available for this parameter, see Constant Values for Encoding Parameters in EZscript. |
Remarks | The difference between FileAppend function and this function is that FileWrite always overwrites an existing file. FileAppend creates a new file, or appends to an existing file. You can work with files using the Internet with URI support on File functions. |
See Also | |
Example | This example writes a date to the file Tutor1: FileWrite("C:\Tutor1.asc", "07/13/2004") |
Description | Searches an array for string match |
Return | Zero-based array containing subset of a string array based on a specified filter criteria |
Return (Null) | Error: Invalid expression syntax. |
Syntax | Filter(sourceArray,match[, include][, compare]) |
Parameters | This function has the following parameters: • sourceArray (required) - One-dimensional array of strings to be searched. If a string literal, enclose in quotation marks. • match (required) - Search string. • include (optional) - Boolean value indicating whether to return substrings that include or exclude match. If include is True, Filter returns the subset of the array that contains match as a substring. If include is False, Filter returns the subset of the array that does not contain match as a substring. • compare (optional) - Numeric value indicating the kind of string comparison to use. A value of 0 performs a binary comparison (default). A value of 1 performs a textual comparison. |
Remarks | If no matches of match are found within sourceArray, Filter returns an empty array. An error occurs if sourceArray is null or is not a one-dimensional array. The array returned by the Filter function contains only enough elements to contain the number of matched items. Caution! This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
Example | myarray = Split("Dish Dist dishes Distribution Distributor", " ") resultarray = Filter(myarray, "Dist", 1) Print("result array:'" & join(resultarray,"' '") & "'") 'Returns: 'Dist Distribution Distributor' |
Description | Searches for a DJMessage object |
Return | Reference to the DJMessage object |
Return (Null) | Error: Invalid expression syntax. |
Syntax | FindMessage(messageName) |
Parameters | This function has the following parameters: • messageName (required) - The name of the message to find. If a string literal, enclose in quotation marks. |
Remarks | If the message is not found, it returns nothing. This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
See Also | |
Example | You have a process with a map step that puts its output into a DJMessage object using the URI djmessage:///output1. In this case, you can look up and use the message in an expression step: Dim msgout As DJMessage Set msgout = FindMessage("output1") If msgout Is Nothing Then LogMessage("INFO","Can't find the message output1") Else LogMessage("INFO","Message output1 has " & Len(msgout.Body) & " characters") End If |
Description | Find the integer part of a number |
Return | Integer portion of a number. |
Return (Null) | Error: Invalid expression syntax. |
Syntax | Fix(number) |
Parameters | This function has the following parameters: • number - Any valid numeric expression. |
Remarks | This function removes the fractional part of number and returns the resulting integer value. If number is negative, Fix returns the first negative integer greater than or equal to number. The data type of the return value is the same as that of the number argument. The Int function and Fix function behave identically unless you are working with negative numbers. The Int function rounds to the lower negative integer while the Fix function rounds to the higher one. Caution! This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
See Also | |
Examples | The following example converts -98.6 to -98: Fix(-98.6) The following example applies the Fix function to each source field "Field1": Fix(FieldAt("/SOURCE/R1/Field1")) |
Description | Allows you to flush the log to disk anytime you choose |
Return | Not applicable for this function |
Return (Null) | Not applicable for this function |
Syntax | FlushLog() |
Parameters | No parameter is required; however, FlushLog must be followed by open and close parentheses (). |
Remarks | If while processing an expression you want to log a warning message and want to make sure that it was written to disk, you can flush the log after logging the warning. This immediately writes the log from the memory buffer to the disk. This function does not clear messages. During execution, the log is written to the job log directory at <job working directory>/log/ec. The file name is <job ID>.log. Use FlushLog() to write the log just in case the map or process fails, or if you need to read from the log file in a subsequent process step. FlushLog() enables you to preserve the activity log up to that point. |
Example | 'The following script flushes the log and then reads it back into a variable FlushLog() 'write the log to disk immediately Dim theLogFile 'create new variable 'The next line uses the JOB_ID global macro to determine the name of the job log file theLogFile = FileRead(MacroExpand("log/ec/$(com.pervasive.di.execution.JOB_ID).log")) |
Description | Formats a number, date, time, or string according to instructions contained in a format expression. |
Return | Data in user-specified format. See Symbol below. |
Return (Null) | Error: Incorrect argument count |
Syntax | Format(expression [,fmt]) |
Parameters | Format() returns a String. This function uses these parameters: expression - Numeric or string expression to be formatted. If a string literal, enclose in quotation marks. • fmt - Format expression, a string of display-format characters that specify how the expression is to be displayed. Different types of format expressions (numeric, date/time, or string) can be mixed in a single fmt argument. If fmt is omitted or is zero-length and expression is a numeric expression, Format() provides the same functionality as the Str() function by converting the numeric value to the appropriate return data type. Positive numbers converted to strings using Format () lack the leading space reserved for displaying the sign of the value, whereas those converted using Str() retain the leading spaces. You can use any of the symbols listed below to create a format expression for numbers. |
Remarks | Caution! This function returns a value that must be used or stored to prevent stack overflow. See Stack Overflow. |
See Also | and GSub Function |
Examples | Formats today's date as a complete date (including day, month, and year) according to the Short Date setting in the International section of the Windows Control Panel. If today's date is January 14, 2004, the result is 1/14/04: Format(Now(),"ddddd") Formats a 10-digit phone number. 'First, use the GSub Function to take out all nonalphanumeric characters, such as parentheses and dashes. 'GSub works well if you have data entered in different formats. A=GSub("[^A-Za-z0-9n]","",FieldAt("Field1")) 'Next, use Format to put the 10 digits into a standard (@@@)- @@@-@@@@ format. Format(Trim(A),"(@@@) @@@-@@@@") |
Symbol | Description |
---|---|
Null String | Displays the number with no formatting. |
0 | Digit placeholder - Displays a digit or a zero. If there is a digit in the expression being formatted in the position where the 0 appears in the format string, displays it; otherwise, displays a zero in that position. |
# | Digit placeholder - Displays a digit or nothing. If there is a digit in the expression being formatted in the position where the # appears in the format string, display it; otherwise, display nothing in that position. |
. (period) | Decimal placeholder - Determines how many digits are displayed to the left and right of the decimal separator. If the format expression contains only number sign to the left of this symbol, numbers smaller than 1 begin with a decimal separator. If you want a leading zero to always be displayed with fractional numbers, use 0 as the first digit placeholder to the left of the decimal separator instead. The actual character used as a decimal placeholder in the formatted output depends on the Number Format specified in the International section of the Microsoft Windows Control Panel. For some countries, a comma is used as the decimal separator. |
% | Percentage placeholder - Expression multiplied by 100. The percent character (%) is inserted in the position where it appears in the format string. |
, (comma) | Thousands separator - Separates thousands from hundreds within a number that has four or more places to the left of the decimal separator. Standard use if the thousand separator is specified if the format contains a comma surrounded by digit placeholders (0 or #). Two adjacent commas or a comma immediately to the left of the decimal separator means scale the number by dividing it by 1000, rounded as needed. You may scale large numbers using this technique. For example, you may use the format string "##0", to represent 100 million as 100. Numbers smaller than 1 million are displayed as 0. The actual character used as the thousand separator in the formatted output depends on the Number Format specified in the International section of the Control Panel. For some countries, a period is used as the thousand separator |
E- E+ e- e+ | Scientific format - If the format expression contains at least one digit placeholder (0 or #) to the right of E-, E+, e-, or e+, the number is displayed in scientific format and E or e is inserted between the number and its exponent. The number of digit placeholders to the right determines the number of digits in the exponent. Use E- or e- to place a minus sign next to negative exponents. Use E+ or e+ to place a minus sign next to negative exponents and a plus sign next to positive exponents. |
: (colon) | Time separator - Separates hours, minutes, and seconds when time values are formatted. The actual character used as the time separator depends on the Time Format specified in the International section of the Control Panel. |
/ | Date Separator - Separates the day, month, and year when date values are formatted. The actual character used as the date separator in the formatted output depends upon the Date Format specified in the Windows Control Panel in Regional and Language Options. |
+ $ ( ) space | Displays a literal character. To display a character other than one of those listed, precede it with a backslash ( \ ) or enclose it in double quotation marks (" "). |
\ | Displays the next character in the format string, Many characters in the format expression have a special meaning and cannot be displayed as literal characters unless they are preceded by a backslash. The backslash itself is not displayed. Using a backslash is the same as enclosing the next character in double quotation marks. To display a backslash, use two backslashes ( ). Examples of characters that cannot be displayed as literal characters are the date- and time-formatting characters (a, c, d, h, m, n, p, q, s, t, w, y, /, and :), the numeric-formatting characters (#, 0, %, E, e, comma, and period), |
"ABC" | Displays the string inside the quotation marks |
* | Displays the next character as the fill character. Any empty space in a field is filled with the character following the asterisk. |
If You Use... | The Result Is... |
One Section Only | The format applies to all values. |
Two Sections | The first section applies to positive values and zeros, the second section applies to negative values. |
Three Sections | The first section applies to positive values, the second section applies to negative values, and the third section applies to zeros. |
Four Sections | The first section applies to positive values, the second section applies to negative values, the third section applies to zeros, and the fourth section applies to null values. |
Format (fmt) | Positive 5 | Negative 5 | Decimal 0.5 |
Null string | 5 | -5 | 0.5 |
0 | 5 | -5 | 1 |
0.00 | 5.00 | -5.00 | 0.50 |
#,##0 | 5 | -5 | 1 |
#,##0.00;;;Nil | 5.00 | -5.00 | 0.50 |
$#,##0;($#,##0) | $5 | ($5) | $1 |
$#,##0.00;($#,##0.00) | $5.00 | ($5.00) | $0.50 |
0% | 500% | -500% | 50% |
0.00% | 500.00% | -500.00% | 50.00% |
0.00E+00 | 5.00E+00 | -5.00E+00 | 5.00E-01 |
0.00E-00 | 5.00E00 | -5.00E00 | 5.00E-01 |
Symbol | Description |
---|---|
c | Displays the date as ddddd and display the time as t t t t t, in that order. Only date information is displayed if there is no fractional part to the date serial number; only time information is displayed if there is no integer portion. |
d | Displays the day as a number without a leading zero (1 - 31). |
dd | Displays the day as a number with a leading zero (01 - 31). |
ddd | Displays the day as an abbreviation (Sun - Sat). |
dddd | Displays the day as a full name (Sunday - Saturday). |
ddddd | Displays a date serial number as a complete date (including day, month, and year) formatted according to the Short Date setting in the International section of the Windows Control Panel. The default Short Date format is m/d/yy. |
dddddd | Displays a date serial number as a complete date (including day, month, and year) formatted according to the Long Date setting in the International section of the Windows Control Panel. The default Long Date format is mmmm dd, yyyy. |
w | Displays the day of the week as a number (1 for Sunday through 7 for Saturday). |
ww | Displays the week of the year as a number (1 - 53). |
m | Displays the month as a number without a leading zero (1-12). If m immediately follows h or hh, the minute rather than the month is displayed. |
mm | Displays the month as a number with a leading zero (01-12). If m immediately follows h or hh, the minute rather than the month is displayed. |
mmm | Displays the month as an abbreviation (Jan - Dec). |
mmmm | Displays the month as a full month name (January - December). |
q | Displays the quarter of the year as a number (1-4). |
y | Displays the day of the year as a number (1-366). |
yy | Displays the year as a two-digit number (00-99). |
yyyy | Displays the year as a four-digit number (100-9999). |
h | Displays the hour as a number without leading zeros (0 - 23). |
hh | Displays the hour as a number with leading zeros (00 - 23). |
n | Displays the minute as a number without leading zeros (0 - 59). |
nn | Displays the minute as a number with leading zeros (00 - 59). |
s | Displays the seconds as a number without leading zeros (0 - 59). |
ss | Displays the seconds as a number with leading zeros (00 - 59). |
ttttt | Displays a time serial number as a complete time (including hour, minute, and seconds) formatted using the time separator defined by the Time Format in the International section of the Windows Control Panel. A leading zero is displayed if the Leading Zero option is selected and the time is before 10:00 A.M. or P.M. The default time format is h:nn:ss. |
AM/PM | Uses the 12-hour clock and displays an uppercase AM for any hour before noon; displays an uppercase PM for any hour between noon and 11:59 PM. |
am/pm | Uses the 12-hour clock and displays a lowercase AM for any hour before noon; displays a lowercase PM for any hour between noon and 11:59 PM. |
A/P | Uses the 12-hour clock and displays an uppercase A for any hour before noon; displays an uppercase P for any hour between noon and 11:59 PM. |
a/p | Uses the 12-hour clock and displays a lowercase A for any hour before noon; displays a lowercase P for any hour between noon and 11:59 PM. |
AMPM | Uses the 12-hour clock and displays the contents of the 1159 string (s1159) in the WIN.INI file for any hour before noon; displays the contents of the 2359 (s2359) for any hour between noon and 11:59 PM. AMPM can be either uppercase or lowercase, but the case of the string displayed matches the string as it exists in the WIN.INI file. The default format is AM/PM. |
Symbol | Meaning |
@ | Character placeholder - Displays a character or a space. If there is a character in the string being formatted in the position where the @ appears in the format string, display it; otherwise, display a space in that position. Placeholders are filled from right to left unless there is an ! character in the format string. See below. |
& | Character placeholder - Displays a character in the string being formatted in the position where the & appears, display it; otherwise, display nothing. Placeholders are filled from right to left unless there is an ! character in the format string. See below. |
< | Force lowercase – All characters are displayed in lowercase format. |
> | Force uppercase – All characters are displayed in uppercase format. |
! | Force placeholders to fill from left to right, instead of from right to left. |