1 | ZIBGSVED ; IHS/ADC/GTH - SAVE GLOBAL TO TAPE, DSM SPECIFIC ; [ 02/07/97 3:02 PM ]
|
---|
2 | ;;4.0;XB;;Jul 20, 2009;Build 2
|
---|
3 | ;
|
---|
4 | I $G(XBFLT) S XBFLG=-1,XBFLG(0)="DSM flat filer has not been tested." Q
|
---|
5 | G:$D(XBMED) NOSELT
|
---|
6 | ASK ;
|
---|
7 | R !!,"Copy transaction file to ('^' To Exit Without Saving)",!!?10,"[T]ape, [C]artridge C// ",XBMED:DTIME
|
---|
8 | S XBMED=$$UP^XLFSTR($E(XBMED_"C"))
|
---|
9 | I U[XBMED S XBFLG(1)="Job Terminated by Operator at Device Select",XBFLG=-1 G END
|
---|
10 | G HELP:"?"[XBMED,ASK:'("CT"[XBMED)
|
---|
11 | NOSELT ;
|
---|
12 | S IO=XBIO
|
---|
13 | D TAPE:"T"[XBMED,CART:"C"[XBMED
|
---|
14 | Q
|
---|
15 | ;
|
---|
16 | HELP ;
|
---|
17 | W !!,"This option saves the ' ",XBNAR," ",XBGL,"' transaction file to either a Cartridge",!,"or 9-Track Tape. The default is to a 9-Track Tape."
|
---|
18 | W !,"Enter either a ""C"" for Cartridge Tape or a ""T"" for 9-Track Tape."
|
---|
19 | G ASK
|
---|
20 | ;
|
---|
21 | CART ;
|
---|
22 | S XBIO=47,XBMSG="Cartridge"
|
---|
23 | G PROCESS
|
---|
24 | TAPE ;
|
---|
25 | S XBIO=48,XBMSG="9-Track"
|
---|
26 | PROCESS ;
|
---|
27 | S IOP=XBIO
|
---|
28 | D ^%ZIS
|
---|
29 | KILL IOP
|
---|
30 | S:'$D(XBPAR) XBPAR=IOPAR
|
---|
31 | I POP S XBFLG(1)=XBMSG_" Drive Not Available",XBFLG=-1 U IO(0) W !,XBFLG(1) G END
|
---|
32 | U IO
|
---|
33 | X ^%ZOSF("MAGTAPE")
|
---|
34 | W @%MT("REW")
|
---|
35 | U IO(0)
|
---|
36 | W !!,"Mount The ",XBMSG," Tape 'WRITE ENABLED' And "
|
---|
37 | RETRY ;
|
---|
38 | R !?10,"Press RETURN When Ready - ""^"" to Exit ",X:DTIME
|
---|
39 | I X=U!('$T) S XBFLG(1)="Job Aborted by Operator During Tape Mount",XBFLG=-1 G CLOSE
|
---|
40 | U IO
|
---|
41 | X ^%ZOSF("MTONLINE")
|
---|
42 | I 'Y U IO(0) W !!,"WAITING FOR TAPE"
|
---|
43 | F I=1:1:75 U IO X ^%ZOSF("MTONLINE") G S9:Y U IO(0) W "." H 5
|
---|
44 | U IO(0)
|
---|
45 | W !!,XBFLG(1)," After 6 Minutes"
|
---|
46 | S XBFLG(1)="Job Aborted, Tape not Ready",XBFLG=-1
|
---|
47 | G END
|
---|
48 | ;
|
---|
49 | S9 ;
|
---|
50 | U IO
|
---|
51 | X ^%ZOSF("MTWPROT")
|
---|
52 | G WRITPROT:Y
|
---|
53 | U IO(0)
|
---|
54 | W !,"Please Standby - Copying Data to ",XBMSG
|
---|
55 | U IO
|
---|
56 | D SAVEDSM
|
---|
57 | G CLOSE:$D(XBFLG),EXIT
|
---|
58 | ;
|
---|
59 | WRITPROT ;
|
---|
60 | U IO(0)
|
---|
61 | W *7,!!," The Tape Is WRITE PROTECTED. Please Remove The Tape,"
|
---|
62 | W !," And Re-position The Write Protect/Enable Switch.",!," "
|
---|
63 | G RETRY
|
---|
64 | ;
|
---|
65 | EXIT ;
|
---|
66 | X ^%ZOSF("MAGTAPE")
|
---|
67 | U IO
|
---|
68 | W @%MT("WTM"),@%MT("REW")
|
---|
69 | U IO(0)
|
---|
70 | W !!,"Rewinding tape. <WAIT>"
|
---|
71 | F L=1:1:150 U IO X ^%ZOSF("MTBOT") G:Y GOODREW U IO(0) W "." H 2
|
---|
72 | S XBFLG=-1,XBFLG(1)="Tape not rewound"
|
---|
73 | U IO(0)
|
---|
74 | W !!,XBFLG(1),*7
|
---|
75 | G CLOSE
|
---|
76 | ;
|
---|
77 | GOODREW ;
|
---|
78 | U IO(0)
|
---|
79 | W !!,"Remove the tape... Press RETURN when Ready:"
|
---|
80 | R X:DTIME
|
---|
81 | CLOSE ;
|
---|
82 | D ^%ZISC
|
---|
83 | U IO(0)
|
---|
84 | END ;
|
---|
85 | KILL XBMSG,%MT
|
---|
86 | Q
|
---|
87 | ;
|
---|
88 | SAVEDSM ;
|
---|
89 | W XBDT
|
---|
90 | W:XBPAR'["V" !
|
---|
91 | W XBTLE
|
---|
92 | W:XBPAR'["V" !
|
---|
93 | S X=XBGL_XBF_")"
|
---|
94 | F S X=$Q(@X) Q:X="" Q:(XBE]"")&($P($P(X,"(",2),",")>XBE) S Y=X S:$E(Y,2)="[" Y=U_$P(Y,"]",2,999) W Y W:XBPAR'["V" ! W @X W:XBPAR'["V" !
|
---|
95 | W "**END**" W:XBPAR'["V" !
|
---|
96 | W "**END**" W:XBPAR'["V" !
|
---|
97 | Q
|
---|
98 | ;
|
---|