Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: RGUTFTP

RGUTFTP.m

Go to the documentation of this file.
  1. RGUTFTP ;CAIRO/DKM - FTP support (currently defined only for VMS);12-Oct-1998 15:49;DKM
  1. ;;2.1;RUN TIME LIBRARY;;Mar 22, 1999
  1. ;=================================================================
  1. ; Should not be invoked directly, but through a call to FTP^RGUTOS
  1. ;=================================================================
  1. VMS(RGIP,RGMODE,RGSRCF,RGTGTF,RGTGTD,RGUSER,RGPASS) ;
  1. N RGZ,RGZ1,RGFIL,RGSRCD
  1. D HOME^%ZIS
  1. I IO=IO(0) D
  1. .U IO
  1. .I "@"[RGIP D
  1. ..S:RGIP="@" RGIP=$P($ZIO," ",2)
  1. ..I RGIP="" D Q:RGIP=""
  1. ...R "Enter target IP address: ",RGIP:DTIME,!
  1. ...S:RGIP[U RGIP=""
  1. .I $G(RGSRCF)="" D Q:RGSRCF=""
  1. ..R "Enter source file name : ",RGSRCF:DTIME,!
  1. ..S:RGSRCF[U RGSRCF=""
  1. .I $G(RGUSER)="" D Q:RGUSER=""
  1. ..R "Enter target user name : ",RGUSER:DTIME,!
  1. ..S:RGUSER[U RGUSER=""
  1. .I $G(RGPASS)="" D Q:RGPASS=""
  1. ..R "Enter target password : ",RGPASS:DTIME,!
  1. ..S:RGPASS[U RGPASS=""
  1. D:$G(RGIP)="" RAISE^RGUTOS("No IP address")
  1. D:$G(RGSRCF)="" RAISE^RGUTOS("No source file")
  1. D:$G(RGUSER)="" RAISE^RGUTOS("No target user")
  1. D:$G(RGPASS)="" RAISE^RGUTOS("No target password")
  1. S RGZ=$S(RGMODE["G":"get ",RGMODE["P":"put ",1:""),RGSRCF=$TR(RGSRCF,"\","/"),RGSRCD=""
  1. S:RGSRCF["/" RGZ1=$L(RGSRCF,"/")-1,RGSRCD=$P(RGSRCF,"/",1,RGZ1)_"/",RGSRCF=$P(RGSRCF,"/",RGZ1+1)
  1. D:RGZ="" RAISE^RGUTOS("Mode not specified")
  1. W:IO=IO(0) !,"Beginning file transfer...",!!
  1. I $$NEWERR^%ZTER N $ET S $ET=""
  1. S @$$TRAP^RGUTOS("ERROR^RGUTFTP"),RGFIL="FTP"_$J_".TMP",RGMODE=$$UP^XLFSTR($G(RGMODE))
  1. D OPEN^RGUTOS(.RGFIL,"W")
  1. U RGFIL
  1. W:RGSRCD'="" $S(RGMODE["G":"cd ",1:"lcd ")_RGSRCD,!
  1. W:$G(RGTGTD)'="" $S(RGMODE["G":"lcd ",1:"cd ")_RGTGTD,!
  1. W $S($G(RGTGTF)="":"m"_RGZ_RGSRCF,1:RGZ_RGSRCF_" "_RGTGTF),!
  1. W:RGMODE["D"&(RGMODE["G") "mdelete "_RGSRCF,!
  1. W "quit",!
  1. D CLOSE^RGUTOS(.RGFIL)
  1. U IO
  1. S RGZ=$&ZLIB.%SPAWN("FTP "_RGIP_" /USER="""_RGUSER_"""/PASS="""_RGPASS_"""/INPUT="_RGFIL)
  1. D DELETE^RGUTOS(RGFIL)
  1. I RGMODE["P",RGMODE["D" D DELETE^RGUTOS(RGSRCF)
  1. Q
  1. ERROR I IO=IO(0) D
  1. .U IO
  1. .W $$EC^%ZOSV,!!
  1. E D ^ZTER
  1. Q