Variation 1: Basic FTP Upload

SELECT Order_ID AS "KEY",
       'OrderReport.rtf' TEMPLATE,
       'en-US' LOCALE,
       'CSV' OUTPUT_FORMAT,
       'Order_' || Order_ID OUTPUT_NAME,
       'FTP' DEL_CHANNEL,
       'ftp.server.com' PARAMETER1,                   -- FTP Server Name
       'ftpuser' PARAMETER2,                          -- Username
       'ftppassword' PARAMETER3,                      -- Password
       '/remote/path/' PARAMETER4,                    -- Remote Directory
       'Order_' || Order_ID || '.csv' PARAMETER5,    -- Remote File Name
       'TRUE' PARAMETER6                               -- Secure (true = SFTP)
FROM Orders;

Variation 2: Chunked FTP Upload using ORA_HASH

SELECT ORA_HASH(Order_ID, 2) AS file_group,
       'OrderReport.rtf' TEMPLATE,
       'en-US' LOCALE,
       'CSV' OUTPUT_FORMAT,
       'Chunk_' || ORA_HASH(Order_ID,2) OUTPUT_NAME,
       'FTP' DEL_CHANNEL,
       'ftp.server.com' PARAMETER1,
       'ftpuser' PARAMETER2,
       'ftppassword' PARAMETER3,
       '/remote/path/' PARAMETER4,
       'Chunk_' || ORA_HASH(Order_ID,2) || '.csv' PARAMETER5,
       'TRUE' PARAMETER6
FROM Orders;