SendFile(OrigFile,DestDirectory,DestFile,Server,UserName,Password) #Include %occInclude ;Bestaat de file? Quit:('##class(%File).Exists(OrigFile)) "Het opgegeven bestand '"_OrigFile_"' bestaat niet en kan dus niet verstuurd worden." New FTP,RtnMsg Set FTP=##class(%Net.FtpSession).%New() Set RtnMsg="(no extra information available)" ;---------------------------------------------------------------------------------------------------------------------- ; CONNECT ;---------------------------------------------------------------------------------------------------------------------- Set UserName=$G(UserName) Set Password=$G(Password) Quit:($G(Server)="") "Er is geen server opgegeven." If 'FTP.Connect(Server,UserName,Password) Do Quit "Kan geen ftp-verbinding maken met '"_Server_"': "_RtnMsg . Set RtnMsg=FTP.ReturnMessage . Do FTP.%Close() ;---------------------------------------------------------------------------------------------------------------------- ; DIRECTORY WIJZIGEN ;---------------------------------------------------------------------------------------------------------------------- Set DestDirectory=$G(DestDirectory) If (DestDirectory'="") && 'FTP.SetDirectory(DestDirectory) Do Quit "Kan het pad '"_DestDirectory_"' op de ftp-server niet bereiken: "_RtnMsg . Set RtnMsg=FTP.ReturnMessage . Do FTP.Logout() . Do FTP.%Close() ;---------------------------------------------------------------------------------------------------------------------- ; TE VERSTUREN FILE OPBOUWEN ;---------------------------------------------------------------------------------------------------------------------- New OrigFileAsStream Set OrigFileAsStream=##class(%FileCharacterStream).%New() New Status Set Status=OrigFileAsStream.LinkToFile(OrigFile) If $$$ISERR(Status) Do Quit "Fout tijdens het linken van het bestand '"_OrigFile_"' met het file-object: "_$$ParseStatus^vhLib(Status)_"." . Do OrigFileAsStream.%Close() . Do FTP.Logout() . Do FTP.%Close() ;---------------------------------------------------------------------------------------------------------------------- ; SEND ;---------------------------------------------------------------------------------------------------------------------- If 'FTP.Store(DestFile,OrigFileAsStream) Do Quit "Kan het opgegeven bestand '"_OrigFile_"' niet bewaren op de ftp-server: "_RtnMsg . Set RtnMsg=FTP.ReturnMessage . Do OrigFileAsStream.%Close() . Do FTP.Logout() . Do FTP.%Close() Do OrigFileAsStream.%Close() ;---------------------------------------------------------------------------------------------------------------------- ; DISCONNECT ;---------------------------------------------------------------------------------------------------------------------- If 'FTP.Logout() Do Quit "Kan ftp-verbinding met '"_Server_"' niet verbreken: "_RtnMsg . Set RtnMsg=FTP.ReturnMessage . Do FTP.%Close() Do FTP.%Close() Quit ""