Hi!
It is often necessary to run some external command such as a python program or a shell script from inside Caché/Ensemble. There are three ways of doing this:
- $ZF(-1) - Runs the command and waits for it to finish.
- $ZF(-2) - Runs the command and don't wait for it to finish.
- Using CPIPE device - Runs the command and opens a device for you to read its output or (exclusive or here!) write to its input.
$ZF(-1) is normally more interesting because it allows you to recover the return code of the program you are calling. If that is important to you, that is the way to go.

