Skip to main content


abstract class EnsLib.FTP.CommonSSH extends %Library.RegisteredObject

Adapter that receives files via the FTP protocol.

Property Inventory

Method Inventory


parameter SETTINGS = FTPServer:Basic,FTPPort:Basic,Credentials:Basic:credentialsSelector,FilePath:Basic,Charset::selector?context={Ens.ContextSearch/CharacterSets},StayConnected:Connection,ConnectTimeout:Connection,SFTPPublicKeyFile:SFTP,SFTPPrivateKeyFile:SFTP,SFTPFileAccessMode:SFTP,SFTPRemoteCharset:SFTP:selector?context={Ens.ContextSearch/CharacterSets?internalTables=1},SFTPLocalCharset:SFTP:selector?context={Ens.ContextSearch/CharacterSets?internalTables=1};


property ConnectTimeout as %Numeric (MINVAL = 0) [ InitialExpression = 5 ];
Number of seconds to wait on each connection attempt
Property methods: ConnectTimeoutDisplayToLogical(), ConnectTimeoutGet(), ConnectTimeoutIsValid(), ConnectTimeoutLogicalToDisplay(), ConnectTimeoutNormalize(), ConnectTimeoutSet()
property FTPPort as %Integer;
TCP Port on the FTP Server to connect to. For FTP the standard port is 21 and for SFTP it is 22. Leave this field blank to use the appropriate standard value.
Property methods: FTPPortDisplayToLogical(), FTPPortGet(), FTPPortIsValid(), FTPPortLogicalToDisplay(), FTPPortNormalize(), FTPPortSet()
property FTPServer as %String (MAXLEN = 1000);
FTP Server to connect to
Property methods: FTPServerDisplayToLogical(), FTPServerGet(), FTPServerIsValid(), FTPServerLogicalToDisplay(), FTPServerLogicalToOdbc(), FTPServerNormalize(), FTPServerSet()
property SFTPFileAccessMode as %String [ InitialExpression = "0600" ];
SFTP File Access Mode specifies the access permissions to assign to the file on the remote system when transferred.
It can be specified as either octal e.g. 0600 or symbolic such as u+rw,g+r
The default is 0600. If specifying octal 4 digits are required.
For symbolic and specifying all use 'ugo' and not 'a' e.g ugo+rw.
Property methods: SFTPFileAccessModeDisplayToLogical(), SFTPFileAccessModeGet(), SFTPFileAccessModeIsValid(), SFTPFileAccessModeLogicalToDisplay(), SFTPFileAccessModeLogicalToOdbc(), SFTPFileAccessModeNormalize(), SFTPFileAccessModeSet()
property SFTPLocalCharset as %String [ InitialExpression = $CASE($system.Version.GetOS(),"Windows":"",:"UTF8") ];
Character set used by the local system for filename encoding.
For Windows the default is the empty setting which will leave local filenames as Unicode.
For Unix the default is to convert to UTF8.
This setting is used to set the LocalCharset in the %Net.SSH.Session object.
Property methods: SFTPLocalCharsetDisplayToLogical(), SFTPLocalCharsetGet(), SFTPLocalCharsetIsValid(), SFTPLocalCharsetLogicalToDisplay(), SFTPLocalCharsetLogicalToOdbc(), SFTPLocalCharsetNormalize(), SFTPLocalCharsetSet()
property SFTPPrivateKeyFile as %String (MAXLEN = 1000);
File path to a file containing the SSH private key certificate
Property methods: SFTPPrivateKeyFileDisplayToLogical(), SFTPPrivateKeyFileGet(), SFTPPrivateKeyFileIsValid(), SFTPPrivateKeyFileLogicalToDisplay(), SFTPPrivateKeyFileLogicalToOdbc(), SFTPPrivateKeyFileNormalize(), SFTPPrivateKeyFileSet()
property SFTPPublicKeyFile as %String (MAXLEN = 1000);
File path to a file containing the SSH public key certificate
Property methods: SFTPPublicKeyFileDisplayToLogical(), SFTPPublicKeyFileGet(), SFTPPublicKeyFileIsValid(), SFTPPublicKeyFileLogicalToDisplay(), SFTPPublicKeyFileLogicalToOdbc(), SFTPPublicKeyFileNormalize(), SFTPPublicKeyFileSet()
property SFTPRemoteCharset as %String [ InitialExpression = "UTF8" ];
Character set for filenames used by the remote server.
Defaults to UTF8.
Set to empty string for no character set translation for filenames.
This setting is used to set the RemoteCharset property in the %Net.SSH.Session object.
Property methods: SFTPRemoteCharsetDisplayToLogical(), SFTPRemoteCharsetGet(), SFTPRemoteCharsetIsValid(), SFTPRemoteCharsetLogicalToDisplay(), SFTPRemoteCharsetLogicalToOdbc(), SFTPRemoteCharsetNormalize(), SFTPRemoteCharsetSet()
property StayConnected as %Numeric (MINVAL = -1) [ InitialExpression = -1 ];
If non-zero, stay connected to the remote system between handling Requests until idle for this number of seconds. A value of -1 means never disconnect.
Property methods: StayConnectedDisplayToLogical(), StayConnectedGet(), StayConnectedIsValid(), StayConnectedLogicalToDisplay(), StayConnectedNormalize(), StayConnectedSet()
property TranslateTable as %String;
The translate table to be used when reading or writing files.
Property methods: TranslateTableDisplayToLogical(), TranslateTableGet(), TranslateTableIsValid(), TranslateTableLogicalToDisplay(), TranslateTableLogicalToOdbc(), TranslateTableNormalize(), TranslateTableSet()


method ConnectSSH(pTimeout As %Numeric = 15, pInbound As %Boolean = 0, pSFTPPort As %Integer) as %Status
classmethod FileListSSHClose(QHandle As %Binary) as %Status
classmethod FileListSSHExecute(ByRef QHandle As %Binary, adapter As Ens.Adapter, directory As %String, wildcards As %String, dirsOrNoDirs As %Boolean = 0, semaphoreSpec As %String = "") as %Status
classmethod FileListSSHFetch(ByRef QHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) as %Status
method System(ByRef System As %String) as %Boolean
method TestConnectionSSH(pInbound)


query FileListSSH(adapter As Ens.Adapter, directory As %String(MAXLEN=""), wildcards As %String, dirsOrNoDirs As %Boolean = 0, semaphoreSpec As %String = "")
Selects Name As %String, Type As %String, Size As %BigInt, DateCreated As %TimeStamp, DateModified As %TimeStamp, ItemName As %String, ItemDir As %String, SemaphoreName As %String
This query is a shadow of the FileSet query in %Library.File, using an interface to the Adapter and skipping directories The dirsOrNoDirs argument if 0 (the default) will exclude directory entries, or if 1 will return directory entries only.

Inherited Members

Inherited Methods


FeedbackOpens in a new tab