Executing steps even when your stream is empty
As you must know, a Kettle transformation is a group of linked steps through which data flows. Each step is meant to receive rows of data, process the data somehow, and deliver those rows to the next step or steps. If you agree with this definition, then you must realize that if there are no rows coming to the step, the step will not be executed.
This seems reasonable, but on occasion, it can be a problem. To get an idea of that kind of situation, look at the following scenarios:
You have a very simple transformation that reads a file, does some calculations, and finally updates a table with the system date and the number of processed rows. If the file doesn't exist or if it is empty, then no rows will go out from the file input step. Consequently and contrary to what you need to do, the step that updates the table will never be executed.
You need to set some variables with values that are supposed to be in a file. If the file exists and has the...