Changing Output Data Mappings

Last Updated: 12/03/2015 Introduced in Verision: 2.0

Most steps in your application’s flow will return a data output for use in the next step. In cases where that data must be reorganized such as being renamed, ignored, combined into an array, or broken up the Mapping Editor allows you to re-map portions of your output to a new scheme.

You can access the Mapping Editor in the Flow Designer by selecting the step which is producing the output, and then clicking the Show Mapping Editor link in its Properties panel.

Example

The flow in this example has two steps: getting all of the Portal users and displaying the output values. This example is simply to demonstrate the concept of different output data mapping options. The Get All 1 step is found under Integration > Internal Services > Account Service (named GetAll).

flowAssembled

 

In the flow debugger’s Events panel, we can see how running the step Output Current Flow Data 1 triggers a response of All Flow Data. For convenience, this step is automatically highlighted in the Diagram tab.

debugDiagramFirstRun

 
Click on the Data tab. From the Events tab on the left, click on the All Flow Data output.The field we’re interested in is Message. Within it, notice that Flow Data (which is constant, so it has a type of FlowDataConstant) contains another constant GetAll1_Output which in turn contains an array of Account objects that are numbered.
 AllFlowDataFromDebugStep
 
 

This is the default way that our step Get All step reports its data, but say we wanted to rename GetAll1_Output to something more descriptive, or only select display certain elements of our Account items? To do that, change the way outputs are mapped in Get All 1.

Begin by selecting the flow step Get All 1 and, in the Properties panel, clicking Show Mapping Editor.

showMappingForGetAll

 

In the outputs panel, under the Done outcome, change the output name. In the Name field, type “All Portal Users.”

outputGetAll

 

Now, when we run our flow through the debugger, we can see that the FlowDataConstant being passed to the next step has changed from GetAll1_Output to All Portal Users. However, this is still only a raw representation of our data. What if we want to ignore this output, or select only a few items and present them in a more meaningful way?

debugDataSecondRun

 

Going back to the Mapping Editor, change the Mapping type of Output to Array – Items. This will allows us to select two users for display. As soon as we’ve entered the number of items we’d like to use, generic entries representing those list items will appear below. Because the platform does not yet know how we would like to use these output items, their initial use is Unknown.

outputArrayItems2

 

For both items, we can opt to change their values; expose their properties; rename, ignore, or pass them through unchanged; or even run them through a converter flow (which we discuss in the section Converter Flows). To help us represent these items more meaningfully, select key properties from our items for display and leave the rest behind. We can expose these key elements for selection by choosing Expose Properties for the Mapping type.

outputExposeProperties

 

Beneath our item, we now have a list of properties which we can manipulate, just as we did with Output itself. By default, all properties are set to Ignore. In order to satisfy our requirement for a meaningful display of our articles, change the Mapping type of EntityName and EntityDescription from Ignore to Pass Through, and click OK to leave the Mapping Editor.

entityDescriptionPassThrough

 

Now, when we run our flow through the debugger, we see that the step Get All Articles outputs our FlowDataConstant (Flow Data), The first item is another FlowDataConstant that contains two strings: EntityName and EntityDescription. The exposed properties display below.

debugThirdRunData

 

Additional Resources