IBM Support

Why does Connect:Direct Windows or UNIX leave incomplete destination files ?

Technical Blog Post


Abstract

Why does Connect:Direct Windows or UNIX leave incomplete destination files ?

Body

C:D Windows/UNIX will always create a file and leave it in place if the transfer is interrupted, so that a checkpoint restart can be performed if necessary. This is normal Connect:Direct behavior,

The problem with this is that when a file is sent to a remote node and the transfer is interrupted, the file is created and could be processed by a third party application.
When the pnode recovers it will resend or checkpoint restart the file again leading to a chance of duplicate delivery and duplicate processing of the file.

As this is normal C:D behavior, you should not process the file on the remote node until you are certain it is complete.
Here you can find a few ways to do this.

1. Using a trigger file. In the first step you would copy the file to the destination directory, when it completes successfully a second step will run and send a zero byte trigger file which will indicate to any
    third party applications that the primary file is complete and available for processing.

2. Using a "copy and move" approach. In the first step you would copy the file to a temporary directory on the remote node, when it completes successfully the second step will call a run task to move it to the destination directory for processing.

3. Trigger the third party application. In the first step you would copy the file to the destination directory, when it completes successfully the second step will call a run task to trigger the third party application that processes the file.

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SS4PJT","label":"IBM Sterling Connect:Direct"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

UID

ibm11124019