FAQ - CoMod
How can I control the error output in CIB merge?
New parameter switch for CIB merge: The individually customizable error output
As a developer of text modules and raw texts, you are familiar with the error documentation of CIB merge. Any error that occurs when merging the text modules and data is registered meticulously in a log file, i.e. the error output file. Thus, it can indeed happen - for instance when creating complex texts - that variables are missing from a control file. For errors of this kind, CIB merge has always automatically aborted the merge operation up to now.
Even in sensitive environments, the merging process might be aborted immediately if "slight malfunctions" occur. Although this behavior of the program is absolutely in accordance with the intentions of its designers, it may be annoying in some cases and entail unnecessary extra work.
For this reason, in the new release of CIB merge, error handling can be chosen freely by means of a parameter switch.
This is set using the switch "-B" or "/B" for BREAK. Various scaling alternatives are available here ... even all the way to the outright ignoring of errors so that texts are merged through to the end and the application can thus continue running unperturbed and return the value "O" for a successful merge ...
If the switch is not set, then an immediate abort takes place if errors occur - as was the case up to now.
In addition, the switch BREAK enables scaling to take place using the following levels: "all" (default), "loop", "doc", "par", "never" and "ok".
For "all", an immediate abort takes place. "Loop" stops program loops where an error occurs within the loop. This setting is particularly important for preventing infinite loops which, for example, may be caused by incorrect variables. For the setting "doc", if an error occurs in the case of merge letters, then the operation is aborted after the current document. This prevents the generation of a mountain of flawed letters.
An error in a passed parameter is not allowed through by "par" and the processing of further parameters contained in the parameter file is terminated. With the settings "never" and "ok", CIB merge ignores all errors. The difference between these two settings is in the return value. In the case of "never", the value of the first error is returned to the application calling CIB merge; In the case of "ok", a merge operation returns 'success' despite errors possibly having occurred.