[613] | 1 | AWCMFTP ;VISN 7/THM-FTP FILES TO SERVER from VISTA ; Feb 27, 2004
|
---|
| 2 | ;;7.3;TOOLKIT;**84,86,103**;Jan 09, 2004;Build 4
|
---|
| 3 | ;
|
---|
| 4 | W *7,!,"Enter at line EN^AWCMFTP.",!
|
---|
| 5 | Q
|
---|
| 6 | EN ; variables killed in calling program
|
---|
| 7 | S VMSC="" ;INIT THE VAR
|
---|
| 8 | ; AWCHFIL1= whole VMS path
|
---|
| 9 | S AWCHFILE="AWCMOVEHTM.COM" ;COM file name
|
---|
| 10 | I AWCX="NT" S AWCHFILE=AWCFILE
|
---|
| 11 | S AWCDTAX=$G(^AWC(177100.12,1,0))
|
---|
| 12 | S AWCDIR=$P(AWCDTAX,U,5) ;Parameter file
|
---|
| 13 | S:AWCDIR="" AWCDIR="SYS$SYSDEVICE:[DSMMGR]" ;DEFAULT
|
---|
| 14 | S AWCSITE=$$SITE^VASITE,AWCSITE=$P(AWCSITE,U,2) ;site Name
|
---|
| 15 | S AWCSITEN=+$$SITE^VASITE ;3 dig number
|
---|
| 16 | S AWCDIRL=$$LOW^XLFSTR(AWCDIR),AWCHFILL=$$LOW^XLFSTR(AWCHFILE)
|
---|
| 17 | S AWCWBFLD=$P(AWCDTAX,U,15),AWCWBFLD=$$LOW^XLFSTR(AWCWBFLD) ;web page folder
|
---|
| 18 | ; Note: file deletion is not a problem for NT/Cache since it overwrites the files
|
---|
| 19 | S AWCMVMSL=+$P(AWCDTAX,U,16) ;VMS logging
|
---|
| 20 | S AWCMVMSD=+$P(AWCDTAX,U,18) ;VMS delete
|
---|
| 21 | S AWCDIRCH=+$P(AWCDTAX,U,19) ;use change dir command?
|
---|
| 22 | S AWCWBFLD=$P(AWCWBFLD,"/",2)
|
---|
| 23 | D @AWCX
|
---|
| 24 | Q
|
---|
| 25 | ;
|
---|
| 26 | NT ; NT script
|
---|
| 27 | S AWCC=1
|
---|
| 28 | K ^TMP("AWCMFTP",$J)
|
---|
| 29 | S ^TMP("AWCMFTP",$J,AWCC,0)="open "_AWCMSRV,AWCC=AWCC+1 ;server ip address
|
---|
| 30 | S ^TMP("AWCMFTP",$J,AWCC,0)=AWCMUSR,AWCC=AWCC+1 ; ftp user
|
---|
| 31 | S ^TMP("AWCMFTP",$J,AWCC,0)=AWCMPW,AWCC=AWCC+1 ;ftp password
|
---|
| 32 | S ^TMP("AWCMFTP",$J,AWCC,0)="ascii",AWCC=AWCC+1
|
---|
| 33 | I $G(AWCDIRCH)=1 S ^TMP("AWCMFTP",$J,AWCC,0)="cd "_AWCWBFLD,AWCC=AWCC+1 ;****
|
---|
| 34 | S ^TMP("AWCMFTP",$J,AWCC,0)="put "_AWCDIRL_"\"_AWCHFILE,AWCC=AWCC+1 ;****
|
---|
| 35 | S ^TMP("AWCMFTP",$J,AWCC,0)="bye"
|
---|
| 36 | ; write it to the NT directory
|
---|
| 37 | S Y=$$GTF^%ZISH($NA(^TMP("AWCMFTP",$J,1,0)),3,AWCDIRL,"ftpawc.txt")
|
---|
| 38 | ; send command to NT to execute this batch file
|
---|
| 39 | S CMD="S AWCVAR=$ZF(-1,""ftp -s:""_AWCDIRL_""\ftpawc.txt"")"
|
---|
| 40 | X CMD G EXIT
|
---|
| 41 | ;
|
---|
| 42 | VMSC ; VMS FOR CACHE MODS TO DOUBLE CHECK FOR OS
|
---|
| 43 | S VMSC=1
|
---|
| 44 | ;
|
---|
| 45 | VMS ; VMS com file script
|
---|
| 46 | ; Captive process so we give full privs
|
---|
| 47 | S AWC=1
|
---|
| 48 | K ^TMP("AWCMFTP",$J)
|
---|
| 49 | S ^TMP("AWCMFTP",$J,AWC,0)="$ set proc/priv = all"
|
---|
| 50 | S AWC=AWC+1,^TMP("AWCMFTP",$J,AWC,0)="$ set noon"
|
---|
| 51 | S AWC=AWC+1,^TMP("AWCMFTP",$J,AWC,0)="$ assign sys$command sys$input "
|
---|
| 52 | S AWC=AWC+1,^TMP("AWCMFTP",$J,AWC,0)="$ set verify"
|
---|
| 53 | S AWC=AWC+1,^TMP("AWCMFTP",$J,AWC,0)="$ a=""''f$user()'"""
|
---|
| 54 | S AWC=AWC+1,^TMP("AWCMFTP",$J,AWC,0)="$ set def "_AWCDIR
|
---|
| 55 | S AWC=AWC+1,^TMP("AWCMFTP",$J,AWC,0)="$ set prot=(w:rwed,g:rwed,o:rwed,s:rwed) "_AWCDIR_AWCHFILE
|
---|
| 56 | S AWC=AWC+1,^TMP("AWCMFTP",$J,AWC,0)="$ ftp "_AWCMSRV
|
---|
| 57 | S AWC=AWC+1,^TMP("AWCMFTP",$J,AWC,0)=AWCMUSR
|
---|
| 58 | S AWC=AWC+1,^TMP("AWCMFTP",$J,AWC,0)=AWCMPW
|
---|
| 59 | S AWC=AWC+1,^TMP("AWCMFTP",$J,AWC,0)="ascii"
|
---|
| 60 | I $G(AWCDIRCH)=1 S ^TMP("AWCMFTP",$J,AWC,0)="cd "_AWCWBFLD ;****
|
---|
| 61 | S AWC=AWC+1,^TMP("AWCMFTP",$J,AWC,0)="put "_AWCHFIL1
|
---|
| 62 | S AWC=AWC+1,^TMP("AWCMFTP",$J,AWC,0)="bye"
|
---|
| 63 | S AWC=AWC+1,^TMP("AWCMFTP",$J,AWC,0)="$ exit"
|
---|
| 64 | ; send to VMS
|
---|
| 65 | S Y=$$GTF^%ZISH($NA(^TMP("AWCMFTP",$J,1,0)),3,AWCDIR,AWCHFILE)
|
---|
| 66 | G:VMSC VMSC1
|
---|
| 67 | ;
|
---|
| 68 | ; USE $&ZLIB EXTERNAL CALLS FOR DSM/VMS
|
---|
| 69 | S CMD="S %SUBMIT=$&ZLIB.%SUBMIT"_"("""_AWCDIR_AWCHFILE_""""_","_"""/NOPRINT"_$S(AWCMVMSL=1:"/LOG="_AWCDIR_$P(AWCHFILE,".",1)_".LOG"""_")",1:"/NOLOG"""_")")
|
---|
| 70 | X CMD
|
---|
| 71 | G EXIT
|
---|
| 72 | VMSC1 ;
|
---|
| 73 | ; VMS Cache - use $ZF(-1 calls for OS commands
|
---|
| 74 | S CMD="S AWCVAR=$ZF(-1,AWCVAR)"
|
---|
| 75 | S AWCVAR="SUBMIT "_AWCDIR_AWCHFILE_"/NOPRINT"_$S(AWCMVMSL=1:"/LOG="_AWCDIR_$P(AWCHFILE,".",1)_".LOG",1:"/NOLOG")
|
---|
| 76 | X CMD
|
---|
| 77 | ;
|
---|
| 78 | EXIT K CMD,^TMP("AWCMFTP"),^TMP("AWCMFTPD"),AWCMVMSL,AWCMVMSD,AWCDTAX,AWC,AWCDIRCH
|
---|
| 79 | Q
|
---|
| 80 | ;
|
---|
| 81 | PURDEL ; purging/deletion script - whether this occurs is controlled in file 177100.12
|
---|
| 82 | ; this part creates a com file to purge or delete files we have created and then it deletes itself
|
---|
| 83 | ;
|
---|
| 84 | S AWCDTAX=$G(^AWC(177100.12,1,0))
|
---|
| 85 | S AWCMVMSL=+$P(AWCDTAX,U,16) ;VMS logging
|
---|
| 86 | S AWCMVMSD=+$P(AWCDTAX,U,18) ;VMS delete
|
---|
| 87 | S AWCHFILE="AWCPURGE.COM"
|
---|
| 88 | ; captive process again so we give full privs
|
---|
| 89 | K ^TMP("AWCMFTPD",$J)
|
---|
| 90 | S AWC=1,^TMP("AWCMFTPD",$J,AWC,0)="$ wait 00:05"
|
---|
| 91 | S AWC=AWC+1,^TMP("AWCMFTPD",$J,AWC,0)="$ set proc/priv = all"
|
---|
| 92 | S AWC=AWC+1,^TMP("AWCMFTPD",$J,AWC,0)="$ set noon"
|
---|
| 93 | S AWC=AWC+1,^TMP("AWCMFTPD",$J,AWC,0)="$ assign sys$command sys$input "
|
---|
| 94 | S AWC=AWC+1,^TMP("AWCMFTPD",$J,AWC,0)="$ set verify"
|
---|
| 95 | S AWC=AWC+1,^TMP("AWCMFTPD",$J,AWC,0)="$ a=""''f$user()'"""
|
---|
| 96 | S AWC=AWC+1,^TMP("AWCMFTPD",$J,AWC,0)="$ set def "_AWCDIR
|
---|
| 97 | S AWC=AWC+1,^TMP("AWCMFTPD",$J,AWC,0)="$ set prot=(w:rwed,g:rwed,o:rwed,s:rwed) "_AWCDIR_"AWCMOVEHTM.LOG;*"
|
---|
| 98 | S AWC=AWC+1,^TMP("AWCMFTPD",$J,AWC,0)="$ set prot=(w:rwed,g:rwed,o:rwed,s:rwed) "_AWCDIR_"AWCMOVEHTM.COM;*"
|
---|
| 99 | S AWC=AWC+1,^TMP("AWCMFTPD",$J,AWC,0)="$ set prot=(w:rwed,g:rwed,o:rwed,s:rwed) "_AWCHFIL1_";*"
|
---|
| 100 | S AWC=AWC+1,^TMP("AWCMFTPD",$J,AWC,0)="$ set prot=(w:rwed,g:rwed,o:rwed,s:rwed) "_AWCDIR_"AWCPURGE.COM;*"
|
---|
| 101 | ; purge or keep log files - 0 deletes all, 1 leaves one copy
|
---|
| 102 | I AWCMVMSL=1 S AWC=AWC+1,^TMP("AWCMFTPD",$J,AWC,0)="$ purge/keep=1 "_AWCDIR_"AWCMOVEHTM.LOG"
|
---|
| 103 | I AWCMVMSL=0 S AWC=AWC+1,^TMP("AWCMFTPD",$J,AWC,0)="$ delete "_AWCDIR_"AWCMOVEHTM.LOG;*"
|
---|
| 104 | ; purge or delete all COM versions - 0 deletes all, 1 leaves one copy
|
---|
| 105 | I AWCMVMSD=1 S AWC=AWC+1,^TMP("AWCMFTPD",$J,AWC,0)="$ delete "_AWCDIR_"AWCMOVEHTM.COM;*"
|
---|
| 106 | I AWCMVMSD=0 S AWC=AWC+1,^TMP("AWCMFTPD",$J,AWC,0)="$ purge/keep=1 "_AWCDIR_"AWCMOVEHTM.COM;*"
|
---|
| 107 | ; delete the web pages - automatic, not user controlled
|
---|
| 108 | ; patch 103 change for RDPC environment jls/oak-oifo 10/2006
|
---|
| 109 | ;S AWC=AWC+1,^TMP("AWCMFTPD",$J,AWC,0)="$ delete "_$P(AWCHFIL1,"_",1)_"*.*;*"
|
---|
| 110 | S AWC=AWC+1,^TMP("AWCMFTPD",$J,AWC,0)="$ delete "_AWCDIR_$P(AWCDTAX,U,6)_"*.*;*"
|
---|
| 111 | S AWC=AWC+1,^TMP("AWCMFTPD",$J,AWC,0)="$ exit"
|
---|
| 112 | ; send to VMS
|
---|
| 113 | S Y=$$GTF^%ZISH($NA(^TMP("AWCMFTPD",$J,1,0)),3,AWCDIR,AWCHFILE)
|
---|
| 114 | I AWCX="VMS" S CMD="S %SUBMIT=$&ZLIB.%SUBMIT"_"("""_AWCDIR_AWCHFILE_""""_","_"""/DELETE /NOPRINT /NOLOG"""_")"
|
---|
| 115 | I AWCX="VMSC" S CMD="S AWCVAR=$ZF(-1,AWCVAR)"
|
---|
| 116 | I AWCX="VMSC" S AWCVAR="SUBMIT "_AWCDIR_AWCHFILE_"/DELETE /NOPRINT /NOLOG"
|
---|
| 117 | X CMD
|
---|
| 118 | Q
|
---|