Debugging mappings

Before you start

To complete this task, you must have completed the following tasks:

When message flow processing has paused at a breakpoint in source code within a node that contains mapping (a Mapping, DataInsert, DataUpdate, DataDelete, Extract, or Warehouse node), you can view the mapping routines and view and modify user-defined variables. You can also set breakpoints on lines in the mappings.

Note: Mapping routines are implemented in ESQL; if you step into the code, you can choose either to step through the ESQL code, or to step through the mappings.
  1. Switch to the Debug perspective.
  2. In the Debug view, click the Step into Source Code Step into code icon on the toolbar, or right-click the flow stack frame and then click Step into Step Into. The Message Mapping editor opens with the mapping routine highlighted in both the Mapping editor and the Outline view.
  3. To use breakpoints on mapping lines:
    1. In the Message Mapping Editor, select the line for the mapping command you want to use, right-click the space beside it and select from the menu to add or disable a breakpoint. Alternatively double-click the same space to add or remove a breakpoint. You cannot set a breakpoint on a comment line or a blank line.
    2. Select from the menu to create, delete, or restrict the breakpoint, in a similar way to normal debugger breakpoints, as described in Working with breakpoints.
  4. Check the mapping routines by performing the various stepping actions (step into, step over, and step return). While you are doing this, in the Debug view, the stack frame shows the list of mapping commands and the current command. The Variables view shows your user-defined mapping variables, along with the input message (that is, the Debug Message). You can alter the user-defined variables.
Start of changeWhen you finished working with the mappings and user-defined variables, message flow processing continues until the next breakpoint that is set in the logical processing of the current message. If there is no further breakpoint at which the flow instance can pause, the flow instance runs to completion and is removed from the Debug view.

If you have now completed debugging this message flow, you can remove the breakpoints, or end the debug session:

End of change
Related concepts
Flow debugger overview
Debug perspective
Message Mapping editor
Related tasks
Working with breakpoints in the debugger
Debug: stepping into source code
Debug: stepping over source code
Debug: stepping out of source code
Related reference
Flow debugger shortcuts
Flow debugger icons and symbols