4: CCM_PrintDelivery

The process has this structure:

  1. Loop body script, or the CCM_DoPrintDelivery script, which relies on the DeliverCommunication function of the PrintDelivery component for processing a single print communication. The order to process print communications is not determined. For information on DeliverCommunication, see DeliverCommunication function (DeliverCommunication function (for printed output)).
  2. Surrounding loop, which ensures that the CCM_DoPrintDelivery script is called repeatedly.

Loop body script

The CCM_DoPrintDelivery script calls the DeliverCommunication function and monitors the result:

  • If a print communication is processed successfully, the script ends.
  • If no print communication is found, the script waits five seconds, and then ends.
  • If an exception marked as Handled is thrown, the script ends.
  • If an exception is thrown that is not marked as Handled, the script throws an exception.

When the script ends normally, the surrounding loop immediately calls the script again. Therefore, as long as print communications are available, they are picked up one by one without delay. If no print communication is available, the next check is delayed for five seconds.

Surrounding loop

The surrounding loop continues indefinitely until the process receives a Stop or Cancel signal, or the CCM_DoPrintDelivery script throws an exception. As long as the CCM_DoPrintDelivery process is running, print communications are continuously processed into process records.

It is safe to run multiple print delivery processes simultaneously, even if they process print communications from the same run-time database.