1 | XMAFTP ;(WASH ISC)/TCPIP-FTP Options ;04/17/2002 07:29
|
---|
2 | ;;8.0;MailMan;;Jun 28, 2002
|
---|
3 | ; Entry points used by MailMan options (not covered by DBIA):
|
---|
4 | ; GET XM-FTP-GET
|
---|
5 | ; PUT XM-FTP-PUT
|
---|
6 | Q
|
---|
7 | GO ;Come here from GET or PUT (see tags below)
|
---|
8 | I ^%ZOSF("OS")'["VAX DSM" W !!,"Sorry...this option only works for VAX DSM" Q
|
---|
9 | N $ETRAP,$ESTACK S $ETRAP=""
|
---|
10 | S X="EXIT^XMAFTP",@^%ZOSF("TRAP")
|
---|
11 | N DIC,DIE,DIK,DD,DO,DTOUT,DUOUT,XMAFTP S XMAFTP=Z
|
---|
12 | S DIC="^XMBX(4.2995,",DIC(0)="AEQFZ",X="TMP"_$P($H,",",2)
|
---|
13 | S DIC("DR")="1///"_($H*86400+$P($H,",",2))_";2///"_$S($G(XMDUZ):XMDUZ,1:DUZ)_";4///"_Z
|
---|
14 | K DD,DO D FILE^DICN K DD,DO
|
---|
15 | Q:Y<0 S DIE=DIC,DA=+Y
|
---|
16 | S DIE("NO^")="BACKOUTOK"
|
---|
17 | ;
|
---|
18 | ;Ask data according to Get or Put option
|
---|
19 | S DR=$S(XMAFTP=1:"12;13;10;11;7;8;9",XMAFTP=2:"10;11;12;13;7;8;9",1:"")
|
---|
20 | G EXIT:DR=""
|
---|
21 | D ^DIE
|
---|
22 | G EXIT:$S(X="":1,$D(DTOUT):1,$D(DUOUT):1,1:0)
|
---|
23 | D SETXMF
|
---|
24 | W !!,"In process...it will take a little time to complete the transmission."
|
---|
25 | D FTP K XMSFTP
|
---|
26 | Q
|
---|
27 | EXIT S DIK="^XMBX(4.2995," D ^DIK
|
---|
28 | I '$D(ZTQUEUED),'$D(XMCHAN) W !!,"Process Aborted !!!",$C(7)
|
---|
29 | Q
|
---|
30 | SETXMF ;Set up XMSFTP array to use when doing tag FTP
|
---|
31 | S %1=$G(^XMBX(4.2995,DA,1))
|
---|
32 | S XMSFTP(4)=$P(%1,U,4)
|
---|
33 | S XMSFTP(5)=$P(%1,U,5)
|
---|
34 | 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)
|
---|
35 | 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)
|
---|
36 | Q
|
---|
37 | FTP ;Set up 4.2995 entry and XMnn.COM file
|
---|
38 | N XMIO S XMIO=$I
|
---|
39 | S (XMSFTP,X)=$G(^XMBX(4.2995,"F",0))+1,^(0)=X
|
---|
40 | S FILE="XM"_X_".COM" O FILE:NEW U FILE
|
---|
41 | W "$! FTP COM procedure for fetching file from server and sending it",!
|
---|
42 | W "$ set noon",!
|
---|
43 | W "$ assign/user nla0: sys$output",! ; Turn off echo
|
---|
44 | W "$ assign/user sys$input sys$command",!
|
---|
45 | I $L($G(XMSFTP(3))),$L($G(XMSFTP(2))) W "$ set def "_XMSFTP(2),!
|
---|
46 | I $L($G(XMSFTP(1))),$L($G(XMSFTP(10))) W "$ set def "_XMSFTP(10),!
|
---|
47 | W "$ FTP=""$TWG$TCP:[NETDIST.USER]FTP",!
|
---|
48 | W "$ FTP "
|
---|
49 | I $L($G(XMSFTP(1))) W XMSFTP(1),!
|
---|
50 | E W XMSFTP(3),!
|
---|
51 | S %2=$G(XMSFTP(4)) W %2,!
|
---|
52 | S %2=$G(XMSFTP(5)) I $L(%2) W %2,!
|
---|
53 | W "bin",!
|
---|
54 | TT I XMAFTP=1 D
|
---|
55 | .I $L($G(XMSFTP(2))) W "cd "_XMSFTP(2),!
|
---|
56 | .W "get "_XMSFTP(2,"F")_" "_$G(XMSFTP(9)),!
|
---|
57 | I XMAFTP=2 D
|
---|
58 | .I $L($G(XMSFTP(10))) W "cd "_XMSFTP(10),!
|
---|
59 | .W "put "_XMSFTP(2,"F")_" "_$G(XMSFTP(9)),!
|
---|
60 | W "quit",!
|
---|
61 | S DIE="^XMBX(4.2995,",DR=".01////"_FILE D ^DIE
|
---|
62 | C FILE
|
---|
63 | K FILE
|
---|
64 | U XMIO
|
---|
65 | Q
|
---|
66 | GET ;Entry for GET option
|
---|
67 | N Z S Z=1 G GO
|
---|
68 | PUT ;Entry for PUT option
|
---|
69 | N Z S Z=2 G GO
|
---|