Error Handling in Called Flows (Magic xpi 3.x)
As shown in the following diagram, if you have one flow (Flow 1) with a transaction that opens, and it calls another flow (Flow 2), the transaction is considered opened for all of Flow 2. So, if a database error occurs in Flow 2, Magic xpi will abort Flow 2 and return back to Flow 1.
If the Data Mapper’s DB Transaction Level parameter is set to Mapper, the transaction is opened before the Data Mapper starts. Therefore, if there is an error in the called flow, the Data Mapper step will exit with an error. The Error behavior parameter's Exit or Continue settings will be ignored, since the transaction was opened in a higher level of the step.
If you have a Flat File Source and a Call Flow Destination, and the called flow ends with a non-database error (such as an Abort error), the Data Mapper will act according to what was set in the Error behavior parameter. It will either exit or continue to the next record in the flat file. If Continue was selected, the calling Data Mapper will not invoke an error flow for each call flow that ended with an error. If Exit was selected, the calling Data Mapper will exit with the error returned from the called flow. From this point onwards, Magic xpi's standard error handling behavior will apply.