
Map Functions allow conversion logic to be applied to individual values as they are being mapped. For example, you may want to convert a character to uppercase, change the format of a date, or look up a value in a database. There are two main types of functions:
- Standard - Standard functions perform a single step. For example, converting a value to uppercase. (Full list of functions)
- User Defined - User Defined functions enable sophisticated transformations by allowing you to link multiple standard functions steps together. They are saved as standalone components and reused.
Using a Standard Data Map Function
1) Open your map, and click the Green plus sign next to Functions

2) Pick a Category and function type and hit OK.

3) Configure the defaults. This dialog box will look different depending on which function type you chose.

4) Drag and drop fields from your source profile into your functions inputs. Then drag and drop fields from your function outputs to your destination profile.

Creating a User Defined Function
User Defined functions allow you to link multiple Standard functions together. For example, you could get the current date in one step, and change the format in a second step. Once created, they can be reused just like Standard functions.
1) Open your map, and click the Green plus sign next to Functions

2) Click "New" at the Add Function dialog box.

3) Enter a name for your function.

4) Click the Green Plus sign next to "Steps" to add a new step

5) Pick a Category and function type and hit OK.

6) Configure the defaults. This dialog box will look different depending on which function type you chose.

7) Repeat Steps 4-6 for any additional steps.
8) Add inputs by clicking the green plus sign next to Inputs. Do the same for outputs. Now drag-and-drop to link everything up. The example below shows a 2-step function. Note how the inputs are linked to step 1, step 1 is linked to step2, and step2 is linked to outputs.

9) Save your Function. Back in your map, you'll see the new function. You'll need to drag and drop fields from your source profile into your functions inputs. Then drag and drop fields from your function outputs to your destination profile.

Map Function Reference
Any function input can be mapped from the source data. This includes inputs like Fix to Length, String to Search, and Value to Multiply, however these values are often static and therefore configured as Default Values.
| Category |
Name |
Description |
Parameters/Fields |
| String |
Left Character Trim |
Removes characters from the left side of the value. |
- String to Trim - Input value
- Fix To Length - Length of output value
|
| String |
Right Character Trim |
Removes characters from the right side of the value. |
- String to Trim - Input value
- Fix To Length - Length of output value
|
| String |
String Append |
Add characters to the end of the value. |
- Original String - Input value
- Fix To Length - Length of output value
- Char to Append
|
| String |
String Prepend |
Add characters to the beginning of the value. |
- Original String - Input value
- Fix To Length - Length of output value
- Char to Prepend
|
| String |
String Replace |
Replace a given character or string with another. This can use regular expression syntax. |
- Original String - Input value
- String to Search - Search pattern
- String to Replace
|
| String |
String Remove |
Remove a given character or string from the value. This can use regular expression syntax. |
- Original String - Input value
- String to Remove - Search pattern
|
| String |
String To Upper |
Converts the value to uppercase. |
- Original String - Input value
|
| String |
String To Lower |
Converts the value to lowercase. |
- Original String - Input value
|
| Numeric |
Math Add |
Add one value to another value. |
- Value - Input value
- Value to Add
|
| Numeric |
Math Subtract |
Subtract one value from another value. |
- Value - Input value
- Value to Subtract
|
| Numeric |
Math Multiply |
Multiply one value by another value. |
- Value - Input value
- Value to Multiply
|
| Numeric |
Math Divide |
Divide one value by another value. |
- Value - Input value
- Value to Divide
|
| Numeric |
Math Ceil |
Round the value up to the nearest whole number. For example, 1.2 --> 2.0. |
|
| Numeric |
Math Floor |
Round the value down to the nearest whole number. For example, 1.9 --> 1.0. |
|
| Numeric |
Math Set Precision |
Set the number of decimal places for the value. |
- Value - Input value
- Number of Precision - Number of decimal places
|
| Numeric |
Number Format |
Reformat the value by specifying a numeric format. Note: You can avoid using a Number Format function by configuring the source and destination Profile elements to be a Number type and specifying the format. |
- Number String - Input value
- Input Mask - Source format
- Output Mask - Destination format
|
| Numeric |
Sum |
Maintains a running sum of the values passed into it. |
- Value to Sum - Input value
|
| Numeric |
Line Item Increment |
Built-in counter that auto-increments for every record in the source data. |
None |
| Date |
Date Format |
Reformat the value by specifying a date format. Note: You can avoid using a Date Format function by configuring the source and destination Profile elements to be a Date/Time type and specifying the format. |
- Date String - Input value
- Input Mask - Source format
- Output Mask - Destination format
|
| Date |
Get Current Date |
Retrieve the current system date/time. |
None |
| Lookup |
SQL Lookup |
Execute a static or dynamic SELECT query against a database. Typically used to perform cross references lookups or obtain supplemental data. |
- Inputs - One for each dynamic parameter in the query
- Output - One for each column in the result set
- Connection - Database Connection to query
- SQL Statement - Query statement to execute
|
| Lookup |
Cross Reference Lookup |
Perform static cross reference translations against a specific Cross Reference Table component. |
- Cross Reference Table
- Lookup References - Cross reference inputs from source
- Values - Cross reference outputs to destination
|
| Custom Scripting |
Scripting |
Insert custom scripting to perform complex manipulations using Javascript, JRuby, or Groovy syntax. Adding Input and Output parameters declares them as variables to use in your script. If Output parameters are never initialized they return null. |
- Language
- Script to Execute
- Inputs
- Outputs
|
| Connector |
Connector Call |
Perform a call out to any application Connector. Typically used to perform cross references lookups or obtain supplemental data. |
- Connector
- Connection
- Operation
- Inputs - One for each filter/input parameter required by the Operation
- Outputs - One for each value from the response message to be returned
|