IBM PLANNING ANALYTICS · TI PROCESSES

ProcessBreak
or ProcessQuit?

Stop a TM1 process deliberately. The difference is what happens next — especially in the Epilog.

The short answer

ProcessBreak stops processing source data and jumps to the Epilog. ProcessQuit ends the TI process at this point; a subsequent Epilog is no longer executed.

AT A GLANCE

ProcessBreak and ProcessQuit compared

Both commands control the flow of a TurboIntegrator process in IBM Planning Analytics. The key question is whether final tasks should still run.

BehaviourProcessBreakProcessQuit
EffectThe process jumps to the EpilogEnd the current TI process
Remaining code in the current sectionSkipped when the process jumpsNo longer executed
Epilog after a call in the Data sectionExecutedNo longer executed because the process has already ended.
Typical intentStop processing but retain final tasksAlso prevent subsequent final tasks
SyntaxProcessBreak;ProcessQuit;

Both commands take no arguments. The flow comparison shows a call before the Epilog.

HOW THE FLOW CHANGES

The Epilog makes the difference.

Here, each command is reached in the Prolog. ProcessBreak jumps directly to the Epilog; ProcessQuit ends the process immediately.

ProcessBreak;

  1. Prolog ProcessBreak; → Jump to the Epilog
  2. Metadata Skipped
  3. Data Skipped
  4. Epilog Run final code

ProcessQuit;

  1. Prolog ProcessQuit; → Process ended
  2. Metadata No longer executed
  3. Data No longer executed
  4. Epilog No longer executed

TWO PRACTICAL CODE EXAMPLES

Same condition. Different continuation.

The following snippets show control flow in the Data section. Define a numeric process parameter pStop with a default value of 0. Setting it to 1 triggers the respective stop on the first record processed.

01

WITH FINAL TASKS

ProcessBreak: Continue with the Epilog

You want to stop processing further source rows but still log that the final section was reached in the Epilog.

DATA · CONTROL FLOW
# pStop is a numeric parameter.
IF (pStop = 1);
  ProcessBreak;
ENDIF;

# Your processing code follows here.
EPILOG · FINAL TASKS
LogOutput('INFO', 'Epilog reached.');

When pStop = 1: The process moves from data processing to the Epilog. The LogOutput statement there is executed.

02

WITHOUT CONTINUATION

ProcessQuit: End at this point

You want to end execution immediately. The final message shown below should not be written either.

DATA · CONTROL FLOW
IF (pStop = 1);
  LogOutput('INFO', 'Stopping before the Epilog.');
  ProcessQuit;
ENDIF;

# Your processing code follows here.
EPILOG · NOT REACHED AFTER STOPPING
LogOutput('INFO', 'Epilog reached.');

When pStop = 1: The message before ProcessQuit is written. The subsequent code and the message in the Epilog are not executed.

CHOOSE THE RIGHT COMMAND

What do you want to stop?

A single record, further processing or the entire current process: these are different decisions.

PROCESSBREAK

Keep the final tasks.

Choose the path to the Epilog and account for processing having ended early.

PROCESSQUIT

End the current process.

Put any required messages and cleanup before the stop.

ITEMSKIP

Skip only this source row.

If the remaining records should still be processed, ItemSkip is the appropriate starting point.

FREQUENTLY ASKED QUESTIONS

Any questions?

Does the Epilog still run after ProcessQuit?

If ProcessQuit is reached before the Epilog, the Epilog no longer runs. If the command is in the Epilog itself, execution ends there; any subsequent code is not executed.

Can I use this to skip just one record?

Use ItemSkip for that. It skips the current data source item. ProcessBreak and ProcessQuit stop more than just the processing of a single source row.

Is ProcessBreak a normal successful completion?

IBM distinguishes return statuses for ProcessBreak, ProcessQuit and normal process completion. In calling processes, evaluate the appropriate status instead of assuming success from an Epilog message alone.

MY PLANNING ANALYTICS NEWSLETTER

More practical tips, straight to your inbox.

Get tips for working with IBM Planning Analytics, news about versions and features, and updates on my latest videos.

Sign up for the free newsletter
Florian KaiserFlorian KaiserPlanning Analytics consultant

FROM EXPLANATION TO PRACTICE

Are your TI processes running reliably?

Would you like to make data imports more robust, investigate process stops or improve existing TI processes? I can help you implement this in IBM Planning Analytics.

Discuss your project ↗kontakt@florian-kaiser-consulting.de
Technical sources

IBM documentation on process control. The examples illustrate the documented behaviour.