Help > Appendix >
Format Specifiers
PreviousNext

Content

Introduction

SSIS supports C# style expression language to change properties at runtime dynamically. However SSIS Expression language has its own drawbacks. SSIS PowerPack introduces new concept called Variable Placeholders to make things much cleaner and easier. You can simply type Variable name with double opening and closing curly braces anywhere in your input text (e.g. {{User::MyVariable}} ). It also support some most common formatting functions too (e.g. {{User::MyDate,yyyyMMdd}} ). To know which properties support placeholers, you can simply look for variable icon or some times edit icon somewhere near to property editor on UI.
You can pass input values for placeholders 3 ways. Some functions have optional input values (e.g. FUN_GETDATE).
  1. Input value from SSIS Variables.
  2. Direct value.
  3. Mixed mode Examples:
    {{User::varOrderDate, yyyy-MM-dd}}	
    	
    <<my lowercase string, FUN_TRIM>>
    {{User::varInputStr, FUN_TRIM}}
    
    <<a2V5MTIz||my input string, FUN_HMAC_MD5>>
    {{User::varInputStr, FUN_HMAC_MD5}}
    
    <<FUN_GETDATE>>
    <<yyyy-MM-dd, FUN_GETDATE>>
    
    <<{{User::varUserId}}:{{User::varPassword}}, FUN_BASE64ENC>>
    {{User::varUserIdAndPassword, FUN_BASE64ENC}}
    
    	

Step-By-Step

In this tutorial we will learn how to use Variable Placeholders to make things much cleaner and easier. You can pass input values for placeholders 3 ways(Input value from SSIS Variables, Direct value and Mixed mode Examples).
  1. Firstly, You need to Download and Install SSIS ZappySys PowerPack.
  2. Once you finished first step, Open Visual Studio and Create New SSIS Package Project.
  3. Now, Drag and Drop ZS Logging Task from SSIS Toolbox.
    SSIS ZS Logging Task - Drag and Drop
  4. Now, lets create a Variable and store value.
    SSIS ZS Logging Task - Create Variable
  5. Double click on Logging Task to configure it.
  6. Here Input Value from SSIS Variables. Set Log Mode to MEssageBox, Click on Insert Variables and select Function Examples and You can see MD5 Hash function.
    SSIS ZS Logging Task - Configure

    ----- OR -----

    You can use Hardcoded direct value.
    <<hello,FUN_HASH_MD5>>
    <<hello,FUN_HASH_MD5_HEX>>
    
    SSIS ZS Logging Task - Configure

    ----- OR -----

    You can use variable with Hardcoded for value.
    <<varMyData,FUN_HASH_MD5>>
    <<varMyData,FUN_HASH_MD5_HEX>>
    
    SSIS ZS Logging Task - Configure
  7. Click on OK button to save Logging Task Configure Setting UI.
  8. Now, Execute or run project package.
    SSIS ZS Logging Task - Execute

Function List

Along with format specifiers you can also use functions. See below list.

