IBM Support

WMQ MFT/FTE with variable substitution ${FileName} and multiple files going to single filename.

Troubleshooting


Problem

Using WebSphere MQ File Transfer Edition (WMQ MFT/FTE), when monitoring a directory and transferring multiple files from a source to a destination location and using ${Filename} variable substitution, you need to test the variable substitution results. It could cause unexpected combinations of file transfer commands to be invoked.

Symptom

Multiple files appear to transfer but only 1 file ends up at the destination. You may see errors in the file transfer log showing multiple files attempting to transfer to the same destination filename and failing transfers to the same filename.

Cause

When multiple files are being processed by a MFT/FTE directory monitor, the Task xml runs for every file the monitor finds in the directory being monitored, if the ${Filename} is only specified in the destination of the xml task file and not the source, the transfer will be invoked for each file multiple times (once for each filename combination).

For example:

<source disposition="delete" recursive="false">
    <file>e:\temp</file>
</source>
<destination exist="overwrite" type="file">
   <file>s:\outdir\${FileName}</file>

</destination>

Environment

Websphere MQ MFT/FTE Monitoring a directory and using variable substitution for multiple file transfers.
Similar to example in the product documentation at: Monitoring a directory and using variable substitution

Diagnosing The Problem

Check the transfer logs for errors transferring multiple files. Ensure that the source filenames and destination filenames are as expected. Review the definition of the MFT/FTE monitor and the results copied from the transfer log on the coordinator queue manager.

Resolving The Problem

If using ${Filename} variable substitution in the source or destination and expecting a variation of the same filename to end up at the destination, be sure to specify ${Filename} in BOTH the source and destination of your task XML definition.

Example: This example takes and File from e:\temp\<filename> and transfers it to s:\outdir\<filename>.out


<source disposition="delete" recursive="false">
      <file>e:\temp\${FileName}</file>
  </source>
  <destination exist="overwrite" type="file">
     <file>s:\outdir\${FileName}.out</file>
  </destination>

[{"Product":{"code":"SSFKSJ","label":"WebSphere MQ"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Component":"WMQ File Transfer Edition","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"},{"code":"PF033","label":"Windows"}],"Version":"8.0;7.5;7.0.4;7.0.3;7.0.2","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Product Synonym

WMQFTE MFT FTE WebSphere MQ File Transfer Edition

Document Information

Modified date:
15 June 2018

UID

swg21616191