I'll quickly show how to upload to an Abap instance using function modules.
I had this situation today were someone told me "Take this files and import them in TST", and I had no access to the OS, so I made it using function modules.
Got into SE37 and used ARCHIVFILE_CLIENT_TO_SERVER (You can also download files using ARCHIVFILE_SERVER_TO_CLIENT):
As soon as you click the text button () two fields appear, target and server, as in this case we are uploading files the "target" field is the file on our computer while "targetpath" is the location on the server where it should be dropped.
My first attempt failed because it was a Linux system and I forgot to activate the following option:
As Linux is case sensitive it requires that option to drop the file into the right path.
To run the upload you just run it with the execute button () and once done you should see a message like the following: