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

XMAFTP.m

Go to the documentation of this file.
  1. XMAFTP ;(WASH ISC)/TCPIP-FTP Options ;04/17/2002 07:29
  1. ;;8.0;MailMan;;Jun 28, 2002
  1. ; Entry points used by MailMan options (not covered by DBIA):
  1. ; GET XM-FTP-GET
  1. ; PUT XM-FTP-PUT
  1. Q
  1. GO ;Come here from GET or PUT (see tags below)
  1. I ^%ZOSF("OS")'["VAX DSM" W !!,"Sorry...this option only works for VAX DSM" Q
  1. N $ETRAP,$ESTACK S $ETRAP=""
  1. S X="EXIT^XMAFTP",@^%ZOSF("TRAP")
  1. N DIC,DIE,DIK,DD,DO,DTOUT,DUOUT,XMAFTP S XMAFTP=Z
  1. S DIC="^XMBX(4.2995,",DIC(0)="AEQFZ",X="TMP"_$P($H,",",2)
  1. S DIC("DR")="1///"_($H*86400+$P($H,",",2))_";2///"_$S($G(XMDUZ):XMDUZ,1:DUZ)_";4///"_Z
  1. K DD,DO D FILE^DICN K DD,DO
  1. Q:Y<0 S DIE=DIC,DA=+Y
  1. S DIE("NO^")="BACKOUTOK"
  1. ;
  1. ;Ask data according to Get or Put option
  1. S DR=$S(XMAFTP=1:"12;13;10;11;7;8;9",XMAFTP=2:"10;11;12;13;7;8;9",1:"")
  1. G EXIT:DR=""
  1. D ^DIE
  1. G EXIT:$S(X="":1,$D(DTOUT):1,$D(DUOUT):1,1:0)
  1. D SETXMF
  1. W !!,"In process...it will take a little time to complete the transmission."
  1. D FTP K XMSFTP
  1. Q
  1. EXIT S DIK="^XMBX(4.2995," D ^DIK
  1. I '$D(ZTQUEUED),'$D(XMCHAN) W !!,"Process Aborted !!!",$C(7)
  1. Q
  1. SETXMF ;Set up XMSFTP array to use when doing tag FTP
  1. S %1=$G(^XMBX(4.2995,DA,1))
  1. S XMSFTP(4)=$P(%1,U,4)
  1. S XMSFTP(5)=$P(%1,U,5)
  1. I XMAFTP=1 S XMSFTP(1)=$P(%1,U,6),XMSFTP(2)=$P(%1,U,10),XMSFTP(2,"F")=$P(%1,U,9),XMSFTP(9)=$P(%1,U,7),XMSFTP(10)=$P(%1,U,8)
  1. I XMAFTP=2 S XMSFTP(3)=$P(%1,U,6),XMSFTP(2)=$P(%1,U,8),XMSFTP(2,"F")=$P(%1,U,7),XMSFTP(9)=$P(%1,U,9),XMSFTP(10)=$P(%1,U,10)
  1. Q
  1. FTP ;Set up 4.2995 entry and XMnn.COM file
  1. N XMIO S XMIO=$I
  1. S (XMSFTP,X)=$G(^XMBX(4.2995,"F",0))+1,^(0)=X
  1. S FILE="XM"_X_".COM" O FILE:NEW U FILE
  1. W "$! FTP COM procedure for fetching file from server and sending it",!
  1. W "$ set noon",!
  1. W "$ assign/user nla0: sys$output",! ; Turn off echo
  1. W "$ assign/user sys$input sys$command",!
  1. I $L($G(XMSFTP(3))),$L($G(XMSFTP(2))) W "$ set def "_XMSFTP(2),!
  1. I $L($G(XMSFTP(1))),$L($G(XMSFTP(10))) W "$ set def "_XMSFTP(10),!
  1. W "$ FTP=""$TWG$TCP:[NETDIST.USER]FTP",!
  1. W "$ FTP "
  1. I $L($G(XMSFTP(1))) W XMSFTP(1),!
  1. E W XMSFTP(3),!
  1. S %2=$G(XMSFTP(4)) W %2,!
  1. S %2=$G(XMSFTP(5)) I $L(%2) W %2,!
  1. W "bin",!
  1. TT I XMAFTP=1 D
  1. .I $L($G(XMSFTP(2))) W "cd "_XMSFTP(2),!
  1. .W "get "_XMSFTP(2,"F")_" "_$G(XMSFTP(9)),!
  1. I XMAFTP=2 D
  1. .I $L($G(XMSFTP(10))) W "cd "_XMSFTP(10),!
  1. .W "put "_XMSFTP(2,"F")_" "_$G(XMSFTP(9)),!
  1. W "quit",!
  1. S DIE="^XMBX(4.2995,",DR=".01////"_FILE D ^DIE
  1. C FILE
  1. K FILE
  1. U XMIO
  1. Q
  1. GET ;Entry for GET option
  1. N Z S Z=1 G GO
  1. PUT ;Entry for PUT option
  1. N Z S Z=2 G GO