I have seen code for Windows using .NET, but is this doable using Progress ABL? It is going to be run on appserver running on Linux.
You can do this from the ABL with the OS-COMMAND using the sftp command with the -b option (and optionally you may want to look at sshpass which works quite well).