Write File on SFTP Server from SAP
SAP ABAP has the Functionality to write/Read on FTP server,but there is no functionality in ABAP to read /Write on SFTP server.You only have the option of XI/PI to Write/Read on SFTP location.
I Googled and managed to Read/Write on SFTP server from SAP Application Server with the help of an open Source FTP client.
Below are the Steps to write on SFTP location
Operting System : Windows
Database : Oracle
SAP Version : Netweaver 7.0 ECC 6.0
Download and install WinSCP.You can download WINSCP from http://winscp.net/eng/download.php
Check the connectivity from SAP Server to SFTP server with WinSCP
Create the WinSCP Login and maintain the connection string
maintain the logon details and Save
you can either check the connectivity with GUI or with Command Prompt
Command to check connectivity is : open sftp://<User>:<Password>@<SFTP_Server> -hostkey=”ssh-rsa 1024 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx”
after checking the connectivity create a batch script of WinSCP commands.you can find the list of available commands of winscp from http://winscp.net/eng/docs/scripting
a Sample script will give you an idea how it looks like
Open NotePad and write the content and Save it witj .txt extension.
# Automatically abort script on errors
option batch abort
# Disable overwrite confirmations that conflict with the previous
option confirm off
# Connect using a password
# Change remote directory
# Force binary mode transfer
option transfer binary
# Download file to the local directory d:\
get examplefile.txt d:\
# Connect as a different user
# Change the remote directory
# Upload the file to current working directory
# Exit WinSCP
Create command in SM69
Go to transaction SM69 and create external operating system command.make sure to tick additional parameters and trace
you can test the command by executing it.
Call the newly created external Command using FM : SXPG_COMMAND_EXECUTE
you can then write the program and call the external command which will execute and Write/Read the File on SFTP server.