Outbound configuration

The Fileset FTP driver writes messages to its connection by writing to files. Before writing a message, the driver examines the message’s DRIVERCTL metadata string. If it contains a FILESET key, then it takes that key’s value as a configuration list for overriding the default configuration list.

For example:

{ APPC { ... <APPC control> }} { FILESET {<Fileset FTP control> }} ...

The control list is a keyed list, using many of the same keys as the NetConfig list:

  • FTPACCT
  • FTPCLOSE
  • FTPHOST
  • FTPOBDIR
  • FTPPASSWD
  • FTPPORT
  • FTPTYPE
  • FTPUSER
  • OBAPPEND
  • OBDIR
  • OBFILE
  • OBSTYLE
Note: The DRIVERCTL string cannot override the driver’s MODE configuration. You cannot use DRIVERCTL to force the driver to deliver one message locally when MODE is ftp or vice-versa.

Other examples are:

To append the newline-terminated data to obdata.123:

{ FILESET {
{ OBAPPEND 1 } { OBFILE obdata.123 } { OBSTYLE nl }
}}

To use newacct account information for the current user, create/overwrite data321.dat using image/binary transfer. Then, close the connection when the transfer is complete:

{ FILESET {
{ FTPACCT newacct } { FTPCLOSE 1 } { FTPTYPE i }
{ OBAPPEND 0 } { OBFILE data321.dat }
}}

A message’s DRIVERCTL values apply only to the current message. They do not affect inbound flow or other outbound messages.

As the driver writes the outbound message, it includes message-delimiter characters appropriate to OBSTYLE.

Local delivery

If OBFILE is a relative path, then it is relative to OBDIR. This is relative to the process binary directory.

If the OBAPPEND flag is set, then the driver opens OBFILE in append mode. Otherwise, it truncates and overwrites the file.

FTP

If FTPHOST specifies another FTPHOST/FTPUSER/FTPACCT/FTPTYPE configuration than it currently has, then it adjusts its connection. This could even be to the point of connecting to a new server.

If not in the correct directory, then it sends the CWD FTPOBDIR command to move to the correct directory.

If the OBAPPEND flag is set, then the driver sends the APPE OBFILE command to append the message data to the remote file. Otherwise, it sends STOR OBFILE to create/overwrite the remote file.