Function name Description
FUN_NOW Returns current datetime using default ISO date format or custom format.
Syntax:
<<[output_date_format],FUN_NOW>>
FUN_TODAY Returns today's date using default date format yyyy-MM-dd or you can supply custom format.
Syntax:
<<[output_date_format],FUN_TODAY>>
FUN_TO_DATE This function evaluates date expression for known values (i.e. today/yesterday keywords) or can be applied on user defined date/time. It can add / subtract interval from date (e.g. today+3y, now-2m, weekstart+1d, +2h, +3d).
Syntax:
<<expression[|~|output_date_format][|~|input_datetime],FUN_TO_DATE>>
FUN_TO_DATETIME This function evaluates date/time expression for known values (i.e. today/yesterday keywords) or can be applied on user defined date/time. It can add / subtract interval from date (e.g. today+3y, now-2m, weekstart+1d, +2h, +3d).
Syntax:
<<expression[|~|output_date_format][|~|input_datetime],FUN_TO_DATETIME>>
FUN_TO_DATETIME_UTC This function is same as TO_DATETIME except it returns datetime in UTC. It evaluates date/time expression for known values (i.e. today/yesterday keywords) or can be applied on user defined date/time. It can add / subtract interval from date (e.g. today+3y, now-2m, weekstart+1d, +2h, +3d).
Syntax:
<<expression[|~|output_date_format][|~|input_datetime],FUN_TO_DATETIME_UTC>>
FUN_GETDATE_UTC Returns current datetime in UTC using default ISO date format or custom format.
Syntax:
<<[output_date_format],FUN_GETDATE_UTC>>
FUN_TO_UTC_DATE Converts local date to UTC date (after conversion time portion is removed)
Syntax:
<<input_date_time,FUN_TO_UTC_DATE>>
FUN_TO_UTC_DATETIME Converts local date to UTC date (after conversion time portion is removed)
Syntax:
<<input_date_time,FUN_TO_UTC_DATETIME>>
FUN_TO_LOCAL_DATE Converts UTC datetime to local datetime based on current system timezone (after conversion time portion is removed)
Syntax:
<<input_date_time,FUN_TO_LOCAL_DATE>>
FUN_TO_LOCAL_DATETIME Converts UTC datetime to local datetime (based on current system timezone)
Syntax:
<<input_date_time,FUN_TO_LOCAL_DATETIME>>
FUN_TIMESTAMP_UNIX Converts date/time to Unix TimeStamp which is integer number which represents number of seconds that have passed since January 1, 1970 (the birth of Unix a.k.a. the Unix epoch)
Syntax:
<<[input_date_time],FUN_TIMESTAMP_UNIX>>
FUN_TIMESTAMP_MS_UNIX Converts date/time to Unix TimeStamp which is integer number which represents number of milliseconds that have passed since January 1, 1970 (the birth of Unix a.k.a. the Unix epoch)
Syntax:
<<[input_date_time],FUN_TIMESTAMP_MS_UNIX>>
FUN_UNIX_TIMESTAMP_TO_DATE Converts Unix TimeStamp format to UTC date/time
Syntax:
<<input_unix_timestamp,FUN_UNIX_TIMESTAMP_TO_DATE>>
FUN_UNIX_TIMESTAMP_MS_TO_DATE Converts Unix TimeStamp format to UTC date/time
Syntax:
<<input_unix_timestamp,FUN_UNIX_TIMESTAMP_MS_TO_DATE>>
FUN_TRIM This function trims white spaces (i.e. new line, tab, spaces) around input string.
Syntax:
<<input_text,FUN_TRIM>>
FUN_UPPER This function returns upper case string.
Syntax:
<<input_text,FUN_UPPER>>
FUN_LOWER This function returns lower case string.
Syntax:
<<input_text,FUN_LOWER>>
FUN_REPLACE Search for sub string and returns a new string with replaced value
Syntax:
<<input_text|~|search_for|~|replace_with|~|is_case_sensitive,FUN_REPLACE>>
FUN_REGEX_REPLACE Search for string pattern using Regular expression and returns a new string with replaced value
Syntax:
<<input_text|~|search_pattern|~|replace_with[|~|is_case_sensitive],FUN_REGEX_REPLACE>>
FUN_REGEX_EXTRACT Returns string match using Regular expression
Syntax:
<<input_text|~|search_pattern[|~|is_case_sensitive][|~|is_required],FUN_REGEX_EXTRACT>>
FUN_MD5 Returns MD5 hash in Base64 format for specified input
Syntax:
<<input_string,FUN_MD5>>
FUN_MD5HEX Returns MD5 hash in Hex format (all Uppercase). To output Hash in base64 use FUN_MD5. To output Hash in lowercase format use FUN_HASH_MD5_HEX
Syntax:
<<input_string,FUN_MD5HEX>>
FUN_FILE_MD5 Returns File content MD5 hash in Base64 format for a specified file path. File content can be text or binary.
Syntax:
<<file_path,FUN_FILE_MD5>>
FUN_FILE_MD5HEX Returns File content MD5 hash in Hex format (rather than Base64) for a specified file path. File content can be text or binary.
Syntax:
<<file_path,FUN_FILE_MD5HEX>>
FUN_HASH_MD5 Returns MD5 hash in Base64 format for specified input string
Syntax:
<<input_string,FUN_HASH_MD5>>
FUN_HASH_MD5_HEX Returns MD5 hash in HEX format for specified input string. To output hash in Base64 use HASH_MD5 function.
Syntax:
<<input_string,FUN_HASH_MD5_HEX>>
FUN_HASH_FILE_MD5 Returns MD5 hash in Base64 format for specified input file
Syntax:
<<input_file,FUN_HASH_FILE_MD5>>
FUN_HASH_FILE_MD5_HEX Returns MD5 hash in HEX format for specified input file. To output hash in Base64 use HASH_MD5 function.
Syntax:
<<input_file,FUN_HASH_FILE_MD5_HEX>>
FUN_HASH_SHA1 Returns SHA1 hash in Base64 format for specified input string
Syntax:
<<input_string,FUN_HASH_SHA1>>
FUN_HASH_SHA1_HEX Returns SHA1 hash in HEX format for specified input string. To output hash in Base64 use HASH_SHA1 function.
Syntax:
<<input_string,FUN_HASH_SHA1_HEX>>
FUN_HASH_SHA256 Returns SHA256 hash in Base64 format for specified input string
Syntax:
<<input_string,FUN_HASH_SHA256>>
FUN_HASH_SHA256_HEX Returns SHA256 hash in HEX format for specified input string. To output hash in Base64 use HASH_SHA256 function.
Syntax:
<<input_string,FUN_HASH_SHA256_HEX>>
FUN_HASH_FILE_SHA256 Returns SHA256 hash in Base64 format for specified input file
Syntax:
<<input_file,FUN_HASH_FILE_SHA256>>
FUN_HASH_FILE_SHA256_HEX Returns SHA256 hash in HEX format for specified input file. To output hash in Base64 use HASH_SHA256 function.
Syntax:
<<input_file,FUN_HASH_FILE_SHA256_HEX>>
FUN_HASH_SHA512 Returns SHA512 hash in Base64 format for specified input string
Syntax:
<<input_string,FUN_HASH_SHA512>>
FUN_HASH_SHA512_HEX Returns SHA512 hash in HEX format for specified input string. To output hash in Base64 use HASH_SHA512 function.
Syntax:
<<input_string,FUN_HASH_SHA512_HEX>>
FUN_HMAC_MD5 Returns a Base64 string of Hash-based Message Authentication Code (HMAC) by using the MD5 hash function (Hash input data using user defined secret key)
Syntax:
<<secret_key[--non-base64]|~|input_string,FUN_HMAC_MD5>>
FUN_HMAC_SHA1 Returns a Base64 string of Hash-based Message Authentication Code (HMAC) by using the SHA1 hash function (Hash input data using user defined secret key)
Syntax:
<<secret_key[--non-base64]|~|input_string,FUN_HMAC_SHA1>>
FUN_HMAC_SHA256 Returns a Base64 string of Hash-based Message Authentication Code (HMAC) by using the SHA256 hash function (Hash input data using user defined secret key)
Syntax:
<<secret_key[--non-base64]|~|input_string,FUN_HMAC_SHA256>>
FUN_HMAC_SHA384 Returns a Base64 string of Hash-based Message Authentication Code (HMAC) by using the SHA384 hash function (Hash input data using user defined secret key)
Syntax:
<<secret_key[--non-base64]|~|input_string,FUN_HMAC_SHA384>>
FUN_HMAC_SHA384 Returns a Base64 string of Hash-based Message Authentication Code (HMAC) by using the SHA512 hash function (Hash input data using user defined secret key)
Syntax:
<<secret_key[--non-base64]|~|input_string,FUN_HMAC_SHA384>>
FUN_HMAC_MD5_HEX Returns a HEX string of Hash-based Message Authentication Code (HMAC) by using the MD5 hash function (Hash input data using user defined secret key)
Syntax:
<<secret_key[--non-base64]|~|input_string,FUN_HMAC_MD5_HEX>>
FUN_HMAC_SHA1_HEX Returns a HEX string of Hash-based Message Authentication Code (HMAC) by using the SHA1 hash function (Hash input data using user defined secret key)
Syntax:
<<secret_key[--non-base64]|~|input_string,FUN_HMAC_SHA1_HEX>>
FUN_HMAC_SHA256_HEX Returns a HEX string of Hash-based Message Authentication Code (HMAC) by using the SHA256 hash function (Hash input data using user defined secret key)
Syntax:
<<secret_key[--non-base64]|~|input_string,FUN_HMAC_SHA256_HEX>>
FUN_HMAC_SHA384_HEX Returns a HEX string of Hash-based Message Authentication Code (HMAC) by using the SHA384 hash function (Hash input data using user defined secret key)
Syntax:
<<secret_key[--non-base64]|~|input_string,FUN_HMAC_SHA384_HEX>>
FUN_HMAC_SHA512_HEX Returns a HEX string of Hash-based Message Authentication Code (HMAC) by using the SHA512 hash function (Hash input data using user defined secret key)
Syntax:
<<secret_key[--non-base64]|~|input_string,FUN_HMAC_SHA512_HEX>>
FUN_JSONENC Encodes string for JSON value (e.g. {NEWLINE} is replaced to \r\n, double quote to \", {TAB} to \\t )
Syntax:
<<input_string,FUN_JSONENC>>
FUN_JSONDEC Decodes JSON string (e.g. \r\n is replaced to {NEWLINE}, \" to double quote, \\t to {TAB})
Syntax:
<<input_string,FUN_JSONDEC>>
FUN_JSON_TO_TEXT Extracts Text from JSON array using JSON Path expression. You can specify expression like $.data[*] or $.data[*].email. If document is Array (i.e. starts with [ ) then root is referred as $.data[*]
Syntax:
<<input_json|~|json_path[|~|separator],FUN_JSON_TO_TEXT>>
FUN_XMLENC Encodes plain text to XML encoded value (e.g. > is replaced to > and < is replaced to < )
Syntax:
<<input_string,FUN_XMLENC>>
FUN_XMLDEC Decodes XML value to plain text (e.g. > is replaced to > and < is replaced to < )
Syntax:
<<input_string,FUN_XMLDEC>>
FUN_URLENC Encodes input string to percentage encoding format for URL (e.g. A&B is encoded to A%26B)
Syntax:
<<input_string,FUN_URLENC>>
FUN_URLDEC Decodes url encoded value to plain text
Syntax:
<<input_string,FUN_URLDEC>>
FUN_URLENCDATA Encodes input string to percentage encoding format for URL using exact same rules as FUN_URLENCDATA except space is encoded as %20 rather than +
Syntax:
<<input_string,FUN_URLENCDATA>>
FUN_NEW_GUID Creates a new unique GUID
Syntax:
<<[format],FUN_NEW_GUID>>
FUN_RANDOM_INT Returns a number in a sequence (adds +1 in last number)
Syntax:
<<[seed_number],FUN_RANDOM_INT>>
FUN_RANDOM_INT Generates a random integer from 1 to given max range
Syntax:
<<[max_number],FUN_RANDOM_INT>>
FUN_RANDOM_STR Generates a random string
Syntax:
<<[max_length],FUN_RANDOM_STR>>
FUN_BASE64ENC Encodes input string to BASE64 format
Syntax:
<<input_text,FUN_BASE64ENC>>
FUN_BASE64ENC Decodes base64 encoded string to plain text
Syntax:
<<input_text,FUN_BASE64ENC>>
FUN_FILE_BASE64ENC Returns BASE64 encoded string of local file content (binary or text).
Syntax:
<<file_path,FUN_FILE_BASE64ENC>>
FUN_READFILE Reads local file and returns content as string
Syntax:
<<file_path,FUN_READFILE>>

Date Time Formatting

You can use DateTime format specifiers like below as long as variable DataType is DateTime. Click here to see full list of datetime format specifiers. Click Here to see list of predefined standard date time formats.

Example Sample Output
{{System::StartTime,yyyy}} 2016
{{System::StartTime,yyyyMMdd}} 20161231
{{System::StartTime,MMM dd, yyyy}} Dec 31, 2016
{{System::StartTime,MMMM dd, yyyy}} December 31, 2016
{{System::StartTime,yyyy-MM-ddTHH:mm:ss.fffZ}} 2016-12-31T23:59:59.999Z
{{System::StartTime,yyy-MM-dd hh:mm:ss tt}} 2016-12-31 11:59:59 PM

Numeric Formats

You can use numeric format specifiers like below as long as variable DataType is Numeric (e.g Int32, Decimal etc). Click here to learn how to use custom numeric format specifiers.

Example Sample Output
{{User::SomeInt,N}} where SomeInt=1222333 1,222,333.00
{{User::SomeInt,N0}} where SomeInt=1222333 1,222,333
{{User::SomeInt,N3}} where SomeInt=1222333 1,222,333.000
{{System::PhoneNumber,###-###-####}} where PhoneNumber=1112223333 111-222-3333
{{User::Amount,C2}} where Amount=123.4522222 $123.45
{{User::Amount,C4}} $123.4567
{{User::Amount,######0}} 0000123

RecordSet Format Specifier

Few tasks support really easy way to dump ResultSet variable (e.g. ADO.net DataTable or DataSet) as HTML code which you can view in browser. This feature can be very handy with tasks such as ZS Logging Task, Send HTML Email Task. You can save recordset as HTML File or use inside email body.

Example Sample Output
{{User::varObjResult,table}} Renders HTML Table of RecordSet object. You can use ExecuteSQL Task or RecordSet destination to populate variable with Dataset. Variable must be object datatype

Date/Time Functions

FUN_NOW

Syntax:
<<[output_date_format],FUN_NOW>>
Returns current datetime using default ISO date format or custom format.

Parameters:

NameDescription
output_date_format (Optional)[String] Custom date format. If not supplied default ISO date format (yyyy-MM-ddTHH:mm:ss) is used. For more information about custom date format specifiers check this link https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings

Examples:

ExampleSample OutputDescription
<<FUN_NOW>>
--OR--
{{User::MySSISVar1,FUN_NOW}}
2020-01-31T23:59:59
<<<<FUN_GETDATE>>,FUN_NOW>>
--OR--
{{User::MySSISVar1,FUN_NOW}}
2020-01-31T23:59:59
<<yyyy-MM-dd,FUN_NOW>>
--OR--
{{User::MySSISVar1,FUN_NOW}}
2020-01-31
<<yyyy-MM-dd HH:mm.fff,FUN_NOW>>
--OR--
{{User::MySSISVar1,FUN_NOW}}
2020-01-31 23:59.999
<<yyyy, MMM dd,FUN_NOW>>
--OR--
{{User::MySSISVar1,FUN_NOW}}
2021, Mar 07
<<yyyy-MM-dd hh:mm tt,FUN_NOW>>
--OR--
{{User::MySSISVar1,FUN_NOW}}
2020-01-31 11:59 PM

FUN_TODAY

Syntax:
<<[output_date_format],FUN_TODAY>>
Returns today's date using default date format yyyy-MM-dd or you can supply custom format.

Parameters:

NameDescription
output_date_format (Optional)[String] Custom date format. If not supplied default ISO date format (yyyy-MM-dd) is used. For more information about custom date format specifiers check this link https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings

Examples:

ExampleSample OutputDescription
<<FUN_TODAY>>
--OR--
{{User::MySSISVar1,FUN_TODAY}}
2020-01-31
<<yyyy, MMM dd,FUN_TODAY>>
--OR--
{{User::MySSISVar1,FUN_TODAY}}
2021, Mar 07
<<yyyy-MM-dd hh:mm tt,FUN_TODAY>>
--OR--
{{User::MySSISVar1,FUN_TODAY}}
2020-01-31 11:59 PM

FUN_TO_DATE

Syntax:
<<expression[|~|output_date_format][|~|input_datetime],FUN_TO_DATE>>
This function evaluates date expression for known values (i.e. today/yesterday keywords) or can be applied on user defined date/time. It can add / subtract interval from date (e.g. today+3y, now-2m, weekstart+1d, +2h, +3d).

Parameters:

NameDescription
expression[String] This expression can be in the form of [function_name][+/-][interval]. For example to get Last date of previous month you can do "monthend-1d". To get yesterday's date you can just type "yesterday". Valid date function names for this expression are [ now | today | yesterday | weekstart | weekend | monthstart | monthend | yearstart | yearend ]. Valid interval names are [ms (for milliseconds) | s OR sec | min | h OR hour | y OR year | d OR day |m OR month | y OR year]
output_date_format (Optional)[String] Output format of date/time. e.g. yyyy-MM-dd HH:mm:ss.fff. Default format is yyyy-MM-dd. For more information on possible date format specifier check this https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings
input_datetime (Optional)[String] Date or Datetime for which you like to evaluate expression. If you do not supply this then current date is used as input for expression.

Examples:

ExampleSample OutputDescription
<<today,FUN_TO_DATE>>
--OR--
{{User::MySSISVar1,FUN_TO_DATE}}
2020-01-31
Outputs today's date using default date format (i.e. yyyy-MM-dd)
<<today||yyyyMMdd,FUN_TO_DATE>>
--OR--
{{User::MySSISVar1,FUN_TO_DATE}}
20200131
Outputs today's date using custom date format yyyyMMdd
<<now||yyyy-MM-dd HH:mm:ss.fff,FUN_TO_DATE>>
--OR--
{{User::MySSISVar1,FUN_TO_DATE}}
2020-01-31 23:59:59.123
Outputs current datetime using custom date format
<<today-5d,FUN_TO_DATE>>
--OR--
{{User::MySSISVar1,FUN_TO_DATE}}
2020-01-26
Subtract 5 days from today's date
<<today+5d,FUN_TO_DATE>>
--OR--
{{User::MySSISVar1,FUN_TO_DATE}}
2020-02-05
Adds 5 days to today's date
<<-5d||yyyMMdd||2020-01-01,FUN_TO_DATE>>
--OR--
{{User::MySSISVar1,FUN_TO_DATE}}
20191227
Subtract 5 days from input date 2020-01-01 and output using custom date format yyyyMMdd
<<+2m||yyyMMdd||2020-01-01,FUN_TO_DATE>>
--OR--
{{User::MySSISVar1,FUN_TO_DATE}}
20200201
Adds 2 month in input date 2020-01-01 and output using custom date format yyyyMMdd
<<today-1y,FUN_TO_DATE>>
--OR--
{{User::MySSISVar1,FUN_TO_DATE}}
2019-01-31
Subtract one year from today's date
<<monthstart+3d,FUN_TO_DATE>>
--OR--
{{User::MySSISVar1,FUN_TO_DATE}}
2020-01-03
Adds 3 days to current month start date
<<monthend+2d,FUN_TO_DATE>>
--OR--
{{User::MySSISVar1,FUN_TO_DATE}}
2020-02-02
Adds 3 days to current month end date
<<yearstart+1y,FUN_TO_DATE>>
--OR--
{{User::MySSISVar1,FUN_TO_DATE}}
2021-01-01
Outputs next year's start date (Adds one year to current year's start date)
<<yearend+1y,FUN_TO_DATE>>
--OR--
{{User::MySSISVar1,FUN_TO_DATE}}
2021-12-31
Outputs next year's end date (Adds one year to current year's end date)
<<weekstart+1y,FUN_TO_DATE>>
--OR--
{{User::MySSISVar1,FUN_TO_DATE}}
2021-01-01
Outputs next year's start date
<<yesterday||yyyMMdd,FUN_TO_DATE>>
--OR--
{{User::MySSISVar1,FUN_TO_DATE}}
20200131
Outputs yesterday's date using custom date format yyyyMMdd

FUN_TO_DATETIME

Syntax:
<<expression[|~|output_date_format][|~|input_datetime],FUN_TO_DATETIME>>
This function evaluates date/time expression for known values (i.e. today/yesterday keywords) or can be applied on user defined date/time. It can add / subtract interval from date (e.g. today+3y, now-2m, weekstart+1d, +2h, +3d).

Parameters:

NameDescription
expression[String] This expression can be in the form of [function_name][+/-][interval]. For example to get Last date of previous month you can do "monthend-1d". To get yesterday's date you can just type "yesterday". Valid date function names for this expression are [ now | today | yesterday | weekstart | weekend | monthstart | monthend | yearstart | yearend ]. Valid interval names are [ms (for milliseconds) | s OR sec | min | h OR hour | y OR year | d OR day |m OR month | y OR year]
output_date_format (Optional)[String] Output format of date/time. e.g. yyyy-MM-dd HH:mm:ss.fff. Default format is yyyy-MM-ddTHH:mm:ss. For more information on possible date format specifier check this https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings
input_datetime (Optional)[String] Date or Datetime for which you like to evaluate expression. If you do not supply this then current date is used as input for expression.

Examples:

ExampleSample OutputDescription
<<today,FUN_TO_DATETIME>>
--OR--
{{User::MySSISVar1,FUN_TO_DATETIME}}
2020-01-31T00:00:00
Outputs today's date using default date format (i.e. yyyy-MM-ddTHH:mm:ss)
<<now,FUN_TO_DATETIME>>
--OR--
{{User::MySSISVar1,FUN_TO_DATETIME}}
2020-01-31T23:59:59
Outputs current datetime using default date format (i.e. yyyy-MM-ddTHH:mm:ss)
<<now-5h,FUN_TO_DATETIME>>
--OR--
{{User::MySSISVar1,FUN_TO_DATETIME}}
2020-01-31T18:59:59
Subtract 5 hours from current time and outputs using default date format
<<today||yyyyMMdd,FUN_TO_DATETIME>>
--OR--
{{User::MySSISVar1,FUN_TO_DATETIME}}
20200131
Outputs today's date using custom date format yyyyMMdd
<<now||yyyy-MM-dd HH:mm:ss.fff,FUN_TO_DATETIME>>
--OR--
{{User::MySSISVar1,FUN_TO_DATETIME}}
2020-01-31 23:59:59.123
Outputs current datetime using custom date format
<<today-5d,FUN_TO_DATETIME>>
--OR--
{{User::MySSISVar1,FUN_TO_DATETIME}}
2020-01-26T00:00:00
Subtract 5 days from today's date
<<today+5d,FUN_TO_DATETIME>>
--OR--
{{User::MySSISVar1,FUN_TO_DATETIME}}
2020-02-05T00:00:00
Adds 5 days to today's date
<<-5d||yyyMMdd||2020-01-01,FUN_TO_DATETIME>>
--OR--
{{User::MySSISVar1,FUN_TO_DATETIME}}
20191227
Subtract 5 days from input date 2020-01-01 and output using custom date format yyyyMMdd
<<+2m||yyyMMdd||2020-01-01,FUN_TO_DATETIME>>
--OR--
{{User::MySSISVar1,FUN_TO_DATETIME}}
20200201
Adds 2 month in input date 2020-01-01 and output using custom date format yyyyMMdd
<<today-1y,FUN_TO_DATETIME>>
--OR--
{{User::MySSISVar1,FUN_TO_DATETIME}}
2019-01-31T00:00:00
Subtract one year from today's date
<<monthstart+3d,FUN_TO_DATETIME>>
--OR--
{{User::MySSISVar1,FUN_TO_DATETIME}}
2020-01-03T00:00:00
Adds 3 days to current month start date
<<monthend+2d,FUN_TO_DATETIME>>
--OR--
{{User::MySSISVar1,FUN_TO_DATETIME}}
2020-02-02T00:00:00
Adds 3 days to current month end date
<<yearstart+1y,FUN_TO_DATETIME>>
--OR--
{{User::MySSISVar1,FUN_TO_DATETIME}}
2021-01-01T00:00:00
Outputs next year's start date (Adds one year to current year's start date)
<<yearend+1y,FUN_TO_DATETIME>>
--OR--
{{User::MySSISVar1,FUN_TO_DATETIME}}
2021-12-31T00:00:00
Outputs next year's end date (Adds one year to current year's end date)
<<weekstart+1y,FUN_TO_DATETIME>>
--OR--
{{User::MySSISVar1,FUN_TO_DATETIME}}
2021-01-01T00:00:00
Outputs next year's start date
<<yesterday||yyyMMdd,FUN_TO_DATETIME>>
--OR--
{{User::MySSISVar1,FUN_TO_DATETIME}}
20200131
Outputs yesterday's date using custom date format yyyyMMdd

FUN_TO_DATETIME_UTC

Syntax:
<<expression[|~|output_date_format][|~|input_datetime],FUN_TO_DATETIME_UTC>>
This function is same as TO_DATETIME except it returns datetime in UTC. It evaluates date/time expression for known values (i.e. today/yesterday keywords) or can be applied on user defined date/time. It can add / subtract interval from date (e.g. today+3y, now-2m, weekstart+1d, +2h, +3d).

Parameters:

NameDescription
expression[String] This expression can be in the form of [function_name][+/-][interval]. For example to get Last date of previous month you can do "monthend-1d". To get yesterday's date you can just type "yesterday". Valid date function names for this expression are [ now | today | yesterday | weekstart | weekend | monthstart | monthend | yearstart | yearend ]. Valid interval names are [ms (for milliseconds) | s OR sec | min | h OR hour | y OR year | d OR day |m OR month | y OR year]
output_date_format (Optional)[String] Output format of date/time. e.g. yyyy-MM-dd HH:mm:ss.fff. Default format is yyyy-MM-ddTHH:mm:ss. For more information on possible date format specifier check this https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings
input_datetime (Optional)[String] Date or Datetime for which you like to evaluate expression. If you do not supply this then current date is used as input for expression.

Examples:

ExampleSample OutputDescription
<<today,FUN_TO_DATETIME_UTC>>
--OR--
{{User::MySSISVar1,FUN_TO_DATETIME_UTC}}
2020-01-31T00:00:00
Outputs today's date using default date format (i.e. yyyy-MM-ddTHH:mm:ss)
<<now,FUN_TO_DATETIME_UTC>>
--OR--
{{User::MySSISVar1,FUN_TO_DATETIME_UTC}}
2020-01-31T23:59:59
Outputs current datetime using default date format (i.e. yyyy-MM-ddTHH:mm:ss)
<<now-5h,FUN_TO_DATETIME_UTC>>
--OR--
{{User::MySSISVar1,FUN_TO_DATETIME_UTC}}
2020-01-31T18:59:59
Subtract 5 hours from current time and outputs using default date format
<<today||yyyyMMdd,FUN_TO_DATETIME_UTC>>
--OR--
{{User::MySSISVar1,FUN_TO_DATETIME_UTC}}
20200131
Outputs today's date using custom date format yyyyMMdd
<<now||yyyy-MM-dd HH:mm:ss.fff,FUN_TO_DATETIME_UTC>>
--OR--
{{User::MySSISVar1,FUN_TO_DATETIME_UTC}}
2020-01-31 23:59:59.123
Outputs current datetime using custom date format
<<today-5d,FUN_TO_DATETIME_UTC>>
--OR--
{{User::MySSISVar1,FUN_TO_DATETIME_UTC}}
2020-01-26T00:00:00
Subtract 5 days from today's date
<<today+5d,FUN_TO_DATETIME_UTC>>
--OR--
{{User::MySSISVar1,FUN_TO_DATETIME_UTC}}
2020-02-05T00:00:00
Adds 5 days to today's date
<<-5d||yyyMMdd||2020-01-01,FUN_TO_DATETIME_UTC>>
--OR--
{{User::MySSISVar1,FUN_TO_DATETIME_UTC}}
20191227
Subtract 5 days from input date 2020-01-01 and output using custom date format yyyyMMdd
<<+2m||yyyMMdd||2020-01-01,FUN_TO_DATETIME_UTC>>
--OR--
{{User::MySSISVar1,FUN_TO_DATETIME_UTC}}
20200201
Adds 2 month in input date 2020-01-01 and output using custom date format yyyyMMdd
<<today-1y,FUN_TO_DATETIME_UTC>>
--OR--
{{User::MySSISVar1,FUN_TO_DATETIME_UTC}}
2019-01-31T00:00:00
Subtract one year from today's date
<<monthstart+3d,FUN_TO_DATETIME_UTC>>
--OR--
{{User::MySSISVar1,FUN_TO_DATETIME_UTC}}
2020-01-03T00:00:00
Adds 3 days to current month start date
<<monthend+2d,FUN_TO_DATETIME_UTC>>
--OR--
{{User::MySSISVar1,FUN_TO_DATETIME_UTC}}
2020-02-02T00:00:00
Adds 3 days to current month end date
<<yearstart+1y,FUN_TO_DATETIME_UTC>>
--OR--
{{User::MySSISVar1,FUN_TO_DATETIME_UTC}}
2021-01-01T00:00:00
Outputs next year's start date (Adds one year to current year's start date)
<<yearend+1y,FUN_TO_DATETIME_UTC>>
--OR--
{{User::MySSISVar1,FUN_TO_DATETIME_UTC}}
2021-12-31T00:00:00
Outputs next year's end date (Adds one year to current year's end date)
<<weekstart+1y,FUN_TO_DATETIME_UTC>>
--OR--
{{User::MySSISVar1,FUN_TO_DATETIME_UTC}}
2021-01-01T00:00:00
Outputs next year's start date
<<yesterday||yyyMMdd,FUN_TO_DATETIME_UTC>>
--OR--
{{User::MySSISVar1,FUN_TO_DATETIME_UTC}}
20200131
Outputs yesterday's date using custom date format yyyyMMdd

FUN_GETDATE_UTC

Syntax:
<<[output_date_format],FUN_GETDATE_UTC>>
Returns current datetime in UTC using default ISO date format or custom format.

Parameters:

NameDescription
output_date_format (Optional)[String] Custom date format. If not supplied default ISO date format (yyyy-MM-ddTHH:mm:ssZ) is used. Notice that default date format ends with Z to indicate UTC time. For more information about custom date format specifiers check this link https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings

Examples:

ExampleSample OutputDescription
<<FUN_GETDATE_UTC>>
--OR--
{{User::MySSISVar1,FUN_GETDATE_UTC}}
2020-01-31T23:59:59Z
<<yyyy-MM-dd,FUN_GETDATE_UTC>>
--OR--
{{User::MySSISVar1,FUN_GETDATE_UTC}}
2020-01-31
<<yyyy-MM-dd HH:mm.fff,FUN_GETDATE_UTC>>
--OR--
{{User::MySSISVar1,FUN_GETDATE_UTC}}
2020-01-31 23:59.999
<<yyyy, MMM dd,FUN_GETDATE_UTC>>
--OR--
{{User::MySSISVar1,FUN_GETDATE_UTC}}
2021, Mar 07
<<yyyy-MM-dd hh:mm tt,FUN_GETDATE_UTC>>
--OR--
{{User::MySSISVar1,FUN_GETDATE_UTC}}
2020-01-31 11:59 PM

FUN_TO_UTC_DATE

Syntax:
<<input_date_time,FUN_TO_UTC_DATE>>
Converts local date to UTC date (after conversion time portion is removed)

Parameters:

NameDescription
input_date_time[DateTime] Datetime you like to convert to UTC date

Examples:

ExampleSample OutputDescription
<<2021-01-01,FUN_TO_UTC_DATE>>
--OR--
{{User::MySSISVar1,FUN_TO_UTC_DATE}}
2020-12-31
Updated date after converting local time to UTC (+5:00 timezone converted to UTC)

FUN_TO_UTC_DATETIME

Syntax:
<<input_date_time,FUN_TO_UTC_DATETIME>>
Converts local date to UTC date (after conversion time portion is removed)

Parameters:

NameDescription
input_date_time[String] Datetime you like to convert to UTC date

Examples:

ExampleSample OutputDescription
<<2020-12-31T23:00:00,FUN_TO_UTC_DATETIME>>
--OR--
{{User::MySSISVar1,FUN_TO_UTC_DATETIME}}
2021-01-01T04:00:00Z
Example of time conversion to UTC for -5:00 timezone
<<2021-01-01T00:00:00,FUN_TO_UTC_DATETIME>>
--OR--
{{User::MySSISVar1,FUN_TO_UTC_DATETIME}}
2020-12-31T20:00:00Z
Example of time conversion to UTC for +5:00 timezone
<<2021-01-01,FUN_TO_UTC_DATETIME>>
--OR--
{{User::MySSISVar1,FUN_TO_UTC_DATETIME}}
2021-01-01T05:00:00Z
Example of time conversion to UTC for -5:00 timezone (EST)

FUN_TO_LOCAL_DATE

Syntax:
<<input_date_time,FUN_TO_LOCAL_DATE>>
Converts UTC datetime to local datetime based on current system timezone (after conversion time portion is removed)

Parameters:

NameDescription
input_date_time[String] Datetime you like to convert to UTC date

Examples:

ExampleSample OutputDescription
<<2020-12-31T23:00:00,FUN_TO_LOCAL_DATE>>
--OR--
{{User::MySSISVar1,FUN_TO_LOCAL_DATE}}
2021-01-01
Example of time conversion to UTC for -5:00 timezone
<<2021-01-01T00:00:00,FUN_TO_LOCAL_DATE>>
--OR--
{{User::MySSISVar1,FUN_TO_LOCAL_DATE}}
2020-12-31
Example of time conversion to UTC for +5:00 timezone
<<2021-01-01,FUN_TO_LOCAL_DATE>>
--OR--
{{User::MySSISVar1,FUN_TO_LOCAL_DATE}}
2020-12-31
Example of time conversion to UTC for +5:00 timezone

FUN_TO_LOCAL_DATETIME

Syntax:
<<input_date_time,FUN_TO_LOCAL_DATETIME>>
Converts UTC datetime to local datetime (based on current system timezone)

Parameters:

NameDescription
input_date_time[String] UTC Datetime you like to convert to local time

Examples:

ExampleSample OutputDescription
<<2020-12-31T23:00:00,FUN_TO_LOCAL_DATETIME>>
--OR--
{{User::MySSISVar1,FUN_TO_LOCAL_DATETIME}}
2021-01-01T04:00:00
Example of time conversion to UTC for -5:00 timezone
<<2021-01-01T00:00:00,FUN_TO_LOCAL_DATETIME>>
--OR--
{{User::MySSISVar1,FUN_TO_LOCAL_DATETIME}}
2020-12-31T20:00:00
Example of time conversion to UTC for +5:00 timezone
<<2021-01-01,FUN_TO_LOCAL_DATETIME>>
--OR--
{{User::MySSISVar1,FUN_TO_LOCAL_DATETIME}}
2020-12-31
Example of time conversion to UTC for +5:00 timezone

FUN_TIMESTAMP_UNIX

Syntax:
<<[input_date_time],FUN_TIMESTAMP_UNIX>>
Converts date/time to Unix TimeStamp which is integer number which represents number of seconds that have passed since January 1, 1970 (the birth of Unix a.k.a. the Unix epoch)

Parameters:

NameDescription
input_date_time (Optional)[DateTime] Input date/time which you like to convert to Unix Timestamp

Examples:

ExampleSample OutputDescription
<<FUN_TIMESTAMP_UNIX>>
--OR--
{{User::MySSISVar1,FUN_TIMESTAMP_UNIX}}
1615225833 (assuming System Clock was 2021-03-08T12:50:33 EST -5:00)
Unix Timestamp generated based on current time
<<2020-01-01T00:00:00,FUN_TIMESTAMP_UNIX>>
--OR--
{{User::MySSISVar1,FUN_TIMESTAMP_UNIX}}
1577854800
Unix Timestamp is generated for user defined date time (System setting EST -5:00 timezone). By default input date is treated as Local time so its always converted to UTC before generating Timestamp.
<<2020-01-01,FUN_TIMESTAMP_UNIX>>
--OR--
{{User::MySSISVar1,FUN_TIMESTAMP_UNIX}}
1577854800
Unix Timestamp is generated for user defined date time (System setting EST -5:00 timezone). Only date supplied (Time part is 00:00:00)
<<2020-01-01T00:00:00Z,FUN_TIMESTAMP_UNIX>>
--OR--
{{User::MySSISVar1,FUN_TIMESTAMP_UNIX}}
1577836800
Unix Timestamp is generated for user defined date time which is marked as UTC date (Z suffix at the end).

FUN_TIMESTAMP_MS_UNIX

Syntax:
<<[input_date_time],FUN_TIMESTAMP_MS_UNIX>>
Converts date/time to Unix TimeStamp which is integer number which represents number of milliseconds that have passed since January 1, 1970 (the birth of Unix a.k.a. the Unix epoch)

Parameters:

NameDescription
input_date_time (Optional)[DateTime] Input date/time which you like to convert to Unix Timestamp

Examples:

ExampleSample OutputDescription
<<FUN_TIMESTAMP_MS_UNIX>>
--OR--
{{User::MySSISVar1,FUN_TIMESTAMP_MS_UNIX}}
1577905199123 (assuming System Clock was 2020-01-01T13:59:59.123 EST -5:00)
Unix Timestamp generated based on current time
<<2020-01-01T13:59:59.123,FUN_TIMESTAMP_MS_UNIX>>
--OR--
{{User::MySSISVar1,FUN_TIMESTAMP_MS_UNIX}}
1577941199123
Unix Timestamp is generated for user defined date time (System setting EST -5:00 timezone). By default input date is treated as Local time so its always converted to UTC before generating Timestamp.
<<2020-01-01,FUN_TIMESTAMP_MS_UNIX>>
--OR--
{{User::MySSISVar1,FUN_TIMESTAMP_MS_UNIX}}
1577854800000
Unix Timestamp is generated for user defined date time (System setting EST -5:00 timezone). Only date supplied (Time part is 00:00:00)
<<2020-01-01T13:59:59.123Z,FUN_TIMESTAMP_MS_UNIX>>
--OR--
{{User::MySSISVar1,FUN_TIMESTAMP_MS_UNIX}}
1577887199123
Unix Timestamp is generated for user defined date time which is marked as UTC date (Z suffix at the end).

FUN_UNIX_TIMESTAMP_TO_DATE

Syntax:
<<input_unix_timestamp,FUN_UNIX_TIMESTAMP_TO_DATE>>
Converts Unix TimeStamp format to UTC date/time

Parameters:

NameDescription
input_unix_timestamp[Int32] Input Unix timestamp which you like to convert to datetime

Examples:

ExampleSample OutputDescription
<<1615225833,FUN_UNIX_TIMESTAMP_TO_DATE>>
--OR--
{{User::MySSISVar1,FUN_UNIX_TIMESTAMP_TO_DATE}}
2021-03-08T17:50:33

FUN_UNIX_TIMESTAMP_MS_TO_DATE

Syntax:
<<input_unix_timestamp,FUN_UNIX_TIMESTAMP_MS_TO_DATE>>
Converts Unix TimeStamp format to UTC date/time

Parameters:

NameDescription
input_unix_timestamp[Int64] Input Unix timestamp which you like to convert to datetime

Examples:

ExampleSample OutputDescription
<<1577941199123,FUN_UNIX_TIMESTAMP_MS_TO_DATE>>
--OR--
{{User::MySSISVar1,FUN_UNIX_TIMESTAMP_MS_TO_DATE}}
2020-01-02T04:59:59.123

String Functions

FUN_TRIM

Syntax:
<<input_text,FUN_TRIM>>
This function trims white spaces (i.e. new line, tab, spaces) around input string.

Parameters:

NameDescription
input_text[String] Input string which you want to trim.

Examples:

ExampleSample OutputDescription
<<  ABCD  ,FUN_TRIM>>
--OR--
{{User::MySSISVar1,FUN_TRIM}}
ABCD
<<ABCD  ,FUN_TRIM>>
--OR--
{{User::MySSISVar1,FUN_TRIM}}
ABCD

FUN_UPPER

Syntax:
<<input_text,FUN_UPPER>>
This function returns upper case string.

Parameters:

NameDescription
input_text[String] Input string which you want to change to upper case.

Examples:

ExampleSample OutputDescription
<<AbCd,FUN_UPPER>>
--OR--
{{User::MySSISVar1,FUN_UPPER}}
ABCD

FUN_LOWER

Syntax:
<<input_text,FUN_LOWER>>
This function returns lower case string.

Parameters:

NameDescription
input_text[String] Input string which you want to change to lower case.

Examples:

ExampleSample OutputDescription
<<AbCd,FUN_LOWER>>
--OR--
{{User::MySSISVar1,FUN_LOWER}}
abcd

FUN_REPLACE

Syntax:
<<input_text|~|search_for|~|replace_with|~|is_case_sensitive,FUN_REPLACE>>
Search for sub string and returns a new string with replaced value

Parameters:

NameDescription
input_text[String] The string to be replaced.
search_for[String] Sub string to be search for.
replace_with[String] New string value you like to replace.
is_case_sensitive[String] Specifies whether search pattern is case sensitive or not. 1 or True=Case-Sensitive search, 0 or False=Case-insensitive (Default=0)

Examples:

ExampleSample OutputDescription
<<I like Cap|~|Cap|~|Hat,FUN_REPLACE>>
--OR--
{{User::MySSISVar1,FUN_REPLACE}}
I like Cap
In this example word "Cap" is replaced by "Hat"

FUN_REGEX_REPLACE

Syntax:
<<input_text|~|search_pattern|~|replace_with[|~|is_case_sensitive],FUN_REGEX_REPLACE>>
Search for string pattern using Regular expression and returns a new string with replaced value

Parameters:

NameDescription
input_text[String] The string to be replaced.
search_pattern[String] Regular expression pattern you like to search for.
replace_with[String] New string value you like to replace.
is_case_sensitive (Optional)[Boolean] Specifies whether search pattern is case sensitive or not. 1=Case-Sensitive search (Default=false)

Examples:

ExampleSample OutputDescription
<<I like Cap0-red and Cap1-blue|~|Cap(\d+)-(\w+)|~|Hat$1-$2,FUN_REGEX_REPLACE>>
--OR--
{{User::MySSISVar1,FUN_REGEX_REPLACE}}
I like Hat0-red and Hat1-blue
You can use $1, $2...as Group indicator to extract sub values from pattern search. $1 represents first group (\d+) for cap number and $2 represents (\w+) for color
<<I like CAP0-red and cap1-blue|~|CaP(\d+)-(\w+)|~|Hat$1-$2|~|1,FUN_REGEX_REPLACE>>
--OR--
{{User::MySSISVar1,FUN_REGEX_REPLACE}}
I like Hat0-red and Hat1-blue
Example of Case-Insensitive search. See last parameter is 1 rather than default 0

FUN_REGEX_EXTRACT

Syntax:
<<input_text|~|search_pattern[|~|is_case_sensitive][|~|is_required],FUN_REGEX_EXTRACT>>
Returns string match using Regular expression

Parameters:

NameDescription
input_text[String] The string to be replaced.
search_pattern[String] Regular expression pattern you like to search for.
is_case_sensitive (Optional)[Boolean] Specifies whether search pattern is case sensitive or not. 1=Case-Sensitive search (Default=false)
is_required (Optional)[Boolean] Indicates whether it should throws error if search pattern not found. BY default it returns blank string if pattern not found.

Examples:

ExampleSample OutputDescription
<<I like Cap0-red and Cap1-blue|~|Cap(\d+)-(\w+),FUN_REGEX_EXTRACT>>
--OR--
{{User::MySSISVar1,FUN_REGEX_EXTRACT}}
Cap0-red
Extracts first match from input text
<<I like Cap0-red and Cap1-blue|~|Cap(\d+)-(\w+){{*}},FUN_REGEX_EXTRACT>>
--OR--
{{User::MySSISVar1,FUN_REGEX_EXTRACT}}
Cap0-red
Cap1-blue
Extracts all matches from input text (each match is separated by new line)
<<I like Cap0-red and Cap1-blue|~|Cap(\d+)-(\w+){{-0,2}},FUN_REGEX_EXTRACT>>
--OR--
{{User::MySSISVar1,FUN_REGEX_EXTRACT}}
blue
Extracts 2nd part (i.e. color) of last match from input text
<<I like Cap0-red and Cap1-blue|~|Cap(\d+)-(\w+){{0,2}},FUN_REGEX_EXTRACT>>
--OR--
{{User::MySSISVar1,FUN_REGEX_EXTRACT}}
red
Extracts 2nd part (i.e. color) of first match from input text
<<I like Cap0-red and Cap1-blue|~|Cap(\d+)-(\w+){{*,2}},FUN_REGEX_EXTRACT>>
--OR--
{{User::MySSISVar1,FUN_REGEX_EXTRACT}}
red
blue
Extracts 2nd part (i.e. color) of all matches (i.e. color) from input text (each match is separated by new line)

FUN_JSON_TO_TEXT

Syntax:
<<input_json|~|json_path[|~|separator],FUN_JSON_TO_TEXT>>
Extracts Text from JSON array using JSON Path expression. You can specify expression like $.data[*] or $.data[*].email. If document is Array (i.e. starts with [ ) then root is referred as $.data[*]

Parameters:

NameDescription
input_json[String] JSON document from which you like to extract text.
json_path[String] JSONPath Filter expression you like to extract
separator (Optional)[String] String to use as separator to join multiple matches. You may use \r (carriage return),\n (linefeed),\r\n (newline),\t (tab) Default={space}

Examples:

ExampleSample OutputDescription
<<['A','B','C']|~|$.data[*],FUN_JSON_TO_TEXT>>
--OR--
{{User::MySSISVar1,FUN_JSON_TO_TEXT}}
A B C
<<['A','B','C']|~|$.data[*]|~|;,FUN_JSON_TO_TEXT>>
--OR--
{{User::MySSISVar1,FUN_JSON_TO_TEXT}}
A;B;C
<<['A','B','C']|~|$.data[*]|~|\n,FUN_JSON_TO_TEXT>>
--OR--
{{User::MySSISVar1,FUN_JSON_TO_TEXT}}
A
B
C
<<[{id:'A'},{id:'B'},{id:'C'}]|~|$.data[*].id|~|\n,FUN_JSON_TO_TEXT>>
--OR--
{{User::MySSISVar1,FUN_JSON_TO_TEXT}}
A
B
C

FUN_RANDOM_STR

Syntax:
<<[max_length],FUN_RANDOM_STR>>
Generates a random string

Parameters:

NameDescription
max_length (Optional)[String] Maximum number of characters. Default=10

Examples:

ExampleSample OutputDescription
<<FUN_RANDOM_STR>>
--OR--
{{User::MySSISVar1,FUN_RANDOM_STR}}
Asdhs^&jhd
Generate a random string (upto 10 characters by default)
<<4,FUN_RANDOM_STR>>
--OR--
{{User::MySSISVar1,FUN_RANDOM_STR}}
As#1
Generate a random string upto 4 characters

MD5 Functions

FUN_MD5

Syntax:
<<input_string,FUN_MD5>>
Returns MD5 hash in Base64 format for specified input

Parameters:

NameDescription
input_string[String] Input string you like to hash

Examples:

ExampleSample OutputDescription
<<ABC123,FUN_MD5>>
--OR--
{{User::MySSISVar1,FUN_MD5}}
u/LerTdGVMuzKpF6/SNmVg==
MD5 Hash of string containing upper case and numbers
<<abc123,FUN_MD5>>
--OR--
{{User::MySSISVar1,FUN_MD5}}
6ZoYxCjLONXyYIU2eJIuAw==
MD5 Hash of string containing lower case and numbers
<<FUN_MD5>>
--OR--
{{User::MySSISVar1,FUN_MD5}}
1B2M2Y8AsgTpgAmY7PhCfg==
MD5 Hash of blank string

FUN_MD5HEX

Syntax:
<<input_string,FUN_MD5HEX>>
Returns MD5 hash in Hex format (all Uppercase). To output Hash in base64 use FUN_MD5. To output Hash in lowercase format use FUN_HASH_MD5_HEX

Parameters:

NameDescription
input_string[String] Input string you like to hash

Examples:

ExampleSample OutputDescription
<<ABC123,FUN_MD5HEX>>
--OR--
{{User::MySSISVar1,FUN_MD5HEX}}
BBF2DEAD374654CBB32A917AFD236656
MD5 Hash (in Hex format) of string containing upper case and numbers
<<abc123,FUN_MD5HEX>>
--OR--
{{User::MySSISVar1,FUN_MD5HEX}}
E99A18C428CB38D5F260853678922E03
MD5 Hash (in Hex format) of string containing lower case and numbers
<<FUN_MD5HEX>>
--OR--
{{User::MySSISVar1,FUN_MD5HEX}}
D41D8CD98F00B204E9800998ECF8427E
MD5 Hash (in Hex format) of blank string

FUN_FILE_MD5

Syntax:
<<file_path,FUN_FILE_MD5>>
Returns File content MD5 hash in Base64 format for a specified file path. File content can be text or binary.

Parameters:

NameDescription
file_path[String] File path for which you like to calculate MD5 hash (path can be for text or binary data file - txt, json, exe, png, zip)

Examples:

ExampleSample OutputDescription
<<c:\data.txt,FUN_FILE_MD5>>
--OR--
{{User::MySSISVar1,FUN_FILE_MD5}}
u/LerTdGVMuzKpF6/SNmVg==
MD5 Hash of a ASCII file. Where file content is [ABC123].
<<c:\data.txt,FUN_FILE_MD5>>
--OR--
{{User::MySSISVar1,FUN_FILE_MD5}}
RoU9p6cBAq/t5ApxY9ADMQ==
MD5 Hash of a UTF8 file (with BOM). Where file content is [ABC123].

FUN_FILE_MD5HEX

Syntax:
<<file_path,FUN_FILE_MD5HEX>>
Returns File content MD5 hash in Hex format (rather than Base64) for a specified file path. File content can be text or binary.

Parameters:

NameDescription
file_path[String] File path for which you like to calculate MD5 hash (path can be for text or binary data file - txt, json, exe, png, zip)

Examples:

ExampleSample OutputDescription
<<c:\data.txt,FUN_FILE_MD5HEX>>
--OR--
{{User::MySSISVar1,FUN_FILE_MD5HEX}}
BBF2DEAD374654CBB32A917AFD236656
MD5 Hash of a ASCII file. Where file content is [ABC123].
<<c:\data.txt,FUN_FILE_MD5HEX>>
--OR--
{{User::MySSISVar1,FUN_FILE_MD5HEX}}
46853DA7A70102AFEDE40A7163D00331
MD5 Hash of a UTF8 file (with BOM). Where file content is [ABC123].

Hash Functions

FUN_HASH_MD5

Syntax:
<<input_string,FUN_HASH_MD5>>
Returns MD5 hash in Base64 format for specified input string

Parameters:

NameDescription
input_string[String] Input string you like to hash

Examples:

ExampleSample OutputDescription
<<ABC123,FUN_HASH_MD5>>
--OR--
{{User::MySSISVar1,FUN_HASH_MD5}}
???
MD5 Hash of string (text: ABC123) in Base64 format
<<abc123,FUN_HASH_MD5>>
--OR--
{{User::MySSISVar1,FUN_HASH_MD5}}
???
MD5 Hash of string (text: abc123) in Base64 format
<<FUN_HASH_MD5>>
--OR--
{{User::MySSISVar1,FUN_HASH_MD5}}
???
MD5 Hash of blank string in Base64 format

FUN_HASH_MD5_HEX

Syntax:
<<input_string,FUN_HASH_MD5_HEX>>
Returns MD5 hash in HEX format for specified input string. To output hash in Base64 use HASH_MD5 function.

Parameters:

NameDescription
input_string[String] Input string you like to hash

Examples:

ExampleSample OutputDescription
<<ABC123,FUN_HASH_MD5_HEX>>
--OR--
{{User::MySSISVar1,FUN_HASH_MD5_HEX}}
???
MD5 Hash of string (text: ABC123) in HEX format
<<abc123,FUN_HASH_MD5_HEX>>
--OR--
{{User::MySSISVar1,FUN_HASH_MD5_HEX}}
???
MD5 Hash of string (text: abc123) in HEX format
<<FUN_HASH_MD5_HEX>>
--OR--
{{User::MySSISVar1,FUN_HASH_MD5_HEX}}
???
MD5 Hash of blank string in HEX format

FUN_HASH_FILE_MD5

Syntax:
<<input_file,FUN_HASH_FILE_MD5>>
Returns MD5 hash in Base64 format for specified input file

Parameters:

NameDescription
input_file[String] Input file you like to hash

Examples:

ExampleSample OutputDescription
<<c:\data.txt,FUN_HASH_FILE_MD5>>
--OR--
{{User::MySSISVar1,FUN_HASH_FILE_MD5}}
???
MD5 Hash of file (text: ABC123) in Base64 format
<<c:\data.txt,FUN_HASH_FILE_MD5>>
--OR--
{{User::MySSISVar1,FUN_HASH_FILE_MD5}}
???
MD5 Hash of file (text: abc123) in Base64 format
<<c:\data.txt,FUN_HASH_FILE_MD5>>
--OR--
{{User::MySSISVar1,FUN_HASH_FILE_MD5}}
???
MD5 Hash of blank file in Base64 format

FUN_HASH_FILE_MD5_HEX

Syntax:
<<input_file,FUN_HASH_FILE_MD5_HEX>>
Returns MD5 hash in HEX format for specified input file. To output hash in Base64 use HASH_MD5 function.

Parameters:

NameDescription
input_file[String] Input file you like to hash

Examples:

ExampleSample OutputDescription
<<c:\data.txt,FUN_HASH_FILE_MD5_HEX>>
--OR--
{{User::MySSISVar1,FUN_HASH_FILE_MD5_HEX}}
???
MD5 Hash of file (text: ABC123) in HEX format
<<c:\data.txt,FUN_HASH_FILE_MD5_HEX>>
--OR--
{{User::MySSISVar1,FUN_HASH_FILE_MD5_HEX}}
???
MD5 Hash of file (text: abc123) in HEX format
<<c:\data.txt,FUN_HASH_FILE_MD5_HEX>>
--OR--
{{User::MySSISVar1,FUN_HASH_FILE_MD5_HEX}}
???
MD5 Hash of blank file in HEX format

FUN_HASH_SHA1

Syntax:
<<input_string,FUN_HASH_SHA1>>
Returns SHA1 hash in Base64 format for specified input string

Parameters:

NameDescription
input_string[String] Input string you like to hash

Examples:

ExampleSample OutputDescription
<<ABC123,FUN_HASH_SHA1>>
--OR--
{{User::MySSISVar1,FUN_HASH_SHA1}}
???
SHA1 Hash of string (text: ABC123) in Base64 format
<<abc123,FUN_HASH_SHA1>>
--OR--
{{User::MySSISVar1,FUN_HASH_SHA1}}
???
SHA1 Hash of string (text: abc123) in Base64 format
<<FUN_HASH_SHA1>>
--OR--
{{User::MySSISVar1,FUN_HASH_SHA1}}
???
SHA1 Hash of blank string in Base64 format

FUN_HASH_SHA1_HEX

Syntax:
<<input_string,FUN_HASH_SHA1_HEX>>
Returns SHA1 hash in HEX format for specified input string. To output hash in Base64 use HASH_SHA1 function.

Parameters:

NameDescription
input_string[String] Input string you like to hash

Examples:

ExampleSample OutputDescription
<<ABC123,FUN_HASH_SHA1_HEX>>
--OR--
{{User::MySSISVar1,FUN_HASH_SHA1_HEX}}
???
SHA1 Hash of string (text: ABC123) in HEX format
<<abc123,FUN_HASH_SHA1_HEX>>
--OR--
{{User::MySSISVar1,FUN_HASH_SHA1_HEX}}
???
SHA1 Hash of string (text: abc123) in HEX format
<<FUN_HASH_SHA1_HEX>>
--OR--
{{User::MySSISVar1,FUN_HASH_SHA1_HEX}}
???
SHA1 Hash of blank string in HEX format

FUN_HASH_SHA256

Syntax:
<<input_string,FUN_HASH_SHA256>>
Returns SHA256 hash in Base64 format for specified input string

Parameters:

NameDescription
input_string[String] Input string you like to hash

Examples:

ExampleSample OutputDescription
<<ABC123,FUN_HASH_SHA256>>
--OR--
{{User::MySSISVar1,FUN_HASH_SHA256}}
4L69IoGZk0JYFIZrYnAeKRnqJvE3BJnBA3tTudScLIo=
SHA256 Hash of string (text: ABC123) in Base64 format
<<abc123,FUN_HASH_SHA256>>
--OR--
{{User::MySSISVar1,FUN_HASH_SHA256}}
bKE9UspwyIPg8LsQHkJaiehiTeUdstI5JZOvaoQRgJA=
SHA256 Hash of string (text: abc123) in Base64 format
<<FUN_HASH_SHA256>>
--OR--
{{User::MySSISVar1,FUN_HASH_SHA256}}
47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=
SHA256 Hash of blank string in Base64 format

FUN_HASH_SHA256_HEX

Syntax:
<<input_string,FUN_HASH_SHA256_HEX>>
Returns SHA256 hash in HEX format for specified input string. To output hash in Base64 use HASH_SHA256 function.

Parameters:

NameDescription
input_string[String] Input string you like to hash

Examples:

ExampleSample OutputDescription
<<ABC123,FUN_HASH_SHA256_HEX>>
--OR--
{{User::MySSISVar1,FUN_HASH_SHA256_HEX}}
e0bebd22819993425814866b62701e2919ea26f1370499c1037b53b9d49c2c8a
SHA256 Hash of string (text: ABC123) in HEX format
<<abc123,FUN_HASH_SHA256_HEX>>
--OR--
{{User::MySSISVar1,FUN_HASH_SHA256_HEX}}
6ca13d52ca70c883e0f0bb101e425a89e8624de51db2d2392593af6a84118090
SHA256 Hash of string (text: abc123) in HEX format
<<FUN_HASH_SHA256_HEX>>
--OR--
{{User::MySSISVar1,FUN_HASH_SHA256_HEX}}
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
SHA256 Hash of blank string in HEX format

FUN_HASH_FILE_SHA256

Syntax:
<<input_file,FUN_HASH_FILE_SHA256>>
Returns SHA256 hash in Base64 format for specified input file

Parameters:

NameDescription
input_file[String] Input file you like to hash

Examples:

ExampleSample OutputDescription
<<c:\data.txt,FUN_HASH_FILE_SHA256>>
--OR--
{{User::MySSISVar1,FUN_HASH_FILE_SHA256}}
4L69IoGZk0JYFIZrYnAeKRnqJvE3BJnBA3tTudScLIo=
SHA256 Hash of file (text: ABC123) in Base64 format
<<c:\data.txt,FUN_HASH_FILE_SHA256>>
--OR--
{{User::MySSISVar1,FUN_HASH_FILE_SHA256}}
bKE9UspwyIPg8LsQHkJaiehiTeUdstI5JZOvaoQRgJA=
SHA256 Hash of file (text: abc123) in Base64 format
<<c:\data.txt,FUN_HASH_FILE_SHA256>>
--OR--
{{User::MySSISVar1,FUN_HASH_FILE_SHA256}}
47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=
SHA256 Hash of blank file in Base64 format

FUN_HASH_FILE_SHA256_HEX

Syntax:
<<input_file,FUN_HASH_FILE_SHA256_HEX>>
Returns SHA256 hash in HEX format for specified input file. To output hash in Base64 use HASH_SHA256 function.

Parameters:

NameDescription
input_file[String] Input file you like to hash

Examples:

ExampleSample OutputDescription
<<c:\data.txt,FUN_HASH_FILE_SHA256_HEX>>
--OR--
{{User::MySSISVar1,FUN_HASH_FILE_SHA256_HEX}}
e0bebd22819993425814866b62701e2919ea26f1370499c1037b53b9d49c2c8a
SHA256 Hash of file (text: ABC123) in HEX format
<<c:\data.txt,FUN_HASH_FILE_SHA256_HEX>>
--OR--
{{User::MySSISVar1,FUN_HASH_FILE_SHA256_HEX}}
6ca13d52ca70c883e0f0bb101e425a89e8624de51db2d2392593af6a84118090
SHA256 Hash of file (text: abc123) in HEX format
<<c:\data.txt,FUN_HASH_FILE_SHA256_HEX>>
--OR--
{{User::MySSISVar1,FUN_HASH_FILE_SHA256_HEX}}
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
SHA256 Hash of blank file in HEX format

FUN_HASH_SHA512

Syntax:
<<input_string,FUN_HASH_SHA512>>
Returns SHA512 hash in Base64 format for specified input string

Parameters:

NameDescription
input_string[String] Input string you like to hash

Examples:

ExampleSample OutputDescription
<<ABC123,FUN_HASH_SHA512>>
--OR--
{{User::MySSISVar1,FUN_HASH_SHA512}}
???
SHA512 Hash of string (text: ABC123) in Base64 format
<<abc123,FUN_HASH_SHA512>>
--OR--
{{User::MySSISVar1,FUN_HASH_SHA512}}
???
SHA512 Hash of string (text: abc123) in Base64 format
<<FUN_HASH_SHA512>>
--OR--
{{User::MySSISVar1,FUN_HASH_SHA512}}
???
SHA512 Hash of blank string in Base64 format

FUN_HASH_SHA512_HEX

Syntax:
<<input_string,FUN_HASH_SHA512_HEX>>
Returns SHA512 hash in HEX format for specified input string. To output hash in Base64 use HASH_SHA512 function.

Parameters:

NameDescription
input_string[String] Input string you like to hash

Examples:

ExampleSample OutputDescription
<<ABC123,FUN_HASH_SHA512_HEX>>
--OR--
{{User::MySSISVar1,FUN_HASH_SHA512_HEX}}
???
SHA512 Hash of string (text: ABC123) in HEX format
<<abc123,FUN_HASH_SHA512_HEX>>
--OR--
{{User::MySSISVar1,FUN_HASH_SHA512_HEX}}
???
SHA512 Hash of string (text: abc123) in HEX format
<<FUN_HASH_SHA512_HEX>>
--OR--
{{User::MySSISVar1,FUN_HASH_SHA512_HEX}}
???
SHA512 Hash of blank string in HEX format

HMAC - Hash + Encryption Functions

FUN_HMAC_MD5

Syntax:
<<secret_key[--non-base64]|~|input_string,FUN_HMAC_MD5>>
Returns a Base64 string of Hash-based Message Authentication Code (HMAC) by using the MD5 hash function (Hash input data using user defined secret key)

Parameters:

NameDescription
secret_key[--non-base64][String] Secret Key you like to use to produce hash. Append --non-base64 after secret key if Key is Non-Base64 (i.e. some password which is not Base64)
input_string[String] Input string for which you like to produce Hash

Examples:

ExampleSample OutputDescription
<<a2V5MTIz||Hi my name is A,FUN_HMAC_MD5>>
--OR--
{{User::MySSISVar1,FUN_HMAC_MD5}}
EICjBYkqIW6HpU0VOkIABQ==
HMAC for base64 secret key (i.e. a2V5MTIz) and sample input string.
<<PassW0rd--non-base64||Hi my name is A,FUN_HMAC_MD5>>
--OR--
{{User::MySSISVar1,FUN_HMAC_MD5}}
KUcR9yrT/+sUwV/Rlclk4Q==
HMAC for non-base64 secret key (i.e. PassW0rd) and sample input string. Notice we appended --non-base64 after secret key
<<a2V5MTIz||POST\napi-key:ABCD12345\n/my/api/url,FUN_HMAC_MD5>>
--OR--
{{User::MySSISVar1,FUN_HMAC_MD5}}
NMWBHrLEeRDlIeSpY0I12A==
HMAC for base64 secret key (i.e. a2V5MTIz) and sample input string. Notice we used \n after POST and api-key:ABCD12345. Use of \n (line feed) and \r (carriage return) is allowed anywhere in input_string and it will be replaced automatically before calculating Hash.

FUN_HMAC_SHA1

Syntax:
<<secret_key[--non-base64]|~|input_string,FUN_HMAC_SHA1>>
Returns a Base64 string of Hash-based Message Authentication Code (HMAC) by using the SHA1 hash function (Hash input data using user defined secret key)

Parameters:

NameDescription
secret_key[--non-base64][String] Secret Key you like to use to produce hash. Append --non-base64 after secret key if Key is Non-Base64 (i.e. some password which is not Base64)
input_string[String] Input string for which you like to produce Hash

Examples:

ExampleSample OutputDescription
<<a2V5MTIz||Hi my name is A,FUN_HMAC_SHA1>>
--OR--
{{User::MySSISVar1,FUN_HMAC_SHA1}}
AjySY1u3hiBuWLL7t5HfbwRL8Kk=
HMAC for base64 secret key (i.e. a2V5MTIz) and sample input string.
<<PassW0rd--non-base64||Hi my name is A,FUN_HMAC_SHA1>>
--OR--
{{User::MySSISVar1,FUN_HMAC_SHA1}}
jzWyMKjP9uzKkwsBsKUnSEk/uW4=
HMAC for non-base64 secret key (i.e. PassW0rd) and sample input string. Notice we appended --non-base64 after secret key
<<a2V5MTIz||POST\napi-key:ABCD12345\n/my/api/url,FUN_HMAC_SHA1>>
--OR--
{{User::MySSISVar1,FUN_HMAC_SHA1}}
TLN5p6HKFcIk/5vJbLG9IliO0+g=
HMAC for base64 secret key (i.e. a2V5MTIz) and sample input string. Notice we used \n after POST and api-key:ABCD12345. Use of \n (line feed) and \r (carriage return) is allowed anywhere in input_string and it will be replaced automatically before calculating Hash.

FUN_HMAC_SHA256

Syntax:
<<secret_key[--non-base64]|~|input_string,FUN_HMAC_SHA256>>
Returns a Base64 string of Hash-based Message Authentication Code (HMAC) by using the SHA256 hash function (Hash input data using user defined secret key)

Parameters:

NameDescription
secret_key[--non-base64][String] Secret Key you like to use to produce hash. Append --non-base64 after secret key if Key is Non-Base64 (i.e. some password which is not Base64)
input_string[String] Input string for which you like to produce Hash

Examples:

ExampleSample OutputDescription
<<a2V5MTIz||Hi my name is A,FUN_HMAC_SHA256>>
--OR--
{{User::MySSISVar1,FUN_HMAC_SHA256}}
+yhBCew33Bbvh+Raumcj7Af3wuNT8pRepT0HfPt+6rg=
HMAC for base64 secret key (i.e. a2V5MTIz) and sample input string.
<<PassW0rd--non-base64||Hi my name is A,FUN_HMAC_SHA256>>
--OR--
{{User::MySSISVar1,FUN_HMAC_SHA256}}
C0QsJqJ1ds8vJx5IZIJEkgjA6C1Zx50FUWJzfPW3pOE=
HMAC for non-base64 secret key (i.e. PassW0rd) and sample input string. Notice we appended --non-base64 after secret key
<<a2V5MTIz||POST\napi-key:ABCD12345\n/my/api/url,FUN_HMAC_SHA256>>
--OR--
{{User::MySSISVar1,FUN_HMAC_SHA256}}
g4RYXElEKkk6M4uODazT0cSuygVcjuh8ycmYIOq5Joc=
HMAC for base64 secret key (i.e. a2V5MTIz) and sample input string. Notice we used \n after POST and api-key:ABCD12345. Use of \n (line feed) and \r (carriage return) is allowed anywhere in input_string and it will be replaced automatically before calculating Hash.

FUN_HMAC_SHA384

Syntax:
<<secret_key[--non-base64]|~|input_string,FUN_HMAC_SHA384>>
Returns a Base64 string of Hash-based Message Authentication Code (HMAC) by using the SHA384 hash function (Hash input data using user defined secret key)

Parameters:

NameDescription
secret_key[--non-base64][String] Secret Key you like to use to produce hash. Append --non-base64 after secret key if Key is Non-Base64 (i.e. some password which is not Base64)
input_string[String] Input string for which you like to produce Hash

Examples:

ExampleSample OutputDescription
<<a2V5MTIz||Hi my name is A,FUN_HMAC_SHA384>>
--OR--
{{User::MySSISVar1,FUN_HMAC_SHA384}}
//2hiViJ5fY4Mgwa5zUS6L+dEiwr6QcX/WoY6y1hJ8LwKpqABzn9NWD1l08eLdJi
HMAC for base64 secret key (i.e. a2V5MTIz) and sample input string.
<<PassW0rd--non-base64||Hi my name is A,FUN_HMAC_SHA384>>
--OR--
{{User::MySSISVar1,FUN_HMAC_SHA384}}
48bA65Om0rFndSa1P2w+2LFgrSTgVAXNCY3Z6Q3+/H9TnMv171zQawrx0n8xLlLp
HMAC for non-base64 secret key (i.e. PassW0rd) and sample input string. Notice we appended --non-base64 after secret key
<<a2V5MTIz||POST\napi-key:ABCD12345\n/my/api/url,FUN_HMAC_SHA384>>
--OR--
{{User::MySSISVar1,FUN_HMAC_SHA384}}
eICuBm1DbsFnk4Ai/qTmy+w5cp2hUZQ6MvNiwZfyS9m93oyaBTNQMI/orrVrpI8i
HMAC for base64 secret key (i.e. a2V5MTIz) and sample input string. Notice we used \n after POST and api-key:ABCD12345. Use of \n (line feed) and \r (carriage return) is allowed anywhere in input_string and it will be replaced automatically before calculating Hash.

FUN_HMAC_SHA384

Syntax:
<<secret_key[--non-base64]|~|input_string,FUN_HMAC_SHA384>>
Returns a Base64 string of Hash-based Message Authentication Code (HMAC) by using the SHA512 hash function (Hash input data using user defined secret key)

Parameters:

NameDescription
secret_key[--non-base64][String] Secret Key you like to use to produce hash. Append --non-base64 after secret key if Key is Non-Base64 (i.e. some password which is not Base64)
input_string[String] Input string for which you like to produce Hash

Examples:

ExampleSample OutputDescription
<<a2V5MTIz||Hi my name is A,FUN_HMAC_SHA384>>
--OR--
{{User::MySSISVar1,FUN_HMAC_SHA384}}
fdVQbHC5acN+UFoSeWNLEOGtn1Jc3aIEjY97aQ58/EhciNJLxTk+rlX04485OZKLysvbZVNPDLjGz20gvzOwXA==
HMAC for base64 secret key (i.e. a2V5MTIz) and sample input string.
<<PassW0rd--non-base64||Hi my name is A,FUN_HMAC_SHA384>>
--OR--
{{User::MySSISVar1,FUN_HMAC_SHA384}}
oEKZhescV/0ZHfudwj6PMglEaou3VkbFB2iNXinGmIznQWE552+HfYY3BnBEWy5HJGzndPZmp3hqDtIpQIypZA==
HMAC for non-base64 secret key (i.e. PassW0rd) and sample input string. Notice we appended --non-base64 after secret key
<<a2V5MTIz||POST\napi-key:ABCD12345\n/my/api/url,FUN_HMAC_SHA384>>
--OR--
{{User::MySSISVar1,FUN_HMAC_SHA384}}
smP9CmAo9v5C2oA2lmzLATdaKI06Yxl+LvSURhv/QOTqQ+vGh2wUnynNw5eZuy/S8Z3yGrprc18n/Zo0gP/y7w==
HMAC for base64 secret key (i.e. a2V5MTIz) and sample input string. Notice we used \n after POST and api-key:ABCD12345. Use of \n (line feed) and \r (carriage return) is allowed anywhere in input_string and it will be replaced automatically before calculating Hash.

FUN_HMAC_MD5_HEX

Syntax:
<<secret_key[--non-base64]|~|input_string,FUN_HMAC_MD5_HEX>>
Returns a HEX string of Hash-based Message Authentication Code (HMAC) by using the MD5 hash function (Hash input data using user defined secret key)

Parameters:

NameDescription
secret_key[--non-base64][String] Secret Key you like to use to produce hash. Append --non-base64 after secret key if Key is Non-Base64 (i.e. some password which is not Base64)
input_string[String] Input string for which you like to produce Hash

Examples:

ExampleSample OutputDescription
<<--MD5 Hex--
<<a2V5MTIz||Hi my name is A,FUN_HMAC_MD5_HEX>>
<<PassW0rd--non-base64||Hi my name is A,FUN_HMAC_MD5_HEX>>
<<a2V5MTIz||POST\napi-key:ABCD12345\n/my/api/url,FUN_HMAC_MD5_HEX>>

--SHA1 Hex--
<<a2V5MTIz||Hi my name is A,FUN_HMAC_SHA1_HEX>>
<<PassW0rd--non-base64||Hi my name is A,FUN_HMAC_SHA1_HEX>>
<<a2V5MTIz||POST\napi-key:ABCD12345\n/my/api/url,FUN_HMAC_SHA1_HEX>>

--SHA256 Hex--
<<a2V5MTIz||Hi my name is A,FUN_HMAC_SHA256_HEX>>
<<PassW0rd--non-base64||Hi my name is A,FUN_HMAC_SHA256_HEX>>
<<a2V5MTIz||POST\napi-key:ABCD12345\n/my/api/url,FUN_HMAC_SHA256_HEX>>

--SHA384 Hex--
<<a2V5MTIz||Hi my name is A,FUN_HMAC_SHA384_HEX>>
<<PassW0rd--non-base64||Hi my name is A,FUN_HMAC_SHA384_HEX>>
<<a2V5MTIz||POST\napi-key:ABCD12345\n/my/api/url,FUN_HMAC_SHA384_HEX>>

--SHA512 Hex--
<<a2V5MTIz||Hi my name is A,FUN_HMAC_SHA512_HEX>>
<<PassW0rd--non-base64||Hi my name is A,FUN_HMAC_SHA512_HEX>>
<<a2V5MTIz||POST\napi-key:ABCD12345\n/my/api/url,FUN_HMAC_SHA512_HEX>>
,FUN_HMAC_MD5_HEX>>
--OR--
{{User::MySSISVar1,FUN_HMAC_MD5_HEX}}
--MD5 Hex--
1080a305892a216e87a54d153a420005
294711f72ad3ffeb14c15fd195c964e1
34c5811eb2c47910e521e4a9634235d8

--SHA1 Hex--
023c92635bb786206e58b2fbb791df6f044bf0a9
8f35b230a8cff6ecca930b01b0a52748493fb96e
4cb379a7a1ca15c224ff9bc96cb1bd22588ed3e8

--SHA256 Hex--
fb284109ec37dc16ef87e45aba6723ec07f7c2e353f2945ea53d077cfb7eeab8
0b442c26a27576cf2f271e486482449208c0e82d59c79d055162737cf5b7a4e1
8384585c49442a493a338b8e0dacd3d1c4aeca055c8ee87cc9c99820eab92687

--SHA384 Hex--
fffda1895889e5f638320c1ae73512e8bf9d122c2be90717fd6a18eb2d6127c2f02a9a800739fd3560f5974f1e2dd262
e3c6c0eb93a6d2b1677526b53f6c3ed8b160ad24e05405cd098dd9e90dfefc7f539ccbf5ef5cd06b0af1d27f312e52e9
7880ae066d436ec167938022fea4e6cbec39729da151943a32f362c197f24bd9bdde8c9a053350308fe8aeb56ba48f22

--SHA512 Hex--
7dd5506c70b969c37e505a1279634b10e1ad9f525cdda2048d8f7b690e7cfc485c88d24bc5393eae55f4e38f3939928bcacbdb65534f0cb8c6cf6d20bf33b05c
a0429985eb1c57fd191dfb9dc23e8f3209446a8bb75646c507688d5e29c6988ce7416139e76f877d86370670445b2e47246ce774f666a7786a0ed229408ca964
b263fd0a6028f6fe42da8036966ccb01375a288d3a63197e2ef494461bff40e4ea43ebc6876c149f29cdc39799bb2fd2f19df21aba6b735f27fd9a3480fff2ef

FUN_HMAC_SHA1_HEX

Syntax:
<<secret_key[--non-base64]|~|input_string,FUN_HMAC_SHA1_HEX>>
Returns a HEX string of Hash-based Message Authentication Code (HMAC) by using the SHA1 hash function (Hash input data using user defined secret key)

Parameters:

NameDescription
secret_key[--non-base64][String] Secret Key you like to use to produce hash. Append --non-base64 after secret key if Key is Non-Base64 (i.e. some password which is not Base64)
input_string[String] Input string for which you like to produce Hash

Examples:

ExampleSample OutputDescription
<<--MD5 Hex--
<<a2V5MTIz||Hi my name is A,FUN_HMAC_MD5_HEX>>
<<PassW0rd--non-base64||Hi my name is A,FUN_HMAC_MD5_HEX>>
<<a2V5MTIz||POST\napi-key:ABCD12345\n/my/api/url,FUN_HMAC_MD5_HEX>>

--SHA1 Hex--
<<a2V5MTIz||Hi my name is A,FUN_HMAC_SHA1_HEX>>
<<PassW0rd--non-base64||Hi my name is A,FUN_HMAC_SHA1_HEX>>
<<a2V5MTIz||POST\napi-key:ABCD12345\n/my/api/url,FUN_HMAC_SHA1_HEX>>

--SHA256 Hex--
<<a2V5MTIz||Hi my name is A,FUN_HMAC_SHA256_HEX>>
<<PassW0rd--non-base64||Hi my name is A,FUN_HMAC_SHA256_HEX>>
<<a2V5MTIz||POST\napi-key:ABCD12345\n/my/api/url,FUN_HMAC_SHA256_HEX>>

--SHA384 Hex--
<<a2V5MTIz||Hi my name is A,FUN_HMAC_SHA384_HEX>>
<<PassW0rd--non-base64||Hi my name is A,FUN_HMAC_SHA384_HEX>>
<<a2V5MTIz||POST\napi-key:ABCD12345\n/my/api/url,FUN_HMAC_SHA384_HEX>>

--SHA512 Hex--
<<a2V5MTIz||Hi my name is A,FUN_HMAC_SHA512_HEX>>
<<PassW0rd--non-base64||Hi my name is A,FUN_HMAC_SHA512_HEX>>
<<a2V5MTIz||POST\napi-key:ABCD12345\n/my/api/url,FUN_HMAC_SHA512_HEX>>
,FUN_HMAC_SHA1_HEX>>
--OR--
{{User::MySSISVar1,FUN_HMAC_SHA1_HEX}}
--MD5 Hex--
1080a305892a216e87a54d153a420005
294711f72ad3ffeb14c15fd195c964e1
34c5811eb2c47910e521e4a9634235d8

--SHA1 Hex--
023c92635bb786206e58b2fbb791df6f044bf0a9
8f35b230a8cff6ecca930b01b0a52748493fb96e
4cb379a7a1ca15c224ff9bc96cb1bd22588ed3e8

--SHA256 Hex--
fb284109ec37dc16ef87e45aba6723ec07f7c2e353f2945ea53d077cfb7eeab8
0b442c26a27576cf2f271e486482449208c0e82d59c79d055162737cf5b7a4e1
8384585c49442a493a338b8e0dacd3d1c4aeca055c8ee87cc9c99820eab92687

--SHA384 Hex--
fffda1895889e5f638320c1ae73512e8bf9d122c2be90717fd6a18eb2d6127c2f02a9a800739fd3560f5974f1e2dd262
e3c6c0eb93a6d2b1677526b53f6c3ed8b160ad24e05405cd098dd9e90dfefc7f539ccbf5ef5cd06b0af1d27f312e52e9
7880ae066d436ec167938022fea4e6cbec39729da151943a32f362c197f24bd9bdde8c9a053350308fe8aeb56ba48f22

--SHA512 Hex--
7dd5506c70b969c37e505a1279634b10e1ad9f525cdda2048d8f7b690e7cfc485c88d24bc5393eae55f4e38f3939928bcacbdb65534f0cb8c6cf6d20bf33b05c
a0429985eb1c57fd191dfb9dc23e8f3209446a8bb75646c507688d5e29c6988ce7416139e76f877d86370670445b2e47246ce774f666a7786a0ed229408ca964
b263fd0a6028f6fe42da8036966ccb01375a288d3a63197e2ef494461bff40e4ea43ebc6876c149f29cdc39799bb2fd2f19df21aba6b735f27fd9a3480fff2ef

FUN_HMAC_SHA256_HEX

Syntax:
<<secret_key[--non-base64]|~|input_string,FUN_HMAC_SHA256_HEX>>
Returns a HEX string of Hash-based Message Authentication Code (HMAC) by using the SHA256 hash function (Hash input data using user defined secret key)

Parameters:

NameDescription
secret_key[--non-base64][String] Secret Key you like to use to produce hash. Append --non-base64 after secret key if Key is Non-Base64 (i.e. some password which is not Base64)
input_string[String] Input string for which you like to produce Hash

Examples:

ExampleSample OutputDescription
<<--MD5 Hex--
<<a2V5MTIz||Hi my name is A,FUN_HMAC_MD5_HEX>>
<<PassW0rd--non-base64||Hi my name is A,FUN_HMAC_MD5_HEX>>
<<a2V5MTIz||POST\napi-key:ABCD12345\n/my/api/url,FUN_HMAC_MD5_HEX>>

--SHA1 Hex--
<<a2V5MTIz||Hi my name is A,FUN_HMAC_SHA1_HEX>>
<<PassW0rd--non-base64||Hi my name is A,FUN_HMAC_SHA1_HEX>>
<<a2V5MTIz||POST\napi-key:ABCD12345\n/my/api/url,FUN_HMAC_SHA1_HEX>>

--SHA256 Hex--
<<a2V5MTIz||Hi my name is A,FUN_HMAC_SHA256_HEX>>
<<PassW0rd--non-base64||Hi my name is A,FUN_HMAC_SHA256_HEX>>
<<a2V5MTIz||POST\napi-key:ABCD12345\n/my/api/url,FUN_HMAC_SHA256_HEX>>

--SHA384 Hex--
<<a2V5MTIz||Hi my name is A,FUN_HMAC_SHA384_HEX>>
<<PassW0rd--non-base64||Hi my name is A,FUN_HMAC_SHA384_HEX>>
<<a2V5MTIz||POST\napi-key:ABCD12345\n/my/api/url,FUN_HMAC_SHA384_HEX>>

--SHA512 Hex--
<<a2V5MTIz||Hi my name is A,FUN_HMAC_SHA512_HEX>>
<<PassW0rd--non-base64||Hi my name is A,FUN_HMAC_SHA512_HEX>>
<<a2V5MTIz||POST\napi-key:ABCD12345\n/my/api/url,FUN_HMAC_SHA512_HEX>>
,FUN_HMAC_SHA256_HEX>>
--OR--
{{User::MySSISVar1,FUN_HMAC_SHA256_HEX}}
--MD5 Hex--
1080a305892a216e87a54d153a420005
294711f72ad3ffeb14c15fd195c964e1
34c5811eb2c47910e521e4a9634235d8

--SHA1 Hex--
023c92635bb786206e58b2fbb791df6f044bf0a9
8f35b230a8cff6ecca930b01b0a52748493fb96e
4cb379a7a1ca15c224ff9bc96cb1bd22588ed3e8

--SHA256 Hex--
fb284109ec37dc16ef87e45aba6723ec07f7c2e353f2945ea53d077cfb7eeab8
0b442c26a27576cf2f271e486482449208c0e82d59c79d055162737cf5b7a4e1
8384585c49442a493a338b8e0dacd3d1c4aeca055c8ee87cc9c99820eab92687

--SHA384 Hex--
fffda1895889e5f638320c1ae73512e8bf9d122c2be90717fd6a18eb2d6127c2f02a9a800739fd3560f5974f1e2dd262
e3c6c0eb93a6d2b1677526b53f6c3ed8b160ad24e05405cd098dd9e90dfefc7f539ccbf5ef5cd06b0af1d27f312e52e9
7880ae066d436ec167938022fea4e6cbec39729da151943a32f362c197f24bd9bdde8c9a053350308fe8aeb56ba48f22

--SHA512 Hex--
7dd5506c70b969c37e505a1279634b10e1ad9f525cdda2048d8f7b690e7cfc485c88d24bc5393eae55f4e38f3939928bcacbdb65534f0cb8c6cf6d20bf33b05c
a0429985eb1c57fd191dfb9dc23e8f3209446a8bb75646c507688d5e29c6988ce7416139e76f877d86370670445b2e47246ce774f666a7786a0ed229408ca964
b263fd0a6028f6fe42da8036966ccb01375a288d3a63197e2ef494461bff40e4ea43ebc6876c149f29cdc39799bb2fd2f19df21aba6b735f27fd9a3480fff2ef

FUN_HMAC_SHA384_HEX

Syntax:
<<secret_key[--non-base64]|~|input_string,FUN_HMAC_SHA384_HEX>>
Returns a HEX string of Hash-based Message Authentication Code (HMAC) by using the SHA384 hash function (Hash input data using user defined secret key)

Parameters:

NameDescription
secret_key[--non-base64][String] Secret Key you like to use to produce hash. Append --non-base64 after secret key if Key is Non-Base64 (i.e. some password which is not Base64)
input_string[String] Input string for which you like to produce Hash

Examples:

ExampleSample OutputDescription
<<--MD5 Hex--
<<a2V5MTIz||Hi my name is A,FUN_HMAC_MD5_HEX>>
<<PassW0rd--non-base64||Hi my name is A,FUN_HMAC_MD5_HEX>>
<<a2V5MTIz||POST\napi-key:ABCD12345\n/my/api/url,FUN_HMAC_MD5_HEX>>

--SHA1 Hex--
<<a2V5MTIz||Hi my name is A,FUN_HMAC_SHA1_HEX>>
<<PassW0rd--non-base64||Hi my name is A,FUN_HMAC_SHA1_HEX>>
<<a2V5MTIz||POST\napi-key:ABCD12345\n/my/api/url,FUN_HMAC_SHA1_HEX>>

--SHA256 Hex--
<<a2V5MTIz||Hi my name is A,FUN_HMAC_SHA256_HEX>>
<<PassW0rd--non-base64||Hi my name is A,FUN_HMAC_SHA256_HEX>>
<<a2V5MTIz||POST\napi-key:ABCD12345\n/my/api/url,FUN_HMAC_SHA256_HEX>>

--SHA384 Hex--
<<a2V5MTIz||Hi my name is A,FUN_HMAC_SHA384_HEX>>
<<PassW0rd--non-base64||Hi my name is A,FUN_HMAC_SHA384_HEX>>
<<a2V5MTIz||POST\napi-key:ABCD12345\n/my/api/url,FUN_HMAC_SHA384_HEX>>

--SHA512 Hex--
<<a2V5MTIz||Hi my name is A,FUN_HMAC_SHA512_HEX>>
<<PassW0rd--non-base64||Hi my name is A,FUN_HMAC_SHA512_HEX>>
<<a2V5MTIz||POST\napi-key:ABCD12345\n/my/api/url,FUN_HMAC_SHA512_HEX>>
,FUN_HMAC_SHA384_HEX>>
--OR--
{{User::MySSISVar1,FUN_HMAC_SHA384_HEX}}
--MD5 Hex--
1080a305892a216e87a54d153a420005
294711f72ad3ffeb14c15fd195c964e1
34c5811eb2c47910e521e4a9634235d8

--SHA1 Hex--
023c92635bb786206e58b2fbb791df6f044bf0a9
8f35b230a8cff6ecca930b01b0a52748493fb96e
4cb379a7a1ca15c224ff9bc96cb1bd22588ed3e8

--SHA256 Hex--
fb284109ec37dc16ef87e45aba6723ec07f7c2e353f2945ea53d077cfb7eeab8
0b442c26a27576cf2f271e486482449208c0e82d59c79d055162737cf5b7a4e1
8384585c49442a493a338b8e0dacd3d1c4aeca055c8ee87cc9c99820eab92687

--SHA384 Hex--
fffda1895889e5f638320c1ae73512e8bf9d122c2be90717fd6a18eb2d6127c2f02a9a800739fd3560f5974f1e2dd262
e3c6c0eb93a6d2b1677526b53f6c3ed8b160ad24e05405cd098dd9e90dfefc7f539ccbf5ef5cd06b0af1d27f312e52e9
7880ae066d436ec167938022fea4e6cbec39729da151943a32f362c197f24bd9bdde8c9a053350308fe8aeb56ba48f22

--SHA512 Hex--
7dd5506c70b969c37e505a1279634b10e1ad9f525cdda2048d8f7b690e7cfc485c88d24bc5393eae55f4e38f3939928bcacbdb65534f0cb8c6cf6d20bf33b05c
a0429985eb1c57fd191dfb9dc23e8f3209446a8bb75646c507688d5e29c6988ce7416139e76f877d86370670445b2e47246ce774f666a7786a0ed229408ca964
b263fd0a6028f6fe42da8036966ccb01375a288d3a63197e2ef494461bff40e4ea43ebc6876c149f29cdc39799bb2fd2f19df21aba6b735f27fd9a3480fff2ef

FUN_HMAC_SHA512_HEX

Syntax:
<<secret_key[--non-base64]|~|input_string,FUN_HMAC_SHA512_HEX>>
Returns a HEX string of Hash-based Message Authentication Code (HMAC) by using the SHA512 hash function (Hash input data using user defined secret key)

Parameters:

NameDescription
secret_key[--non-base64][String] Secret Key you like to use to produce hash. Append --non-base64 after secret key if Key is Non-Base64 (i.e. some password which is not Base64)
input_string[String] Input string for which you like to produce Hash

Examples:

ExampleSample OutputDescription
<<--MD5 Hex--
<<a2V5MTIz||Hi my name is A,FUN_HMAC_MD5_HEX>>
<<PassW0rd--non-base64||Hi my name is A,FUN_HMAC_MD5_HEX>>
<<a2V5MTIz||POST\napi-key:ABCD12345\n/my/api/url,FUN_HMAC_MD5_HEX>>

--SHA1 Hex--
<<a2V5MTIz||Hi my name is A,FUN_HMAC_SHA1_HEX>>
<<PassW0rd--non-base64||Hi my name is A,FUN_HMAC_SHA1_HEX>>
<<a2V5MTIz||POST\napi-key:ABCD12345\n/my/api/url,FUN_HMAC_SHA1_HEX>>

--SHA256 Hex--
<<a2V5MTIz||Hi my name is A,FUN_HMAC_SHA256_HEX>>
<<PassW0rd--non-base64||Hi my name is A,FUN_HMAC_SHA256_HEX>>
<<a2V5MTIz||POST\napi-key:ABCD12345\n/my/api/url,FUN_HMAC_SHA256_HEX>>

--SHA384 Hex--
<<a2V5MTIz||Hi my name is A,FUN_HMAC_SHA384_HEX>>
<<PassW0rd--non-base64||Hi my name is A,FUN_HMAC_SHA384_HEX>>
<<a2V5MTIz||POST\napi-key:ABCD12345\n/my/api/url,FUN_HMAC_SHA384_HEX>>

--SHA512 Hex--
<<a2V5MTIz||Hi my name is A,FUN_HMAC_SHA512_HEX>>
<<PassW0rd--non-base64||Hi my name is A,FUN_HMAC_SHA512_HEX>>
<<a2V5MTIz||POST\napi-key:ABCD12345\n/my/api/url,FUN_HMAC_SHA512_HEX>>
,FUN_HMAC_SHA512_HEX>>
--OR--
{{User::MySSISVar1,FUN_HMAC_SHA512_HEX}}
--MD5 Hex--
1080a305892a216e87a54d153a420005
294711f72ad3ffeb14c15fd195c964e1
34c5811eb2c47910e521e4a9634235d8

--SHA1 Hex--
023c92635bb786206e58b2fbb791df6f044bf0a9
8f35b230a8cff6ecca930b01b0a52748493fb96e
4cb379a7a1ca15c224ff9bc96cb1bd22588ed3e8

--SHA256 Hex--
fb284109ec37dc16ef87e45aba6723ec07f7c2e353f2945ea53d077cfb7eeab8
0b442c26a27576cf2f271e486482449208c0e82d59c79d055162737cf5b7a4e1
8384585c49442a493a338b8e0dacd3d1c4aeca055c8ee87cc9c99820eab92687

--SHA384 Hex--
fffda1895889e5f638320c1ae73512e8bf9d122c2be90717fd6a18eb2d6127c2f02a9a800739fd3560f5974f1e2dd262
e3c6c0eb93a6d2b1677526b53f6c3ed8b160ad24e05405cd098dd9e90dfefc7f539ccbf5ef5cd06b0af1d27f312e52e9
7880ae066d436ec167938022fea4e6cbec39729da151943a32f362c197f24bd9bdde8c9a053350308fe8aeb56ba48f22

--SHA512 Hex--
7dd5506c70b969c37e505a1279634b10e1ad9f525cdda2048d8f7b690e7cfc485c88d24bc5393eae55f4e38f3939928bcacbdb65534f0cb8c6cf6d20bf33b05c
a0429985eb1c57fd191dfb9dc23e8f3209446a8bb75646c507688d5e29c6988ce7416139e76f877d86370670445b2e47246ce774f666a7786a0ed229408ca964
b263fd0a6028f6fe42da8036966ccb01375a288d3a63197e2ef494461bff40e4ea43ebc6876c149f29cdc39799bb2fd2f19df21aba6b735f27fd9a3480fff2ef

JSON Functions

FUN_JSONENC

Syntax:
<<input_string,FUN_JSONENC>>
Encodes string for JSON value (e.g. {NEWLINE} is replaced to \r\n, double quote to \", {TAB} to \\t )

Parameters:

NameDescription
input_string[String] Input string which you like to encode

Examples:

ExampleSample OutputDescription
<<AAA{NEWLINE}BBB{NEWLINE}CCC,FUN_JSONENC>>
--OR--
{{User::MySSISVar1,FUN_JSONENC}}
AAA\r\nBBB\r\nCCC
{NEWLINE} is replaced with encoded string \r\n
<<This is "double quoted" string,FUN_JSONENC>>
--OR--
{{User::MySSISVar1,FUN_JSONENC}}
This is \"double quoted\" string
Double quote is replaced with encoded string \"
<<Col1{TAB}Col2,FUN_JSONENC>>
--OR--
{{User::MySSISVar1,FUN_JSONENC}}
{TAB} character is replaced by \t

FUN_JSONDEC

Syntax:
<<input_string,FUN_JSONDEC>>
Decodes JSON string (e.g. \r\n is replaced to {NEWLINE}, \" to double quote, \\t to {TAB})

Parameters:

NameDescription
input_string[String] Input string which you like to decode

Examples:

ExampleSample OutputDescription
<<AAA\r\nBBB\r\nCCC,FUN_JSONDEC>>
--OR--
{{User::MySSISVar1,FUN_JSONDEC}}
AAA{NEWLINE}BBB{NEWLINE}CCC
\r\n is replaced by {NEWLINE}
<<This is \"double quoted\" string,FUN_JSONDEC>>
--OR--
{{User::MySSISVar1,FUN_JSONDEC}}
This is "double quoted" string
\" is replaced with Double quote
<<Col1\tCol2,FUN_JSONDEC>>
--OR--
{{User::MySSISVar1,FUN_JSONDEC}}
Col1{TAB}Col2
\t is replaced by {TAB}

XML / HTML Functions

FUN_XMLENC

Syntax:
<<input_string,FUN_XMLENC>>
Encodes plain text to XML encoded value (e.g. > is replaced to &gt; and < is replaced to &lt; )

Parameters:

NameDescription
input_string[String] Input string which you like to encode

Examples:

ExampleSample OutputDescription
<<1<2<3,FUN_XMLENC>>
--OR--
{{User::MySSISVar1,FUN_XMLENC}}
&quot;1&lt;2&lt;3&quot;

FUN_XMLDEC

Syntax:
<<input_string,FUN_XMLDEC>>
Decodes XML value to plain text (e.g. &gt; is replaced to > and &lt; is replaced to < )

Parameters:

NameDescription
input_string[String] Input string which you like to decode

Examples:

ExampleSample OutputDescription
<<&quot;1&lt;2&lt;3&quot;,FUN_XMLDEC>>
--OR--
{{User::MySSISVar1,FUN_XMLDEC}}
1<2<3

FUN_NEW_GUID

Syntax:
<<[format],FUN_NEW_GUID>>
Creates a new unique GUID

Parameters:

NameDescription
format (Optional)[String] Output format of new GUID. Possible formats are d,n,p,b

Examples:

ExampleSample OutputDescription
<<FUN_NEW_GUID>>
--OR--
{{User::MySSISVar1,FUN_NEW_GUID}}
12f4a35e-6d52-45f1-9788-8e3801d85704
<<d,FUN_NEW_GUID>>
--OR--
{{User::MySSISVar1,FUN_NEW_GUID}}
b86abe10-a6ea-49c3-a5e8-383c8d565ec2
<<n,FUN_NEW_GUID>>
--OR--
{{User::MySSISVar1,FUN_NEW_GUID}}
ec7bcd8842324379adfe2e7e31b8da24
<<p,FUN_NEW_GUID>>
--OR--
{{User::MySSISVar1,FUN_NEW_GUID}}
(6711cee1-aaf7-41bb-a4b6-502409ae6ae6)
<<b,FUN_NEW_GUID>>
--OR--
{{User::MySSISVar1,FUN_NEW_GUID}}
{6c8d8306-9449-440e-89be-8ee7549cc271}

Encoding Functions

FUN_URLENC

Syntax:
<<input_string,FUN_URLENC>>
Encodes input string to percentage encoding format for URL (e.g. A&B is encoded to A%26B)

Parameters:

NameDescription
input_string[String] Input string which you like to encode.

Examples:

ExampleSample OutputDescription
<<A&B,FUN_URLENC>>
--OR--
{{User::MySSISVar1,FUN_URLENC}}
A%26B
& is encoded as %26
<<*_*,FUN_URLENC>>
--OR--
{{User::MySSISVar1,FUN_URLENC}}
%2A_%2A
* is encoded as %2A
<<A B,FUN_URLENC>>
--OR--
{{User::MySSISVar1,FUN_URLENC}}
A+B
By default space is encoded as + rather than %20. If you want to encode space using percent encoding like other special characters then use FUN_URLENCDATA function so you get %20 rather than +. This is only needed in special case (i.e. Passing data via Body rather than URL)

FUN_URLDEC

Syntax:
<<input_string,FUN_URLDEC>>
Decodes url encoded value to plain text

Parameters:

NameDescription
input_string[String] URL encoded string which you like to decode.

Examples:

ExampleSample OutputDescription
<<A%26B,FUN_URLDEC>>
--OR--
{{User::MySSISVar1,FUN_URLDEC}}
A&B
%26 is decoded as &
<<%2A_%2A,FUN_URLDEC>>
--OR--
{{User::MySSISVar1,FUN_URLDEC}}
*_*
%2A is decoded as *
<<A+B%20C,FUN_URLDEC>>
--OR--
{{User::MySSISVar1,FUN_URLDEC}}
A B C
+ or %20 is decoded as space

FUN_URLENCDATA

Syntax:
<<input_string,FUN_URLENCDATA>>
Encodes input string to percentage encoding format for URL using exact same rules as FUN_URLENCDATA except space is encoded as %20 rather than +

Parameters:

NameDescription
input_string[String] Input string which you like to encode.

Examples:

ExampleSample OutputDescription
<<A&B,FUN_URLENCDATA>>
--OR--
{{User::MySSISVar1,FUN_URLENCDATA}}
A%26B
& is encoded as %26
<<*_*,FUN_URLENCDATA>>
--OR--
{{User::MySSISVar1,FUN_URLENCDATA}}
%2A_%2A
* is encoded as %2A
<<A B,FUN_URLENCDATA>>
--OR--
{{User::MySSISVar1,FUN_URLENCDATA}}
A%20B
space is encoded as %20 (use FUN_URLENC function if you like to encode space as + rather than %20)

FUN_BASE64ENC

Syntax:
<<input_text,FUN_BASE64ENC>>
Encodes input string to BASE64 format

Parameters:

NameDescription
input_text[String] Input string which you like to encode as Base64 text.

Examples:

ExampleSample OutputDescription
<<ABCDEF123##,FUN_BASE64ENC>>
--OR--
{{User::MySSISVar1,FUN_BASE64ENC}}
QUJDREVGMTIzIyM=
<<myuser1:MyP@ssWord,FUN_BASE64ENC>>
--OR--
{{User::MySSISVar1,FUN_BASE64ENC}}
bXl1c2VyMTpNeVBAc3NXb3Jk

FUN_BASE64ENC

Syntax:
<<input_text,FUN_BASE64ENC>>
Decodes base64 encoded string to plain text

Parameters:

NameDescription
input_text[String] Input string which you like to decode from Base64 text to plain text.

Examples:

ExampleSample OutputDescription
<<QUJDREVGMTIzIyM=,FUN_BASE64ENC>>
--OR--
{{User::MySSISVar1,FUN_BASE64ENC}}
ABCDEF123##
<<bXl1c2VyMTpNeVBAc3NXb3Jk,FUN_BASE64ENC>>
--OR--
{{User::MySSISVar1,FUN_BASE64ENC}}
myuser1:MyP@ssWord

FUN_FILE_BASE64ENC

Syntax:
<<file_path,FUN_FILE_BASE64ENC>>
Returns BASE64 encoded string of local file content (binary or text).

Parameters:

NameDescription
file_path[String] File path for which you like encode content as Base64.

Examples:

ExampleSample OutputDescription
<<c:\someimage.png,FUN_FILE_BASE64ENC>>
--OR--
{{User::MySSISVar1,FUN_FILE_BASE64ENC}}
bXl1c2V..........Ac3NXb3Jk
This returns base64 encoded string of binary file (png)

Number Functions

FUN_RANDOM_INT

Syntax:
<<[seed_number],FUN_RANDOM_INT>>
Returns a number in a sequence (adds +1 in last number)

Parameters:

NameDescription
seed_number (Optional)[String] Start number for sequence

Examples:

ExampleSample OutputDescription
<<FUN_RANDOM_INT>>
--OR--
{{User::MySSISVar1,FUN_RANDOM_INT}}
1
<<1000,FUN_RANDOM_INT>>
--OR--
{{User::MySSISVar1,FUN_RANDOM_INT}}
1000

FUN_RANDOM_INT

Syntax:
<<[max_number],FUN_RANDOM_INT>>
Generates a random integer from 1 to given max range

Parameters:

NameDescription
max_number (Optional)[String] Maximum integer for boundary. Default=2147483647

Examples:

ExampleSample OutputDescription
<<FUN_RANDOM_INT>>
--OR--
{{User::MySSISVar1,FUN_RANDOM_INT}}
112345667
Generate random number between 1 and 2147483647
<<1000,FUN_RANDOM_INT>>
--OR--
{{User::MySSISVar1,FUN_RANDOM_INT}}
1234
Generate random number between 1 and 1000

File Functions

FUN_READFILE

Syntax:
<<file_path,FUN_READFILE>>
Reads local file and returns content as string

Parameters:

NameDescription
file_path[String] Input file path from which you like to read content as text.

Examples:

ExampleSample OutputDescription
<<C:\file.txt,FUN_READFILE>>
--OR--
{{User::MySSISVar1,FUN_READFILE}}
Some data from file
<<\\mysharedfolder\file.txt,FUN_READFILE>>
--OR--
{{User::MySSISVar1,FUN_READFILE}}
Some data from file

Using direct string rather than variable

Version 2.4 introduced new feature to apply function on direct string rather than SSIS Variable placeholders.
	To apply placeholder function on direct string you must enclose data in double angle brackets (not curly brackets) and function name must start with FUN_ (e.g. <<myuser1:mysecretpass123,FUN_BASE64ENC>>).
	

Usecase: You want to encode userid and password to base64 format without extra steps to specifying SSIS variable like below
Authorization: <<mysecretpass123,FUN_BASE64ENC>>

Above string will produce following result.
Authorization: bXlzZWNyZXRwYXNzMTIz

Using SSIS Variables inside Direct String Placeholders

So in previous section we talked about using static input values inside placeholders but what about using some static string and some dynamic from SSIS Variable. In version 2.7 introduced a new feature to apply Mixed placeholders (i.e. Using SSIS Variables inside static placeholders).

Here is an example of how you can mix static string and dynamic string inside placeholder.

	<<Basic {{User::vUserId}}:{{User::vPassword}},FUN_BASE64ENC>>
	


Copyrights reserved. ZappySys LLC.