
Map Functions allow transformation logic to be applied to individual field 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 such as converting a value to uppercase or performing mathematical operations. Read more about working with Standard Map Functions and see the full list of standard functions below.
- User Defined - User Defined functions enable sophisticated transformations by allowing you to link multiple standard functions steps together in a defined sequence. They are saved as standalone components and can be reused in multiple Maps. Read more about working with User Defined Map Functions.
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.
String Functions
| Name |
Parameters/Fields |
Description |
| Left Character Trim |
- String to Trim: Input
- Fix To Length: Length of output value
|
Removes characters from the left side of the value |
| Right Character Trim |
- String to Trim: Input
- Fix To Length: Length of output value
|
Removes characters from the right side of the value |
| Whitespace Trim |
|
Removes all whitespaces from the beginning and the end of the string value. |
| String Append |
- Original String: Input
- Fix To Length: Length of output value
- Char to Append
|
Add characters to the end of the value. |
| String Prepend |
- Original String: Input
- Fix To Length: Length of output value
- Char to Prepend
|
Add characters to the beginning of the value. |
| String Concat |
- Delimiter: Character between inputs
- Fix to Length: Numeric length limit for characters
- Inputs: Input values that determine strings to concatenate in order
|
Concatenates string values in order |
| String Replace |
- Original String: Input
- String to Search: Search pattern
- String to Replace
|
Replace a given character or string with another. This can use regular expression syntax. |
| String Remove |
- Original String: Input
- String to Remove: Search pattern
|
Remove a given character or string from the value. This can use regular expression syntax. |
| String To Lower |
|
Converts the value to lowercase. |
| String To Upper |
|
Converts the value to uppercase. |
| String Split |
- Split By: Method to split input value
- Value: Delimiter or Field Length number to split by
- Outputs: Output values that are a result of the split
|
Splits string input value into multiple, defined output values. |
Numeric Functions
| Name |
Parameters/Fields |
Description |
| Math Add |
- Value: Input
- Value to Add
|
Add one value to another value. |
| Math Subtract |
- Value: Input
- Value to Subtract
|
Subtract one value from another value. |
| Math Multiply |
- Value: Input
- Value to Multiply
|
Multiply one value by another value. |
| Math Divide |
- Value: Input
- Value to Divide
|
Divide one value by another value. |
| Math Ceil |
|
Round the value up to the nearest whole number. For example, 1.2 --> 2.0. |
| Math Floor |
|
Round the value down to the nearest whole number. For example, 1.9 --> 1.0. |
| Math Set Precision |
- Value: Input
- Number of Precision: Number of decimal places
|
Set the number of decimal places for the value. |
| Number Format |
- Number String: Input
- Input Mask: Source format
- Output Mask: Destination 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. |
| Running Total |
|
Maintains a running total of the values passed into it. The incremental total is output per destination "detail" instance. |
| Sum |
- Value to Sum: Input
- Reset Value: Value used to reset sum.
|
Calculates a sum based on a particular "Reset Value". For each unique value of the "Reset Value", a sum is calculated. The total is aggregated and output only once per destination "header" instance, per "Reset Value". For example, use the Sum function to add up a number of order line amounts and map out the order total to a header or summary field.
Note: Only one Sum function step may be used in a given User Defined Function. |
| Count |
- Field to Count: Input
- Reset Value: Input
|
Works similar to the Sum function but increments based on the presence of a static value. By default, it will increment by 1 each time for each source input and output one final value. |
| Line Item Increment |
- Increment Basis
- Reset Value
|
Built-in counter that auto-increments for each occurrence of source record. The result is output per destination "detail" instance. For example, use the Line Item Increment function to output the line number for each order line. |
| Sequential Value |
- Increment Basis
- Key Name - An arbitrary, unique name for the counter.
- Fix to Length - The length of the sequential value to be returned. The value will be padded with zeros (0's) to the specified length.
|
Built-in counter that auto-increments for each occurrence of the source record. The Key Name entity stores the latest value so future Process executions will continue to increment by 1 from the last result. The Increment Basis is used to limit the counter based on a change in a source value mapped to this parameter. |
Date Functions
| Name |
Parameters/Fields |
Description |
| Date Format |
- Date String: Input
- Input Mask: Source format
- Output Mask: Destination 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. |
| Get Current Date |
|
Retrieve the current system date/time. |
Lookup Functions
| Name |
Parameters/Fields |
Description |
| SQL Lookup |
- 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
|
Execute a static or dynamic SELECT query against a database. Typically used to perform cross references lookups or obtain supplemental data. |
| Cross Reference Lookup |
- Cross Reference Table
- Lookup References: Cross reference inputs from source
- Values: Cross reference outputs to destination
|
Perform static cross reference translations against a specific Cross Reference Table component. |
Custom Scripting Functions
| Name |
Parameters/Fields |
Description |
| Scripting |
- Language
- Script to Execute
- Inputs
- Outputs
|
Insert custom scripting to perform complex manipulations using JavaScript or Groovy syntax. Adding Input and Output parameters declares them as variables to use in your script. Blank/omitted/null Inputs and Outputs are treated as empty strings (""). |
More about Custom Scripting Map Functions.
Connector Functions
| Name |
Parameters/Fields |
Description |
| Connector Call |
- 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
|
Perform a call out to any application Connector. Typically used to perform cross references lookups or obtain supplemental data. |
Properties Functions
| Name |
Parameters/Fields |
Description |
| Get Process Property |
- Property Name: Name of property
- Default Value: Optional value if property is blank
|
Retrieve the value of a Process Property. |
| Set Process Property |
- Property Name: Name of property
- Value: Value to store in property
|
Set the value of a Process Property. |
| Get Document Property |
- Property: Choose the specific Document Property
|
Retrieve the value of a Document Property. |
| Set Document Property |
- Property: Choose the specific Document Property
|
Set the value of a Document Property. |
| Set Trading Partner |
- Standard: Choose the Transaction Type (Example: X12)
- Input Type: Choose from dropdown to determine required Input Values
|
Sets the Trading Partner standard envelope for the Document going through the Map |