Process properties:
Process properties are key/value pairs used to store project-related information. Sometimes these properties can be pre-defined in tabular format and retrieved in any integration process. These process properties are defined in a separate component called Process Property and can be utilized in any integration project. These can be persisted and extended.
Process Property Shape:
Process Property shape can be created like other components. It takes up a list of process properties that can be used in an integration project along with some key attributes like
- Persist – retains the value from the last execution
- Default Value – Default value if not defined in a process flow.
- Allowed Values – List of allowed values during process execution
Like the Dynamic Process property, It can be set/retrieved by
- Using Set Properties Shape
- Inside Map Function
- Using Groovy Script inside Map function/Data Process Shape.
Set properties Shape:
Process properties can be set and retrieved using the Set Properties shape.
Inside map Function:
Inside the Boomi map function, these properties can be set/get to help achieve desired business transformations.
Using Groovy Scripting:
Boomi supports the use of both JavaScript and Groovy scripts to help with complex business rules and transformations. This scripting can be used in a Data Process shape or inside a Boomi Map. Process properties can be easily retrieved/set inside the groovy script that helps pass variables from the Boomi process to be used inside scripting. It uses below functions
- getProcessProperty() – Used to retrieve Process property value in String format. It takes up 2 parameters Process Property Component ID & Property Key
- setProcessProperty() – Used to assign String value to a Process Property. It takes up 3 parameters Process Property Component ID, Property Key & Property Value
Get/Set Dynamic Process Property inside Groovy:
//Java Class libraries
import com.boomi.execution.ExecutionUtil;
//Retrieve string value corresponding to the process property defined inside
//Process Property Component ID = 62e29427-5678-3ed1-9516-a47ec3777gf46 with
//Property Key = 678ac4f2-3dd5-2232-a2ea-ab95gf15cdf7
testValue = ExecutionUtil.getProcessProperty(“62e29427-5678-3ed1-9516-a47ec3777gf46”, “678ac4f2-3dd5-2232-a2ea-ab95gf15cdf7”);
//Set string value to the process property defined inside
//Process Property Component ID = 62e29427-5678-3ed1-9516-a47ec3777gf46 with
//Property Key = 678ac4f2-3dd5-2232-a2ea-ab95gf15cdf7.
ExecutionUtil.getProcessProperty(“62e29427-5678-3ed1-9516-a47ec3777gf46”, “678ac4f2-3dd5-2232-a2ea-ab95gf15cdf7”,”Test Value”);
Additional Resources:
Cover Image by rawpixel.com on Freepik