1 | AAQDIRXM ;FGO/JHS;Directory Listing via MailMan ; 09-03-98 [2/26/04 11:32am]
|
---|
2 | ;;1.0;AAQ LOCAL;;09-03-98;For Kernel V8.0 and OpenM-NT
|
---|
3 | I ^%ZOSF("OS")'["OpenM-NT" W $C(7),!,"This routine should be run only on Alpha OpenM-NT systems! Halting.",! H 1 Q
|
---|
4 | I '$D(DTIME) W !,"DTIME is not set. Calling XUP to set up required variables.",!,"Press RETURN at the Select OPTION NAME: prompt.",!! D ^XUP
|
---|
5 | W !!,"This will List Files in a Selected Directory on an Alpha-NT",!,"system, and send the output to you in a MailMan message."
|
---|
6 | D UCI^%ZOSV S AAQUCI=Y,AAQX=$$NOW^XLFDT W !!,^DD("SITE")," ",AAQUCI," ",$$FMTE^XLFDT(AAQX),!!,"The DOWNLOAD Directory for this system will be the default."
|
---|
7 | W !!,"The default for this Site and UCI is: "
|
---|
8 | TST I AAQUCI="TST,ROU" S AAQDISK="Y:\",AAQDIR="DOWNLOAD\" W AAQDISK_AAQDIR G ASKOK
|
---|
9 | VAH I AAQUCI="VAH,ROU" S AAQDISK="T:\",AAQDIR="TEMP\" W AAQDISK_AAQDIR
|
---|
10 | ASKOK S %=1 W !,"Is this the correct directory" D YN^DICN G:%=1 INFO I %=0 W !!,"This routine will not work correctly if directory names are wrong." G ASKOK
|
---|
11 | S AAQDIR="" W !!,"A null response or '^' for Drive will exit the routine.",!,"A null response is allowed for Directory, '^' will exit."
|
---|
12 | ASKDISK R !!,"Enter Drive Letter with colon and backslash: ",AAQDISK:60 G:(AAQDISK="^")!(AAQDISK="") KILL I AAQDISK'?1A1":\" W $C(7),!!,"Answer must be one letter, a colon, and backslash." G ASKDISK
|
---|
13 | ASKDIR R !!,"Enter Directory with trailing backslash: ",AAQDIR:60 G:AAQDIR="^" EXIT G:AAQDIR="" INFO I AAQDIR'?.E1"\" W $C(7),!!,"Answer must include a trailing backslash unless null." G ASKDIR
|
---|
14 | INFO W !!,"Directory Listing will be sent by MailMan to your IN Basket."
|
---|
15 | W !,"An invalid path, or any failure to open the directory log file,",!,"will result in an alert and a message missing the file list.",!
|
---|
16 | S (AAQFAIL,ALERT,CNT)=0,DIRLOG=AAQDISK_AAQDIR_"AAQDIR.LOG"
|
---|
17 | O DIRLOG:"WA":5 I $T=0 S ALERT=1 D MSG(DIRLOG,ALERT) G EXIT
|
---|
18 | U DIRLOG S AAQX=$$NOW^XLFDT W !,^DD("SITE")," ",AAQUCI," ",$$FMTE^XLFDT(AAQX),!
|
---|
19 | S AAQFN="*.*",AAQFILE=$ZSEARCH(AAQDISK_AAQDIR_AAQFN)
|
---|
20 | F Q:AAQFILE="" D S AAQFILE=$ZSEARCH("")
|
---|
21 | . I AAQFILE=(AAQDISK_AAQDIR_".") Q
|
---|
22 | . I AAQFILE=(AAQDISK_AAQDIR_"..") Q
|
---|
23 | . U DIRLOG W !," ",AAQFILE S CNT=CNT+1
|
---|
24 | . Q
|
---|
25 | U DIRLOG W !!,"The number of files is: "_CNT
|
---|
26 | C DIRLOG
|
---|
27 | D MSG(DIRLOG,ALERT)
|
---|
28 | I '$D(XMZ) D FAILED
|
---|
29 | G EXIT
|
---|
30 | MSG(DIRLOG,ALERT) ;
|
---|
31 | ; 0 (no alert) or 1 (send alert)
|
---|
32 | S $ZT=$G(^%ZOSF("ERRTN"))
|
---|
33 | S U="^",AAQTEXT="",AAQLOGOK=1
|
---|
34 | I $G(DIRLOG)'="" D
|
---|
35 | .O DIRLOG:"R":5
|
---|
36 | .I '$T S AAQLOGOK=0
|
---|
37 | .I 'AAQLOGOK D
|
---|
38 | ..S AAQTEXT(1,0)="Log file: "_DIRLOG_" could not be opened!"
|
---|
39 | I $G(DIRLOG)="" D
|
---|
40 | .S AAQLOGOK=0
|
---|
41 | .S AAQTEXT(1,0)="No AAQDIR.LOG file was created! Please check"
|
---|
42 | .S AAQTEXT(2,0)=" the "_AAQDISK_AAQDIR_" directory to confirm."
|
---|
43 | I AAQLOGOK D TEXT
|
---|
44 | S AAQNOW=$$NOW^XLFDT,AAQDATE=$$FMTE^XLFDT(AAQNOW)
|
---|
45 | S XMDUZ=DUZ,XMSUB=AAQUCI_" Directory Listing for "_AAQDISK_AAQDIR_" "_AAQDATE
|
---|
46 | S XMY(DUZ)="",XMTEXT="AAQTEXT("
|
---|
47 | D ^XMD
|
---|
48 | ; Send An Alert
|
---|
49 | I $G(ALERT)=1 D
|
---|
50 | .S XQA(DUZ)=""
|
---|
51 | .S XQAMSG="AAQDIR.LOG Problem - See Directory Listing Message #"_XMZ
|
---|
52 | .D SETUP^XQALERT
|
---|
53 | .K XQA,XQAMSG
|
---|
54 | Q
|
---|
55 | TEXT S $ZT="ENDLOG"
|
---|
56 | S AAQLINE=0
|
---|
57 | F U DIRLOG R X:DTIME S AAQLINE=AAQLINE+1,AAQTEXT(AAQLINE,0)=X
|
---|
58 | ENDLOG C DIRLOG
|
---|
59 | S $ZT=$G(^%ZOSF("ERRTN"))
|
---|
60 | Q
|
---|
61 | FAILED S ALERT=1
|
---|
62 | O DIRLOG:"WA":5 I $T=0 D MSG(DIRLOG,ALERT) Q
|
---|
63 | U DIRLOG W !!,"Directory Message Failed."
|
---|
64 | D MSG(DIRLOG,ALERT) I $T=0 S AAQFAIL=1
|
---|
65 | I AAQFAIL=1 U DIRLOG W !!,"AAQDIRXM unable to create Alert."
|
---|
66 | C DIRLOG S AAQFAIL=1 ;AAQDIR.LOG is not deleted when Failed
|
---|
67 | Q
|
---|
68 | EXIT G:AAQFAIL=1 KILL S AAQFN="AAQDIR.LOG",AAQFILE=$ZSEARCH(AAQDISK_AAQDIR_AAQFN) G:AAQFILE="" KILL S X=$ZF(-1,"DEL "_AAQFILE)
|
---|
69 | KILL K %,%Y,AAQDATE,AAQDIR,AAQDISK,AAQFAIL,AAQFILE,AAQFN,AAQLINE,AAQLOGOK,AAQNOW,AAQTEXT,AAQUCI,AAQX,ALERT,CNT,DIRLOG,X,XMDUZ,XMSUB,XMTEXT,XMY,XMZ,Y
|
---|
70 | Q
|
---|