image of READY prompt

Wang2200.org

Listing of file='B327045' on disk='vmedia/bsc_3271_rel_1.14.04.wvd.zip'

# Sector 1072, program filename = 'B327045'
0010 REM B327045 12/22/82 Off-Delete
   : GOTO 17
   : ON AGOTO 20
0017 COM V0$(25)80,V1$(24)82
   : COM A8,A9,B1,B1$5,B2,B2$5,B9,D$3,I,K1,M$2,Q,R,R8,R9,S1,T8,T9,Z,Z4,Z5,Z7,Z
     9
0020 COM R$18,R$(30)40,R0$83,R0$(3)83,R1$1,R3$(3)83,R4$3,R8$1,R8$(50)4,R9$(50)
     40,Q$(120)3,Q8$100,Q8$(50)2,S1$1,S1$(3)80,T,Z6$1
   : T=0
0230 SELECT @PART"3270UNIV"
0240 PRINT HEX(03);"3270";
   : IF E0$(5)="A"THEN PRINT " Active";
   : PRINT " Spooler File Off-line Delete Utility  ('0 = Exit)"
   : PRINT
   : PRINT "Reading REPORT name file"
   : IF T=6THEN 280
   : T=6
   : GOSUB 370
0280 GOSUB 1270
   : GOTO 280
0300 DEFFN'0
   : IF K1=4THEN GOSUB 315
   : C$="C"
   : B=0
   : K1=0
0310 PRINT HEX(06);AT(T,0,4*80);"   Type A or C"
   : PRINT "   A = Abort  - Exit delete utility"
   : PRINT "   C = Continue in delete utility  - Return to prompt 1";
   : PRINT AT(T,0)
   : LINPUT -C$
   : ON POS("AC"=C$)+1GOTO 310,330,1310
   : STOP
0315 R1$="1"
   : GOSUB 950
   : RETURN
0330 PRINT HEX(03);"Terminating DELETE and returning to START"
   : PRINT
   : GOSUB 370
   : $CLOSE
   : IF STR(@P$(5),24,6)<>"Delete"THEN 340
   : STR(@P$(5),24,9)="Active"
   : FOR A=1TO 4
   : IF STR(@D$(8+A),2,1)=HEX(20)THEN BIN(STR(@A$,20+A,1))=#TERM+48
   : NEXT A
0340 RETURN CLEAR ALL
   : COM CLEAR B$
   : LOAD DC T#0,N$(1)
0370 DATA LOAD DC OPEN T#2,S0$
   : DSKIP #2,1S
   : GOSUB 430
   : GOSUB 500
   : R9=A
   : RETURN
0430 INIT(20)Q$()
   : Q=0
   : FOR A=1TO 4
   : MAT REDIM R0$(3)83
   : DATA LOAD DC #2,R0$()
   : IF R0$(1)<>" "THEN GOSUB 460
   : NEXT A
   : RETURN
0460 MAT REDIM R0$(30)8
   : FOR B=2TO 29
   : R$=R0$(B)
   : IF R$<>" "THEN GOSUB 480
   : NEXT B
   : RETURN
0480 Q=Q+1
   : R$=R0$(B)
   : C$=STR(R$,8)
   : Q$(Q)=C$&STR(R$,1)
   : IF C$<HEX(80)THEN RETURN
   : AND (C$,STR(R$,2))
   : Q$(Q)=C$&STR(R$,3)
   : RETURN
0500 MAT REDIM R0$(3)83
   : A,C=0
   : INIT(" ")R$()
0510 DATA LOAD DC #2,R0$()
   : IF END THEN 550
   : B=1
0520 A$=R0$(B)
   : IF A$=" "THEN 550
   : C$=STR(A$,24,1)
   : IF C$=" "THEN C=C+1
   : A=A+1
   : STR(R$(),A*3-2,3)=C$&BIN(A,2)
   : B=B+1
   : IF B<4THEN 520
   : GOTO 510
0550 PRINT C;" Reports have to be removed from file"
   : IF C=0THEN RETURN
   : A9=A
   : A8=C
   : A=1
   : PRINT "Remove ";A8;" items from list of ";A9
   : FOR B=1TO A9
   : C$,A$=STR(R$(),B*3-2,3)
   : IF C$=" "THEN 630
   : STR(R$(),A*3-2,3)=STR(R$(),B*3-2,3)
   : A=A+1
0630 NEXT B
   : STR(R$(),A*3-2)=" "
   : DBACKSPACE #2,BEG
   : DSKIP #2,1S
   : GOSUB 770
   : GOSUB 900
   : GOTO 370
0770 IF Q>0THEN 790
   : DSKIP #2,4S
   : RETURN
0790 FOR A=1TO 4
   : MAT REDIM R0$(3)83
   : DATA LOAD DC #2,R0$()
   : IF R0$()<>" "THEN GOSUB 810
   : NEXT A
   : RETURN
0810 MAT REDIM R0$(30)8
   : FOR B=2TO 29
   : R$=R0$(B)
   : IF R$<>" "THEN GOSUB 860
   : NEXT B
   : DBACKSPACE #2,1S
   : MAT REDIM R0$(3)83
   : DATA SAVE DC #2,R0$()
   : RETURN
0860 C$=STR(R$,8)
   : AND (C$,80)
   : IF C$=HEX(80)THEN RETURN
   : A=0
0880 A=A+1
   : IF A>A9THEN RETURN
   : IF STR(R$(),A*3-1,2)<>STR(R$,1,2)THEN 880
   : STR(R0$(B),1,2)=BIN(A,2)
   : RETURN
0900 MAT REDIM R0$(3)83
   : INIT(" ")R3$()
   : DBACKSPACE #2,BEG
   : DSKIP #2,5S
   : SELECT #3<D1$>
   : DATA LOAD DC OPEN T#3,S0$
   : DSKIP #3,5S
   : B=0
0905 DATA LOAD DC #2,R0$()
   : IF END THEN 925
   : A=0
0910 A=A+1
   : IF STR(R0$(A),24,1)=" "THEN 920
   : B=B+1
   : IF B<4THEN 915
   : DATA SAVE DC #3,R3$()
   : INIT(" ")R3$()
   : B=1
0915 R3$(B)=R0$(A)
0920 IF A<3THEN 910
   : GOTO 905
0925 DATA SAVE DC #3,R3$()
   : INIT(" ")R3$()
   : FOR A=1TO A8STEP 3
   : DATA SAVE DC #3,R3$()
   : NEXT A
   : RETURN
0950 A=0
   : DATA LOAD DC OPEN T#2,S0$
0960 DSKIP #2,5S
   : T8=A
   : T9=R9
   : R=0
   : IF T9>22THEN T9=22
   : IF K1=4THEN 985
   : PRINT AT(T+4,0,13*80);
0985 PRINT AT(T+4,0);
   : GOSUB 1210
0990 DATA LOAD DC #2,R0$()
   : IF END THEN 1030
   : IF R0$(1)=" "THEN 1030
   : GOSUB 1060
   : IF R0$(2)=" "THEN 1030
   : GOSUB 1060
   : IF R0$(3)=" "THEN 1030
   : GOSUB 1060
   : IF R<T9THEN 990
1030 Z7=R
   : RETURN
1060 A$=R0$(MOD(A,3)+1)
   : A=A+1
   : IF STR(A$,24,1)=" "THEN RETURN
   : C$=" "
   : IF R1$<>"2"THEN 1150
   : IF STR(A$,24,1)<>S1$THEN RETURN
   : D$=HEX(40)&BIN(A,2)
   : MAT SEARCHQ$()<1,Q*3>,=D$TO M$STEP 3
   : IF M$<>HEX(0000)THEN 1105
   : D$=HEX(00)&BIN(A,2)
   : MAT SEARCHQ$()<1,Q*3>,=D$TO M$STEP 3
   : IF M$=HEX(0000)THEN 1130
1105 C$="Q"
   : IF B9>0THEN 1130
   : CONVERT STR(A$,26,3)TO B9
   : CONVERT B9-1TO B2$,(###)
1120 % ### ##################  # # ### - ### !
1130 INIT(00)W$
   : PRINTUSING TO W$,1120,A,STR(A$,1,18),STR(A$,24,1),C$,STR(A$,26,3),STR(A$,
     30,3);
   : GOTO 1205
1150 D$=HEX(40)&BIN(A,2)
   : MAT SEARCHQ$()<1,Q*3>,=D$TO M$STEP 3
   : IF M$=HEX(0000)THEN 1160
   : C$="D"
   : S1$="Q"
   : GOTO 1200
1160 S1$=" "
   : D$=HEX(00)&BIN(A,2)
   : MAT SEARCHQ$()<1,Q*3>,=D$TO M$STEP 3
   : IF M$>HEX(0000)THEN S1$="Q"
   : IF S1$<>" "THEN 1200
   : C$=STR(A$,20,1)
1190 % ### ##################  #    #     #  !
1200 INIT(00)W$
   : PRINTUSING TO W$,1190,A,STR(A$,1,18),STR(A$,24),S1$,C$;
1205 R=R+1
   : IF STR(A$,30,3)="000"THEN STR(W$,3,1)="*"
   : R$(R)=STR(W$,3)
   : RETURN
1210 IF R1$<>"2"THEN 1240
   : PRINT " No.   Report name    Stream  Blocks   !";
   : PRINT " No.   Report name    Stream  Blocks   !"
   : RETURN
1240 PRINT " No.   Report name    Stream  List Del? ";
   : PRINT " No.   Report name    Stream  List Del? "
   : RETURN
1270 R1$="?"
   : R$(),D$,C$=" "
   : R8,R=0
   : SELECT PRINT 005
   : PRINT HEX(03);"3270";
   : IF E0$(5)="A"THEN PRINT " Active";
   : PRINT " Spooler File Off-line Delete Utility  ('0 = Exit)"
   : PRINT
   : PRINTUSING 1290,D1$,"Spooler disk address",R1$,"Delete mode"
   : PRINTUSING 1290,S$,"Spooler file name"
   : PRINT R9;TAB(10);"= No. reports available"
1290 % ######## = #####################        ###### = ######################
     #
1300 GOSUB 950
1310 PRINT AT(T,0);BOX(3,79)
1330 PRINT AT(T,1,3*80);"    Key delete mode         Scroll list  '11=Up   '12
     =Down   '13=Top"
   : PRINT "  1 = REPORT mode - Delete by report name regardless of stream "
   : PRINT "  2 = STREAM mode - Delete by block number within a single stream"
   : C$,R1$="?"
   : R4$=" "
1350 PRINT AT(2,50,23);"Delete mode"
   : PRINT AT(3,48,30);" "
   : PRINT AT(3,41,3);R4$
   : PRINT AT(4,41,38);" "
   : PRINT AT(10,1);STR(R$(),1,12*80);HEX(010D)
   : PRINT AT(2,41);
   : K1=0
   : GOTO 2680
1360 IF C$<"1"OR C$>"2"THEN 1350
   : R1$=C$
   : ON VAL(R1$)-48GOTO 1380,2080
   : GOTO 1350
1380 PRINT AT(2,57);"by REPORT"
   : IF R8=0THEN GOSUB 1710
1425 R$,R4$="?"
   : R8$="N"
   : PRINT AT(T,1,80);R4$;TAB(5);"Key report number    '0 = Exit delete utilit
     y or Continue at prompt 1";
   : PRINT AT(3,48,30);"= Report number"
   : IF K1=0THEN PRINT AT(T+1,1,80);" "
   : IF R8=0THEN 1431
   : PRINT AT(T+2,1,80);"    Key space RETURN to execute or to resume or reset
      list"
   : GOTO 1440
1431 PRINT AT(T+2,1,80);"    Key space RETURN to return to prompt 1"
1440 PRINT AT(3,40);
   : LINPUT ?-R4$
   : IF R4$=" "THEN 1620
   : IF R4$="?"THEN 1440
   : CONVERT R4$TO A
   : ERRORGOTO 1440
1450 IF A<1OR A>R9THEN 1535
   : DBACKSPACE #2,BEG
   : DSKIP #2,INT((A+2)/3)+4S
   : DATA LOAD DC #2,R0$()
   : CONVERT ATO R4$,(###)
   : IF A<1000THEN STR(R4$,1,POS(R4$<>30)-1)=" "
   : C$=" "
   : D$=HEX(00)&BIN(A,2)
   : MAT SEARCHQ$()<1,Q*3>,=D$TO M$STEP 3
   : IF M$>HEX(0000)THEN C$="Q"
   : D$=HEX(40)&BIN(A,2)
   : MAT SEARCHQ$()<1,Q*3>,=D$TO M$STEP 3
   : IF M$>HEX(0000)THEN C$="Q"
1470 R$,R0$=R0$(MOD(A-1,3)+1)
   : PRINT AT(4,41,38);"Name   = ";STR(R$,1,18);" ";C$
   : B=0
1490 B=B+1
   : IF B>24THEN 1560
   : A$=R$(B)
   : IF STR(A$,2,3)<>R4$THEN 1490
   : IF C$=" "THEN 1500
   : PRINT AT(T+1,1,80);"    *** Unable to delete - Requested report is queued
      for listing"
   : K1=1
   : GOTO 1425
1500 IF STR(A$,26,1)=" "THEN 1530
1510 PRINT AT(T,1,3*80);"Add to delete list?      '0 = Exit delete utility or
     Continue at prompt 1"
   : PRINT HEX(06);
   : PRINT AT(T+1,2,2);"    Type  1=Yes  2=No";
   : IF STR(A$,1,1)=" "THEN 1520
   : PRINT "  3=Remove report from file"
   : C$="?"
   : PRINT AT(T+1,2);
   : K1=2
   : GOTO 2680
1518 IF K1=3THEN 1525
   : ON VAL(C$)-48GOTO 1550,1580,1550
   : GOTO 1510
1520 C$="?"
   : PRINT AT(T+1,2,2);
   : K1=3
   : GOTO 2680
1525 ON VAL(C$)-48GOTO 1550,1580
   : GOTO 1510
1530 PRINT AT(T+1,1,80);"    *** Named report is already deleted"
   : K1=1
   : GOTO 1425
1535 PRINT AT(T+1,1,80);"    *** Report number must be 1 -";R9
   : K1=1
   : GOTO 1425
1550 B$=STR(R$(B),37)
   : IF B$=C$THEN 1600
   : IF B$=" "OR B$="D"THEN R8=R8+1
   : STR(R$(B),37,1)=C$
   : R8$(R8)=STR(R$(B),26,1)&STR(R$(B),2,4)
   : R9$(R8)=R$(B)
   : PRINT AT(10,1);STR(R$(),1,12*80);HEX(010D)
   : GOTO 1600
1560 PRINT AT(T+1,1,80);"    *** Report requested is not in this display."
   : K1=1
   : GOTO 1425
1580 IF STR(R$(B),37,1)=" "THEN 1600
   : STR(R$(B),37,1)=" "
   : IF R8<>0THEN R8=R8-1
   : PRINT AT(10,1);STR(R$(),1,12*80);HEX(010D)
   : A=0
1590 A=A+1
   : IF STR(R8$(A),2,3)<>STR(R$(B),2,3)THEN 1590
   : FOR B=ATO R8
   : R8$(B)=R8$(B+1)
   : R9$(B)=R9$(B+1)
   : NEXT B
   : INIT(FF)R8$(B+1)
   : INIT(20)R9$(B+1)
1600 PRINT AT(T+1,0,2*80);AT(5,0);R8;TAB(10);"= No. reports queued to delete"
   : GOTO 1425
1620 IF R8<>0THEN 1630
   : K1=0
   : GOTO 1330
1630 PRINT AT(11,1,12*80);AT(10,1)
   : FOR A=1TO R8
   : PRINT R9$(A);
   : NEXT A
1650 PRINT AT(T,1,3*80);"Ready to execute?    '0 = Exit delete utility or Cont
     inue at prompt 1"
   : PRINT HEX(06);
   : PRINT AT(T+2,1);"    Type  1=Yes  2=No, reset list   3=No, resume list"
1660 C$="?"
   : PRINT AT(T+2,0);
   : LINPUT ?-C$
   : ON VAL(C$)-48GOTO 1690,1270,1670
   : GOTO 1650
1670 PRINT AT(10,1);STR(R$(),1,12*80);HEX(010D)
   : GOTO 1425
1690 IF R>0THEN 3150
   : PRINT AT(T+2,5);"No reports to delete"
   : GOTO 1660
1710 INIT(FF)R8$()
   : FOR A=1TO R
   : A$=R$(A)
   : IF STR(A$,37,1)<>"D"THEN 1720
   : IF STR(A$,31,1)="Q"THEN 1720
   : STR(A$,37,1)="1"
   : R8=R8+1
   : R8$(R8)=STR(A$,26,1)&STR(A$,2,3)
1720 NEXT A
   : RETURN
2080 PRINT AT(2,57);"by STREAM"
   : S1$="?"
   : PRINT AT(3,48,30);"= Print stream"
   : PRINT AT(T,1,3*80);S1$;TAB(5);"Key print stream --   Streams available ar
     e:   1 or 2 or 3 or 4"
   : FOR A=1TO 4
   : PRINTUSING "  # = Strm ##  blocks received = #####  ";A,"   ";B2$(A);
   : NEXT A
2130 INIT(20)R$()
   : R=0
   : PRINT AT(3,41,2);
   : C$=" "
   : K1=4
   : GOTO 2680
2135 S1$=C$
   : IF S1$=" "THEN 1270
   : IF S1$="?"THEN 2130
   : IF S1$<"1"OR S1$>"4"THEN 2250
   : B1$="00001"
   : R8$="N"
   : S1=VAL(S1$)-48
   : B2$=B2$(S1)
   : PRINT AT(T,1,3*80)
   : IF B2$="00000"THEN 2285
   : PRINT AT(11,0,12*80)
   : R,B9=0
   : GOSUB 950
   : PRINT AT(10,1);STR(R$(),1,12*80);HEX(010D)
   : B1=1
   : CONVERT B2$TO B9
   : IF B9=0THEN B9=B2(S1)
2190 PRINT AT(4,48,30);"= ending block"
   : PRINT AT(4,40);
   : LINPUT -B2$
   : CONVERT B2$TO B2
   : ERRORGOTO 2270
2200 IF B2=0THEN 2080
   : IF B2<1OR INT(B2)<>B2OR B1>B2OR B2>B9THEN 2270
   : R$=S1$
   : STR(R$,2)=B1$
   : STR(R$,7)=B2$
   : R=1
2230 PRINT AT(T,1,3*80);"Ready to execute?    '0 = Exit delete utility or Cont
     inue at prompt 1"
   : PRINT HEX(06);
   : PRINT AT(T+2,1);"    Type  1=Yes  2=No, reset list   3=No, resume list"
2240 C$="?"
   : K1=0
   : PRINT AT(T+2,0);
   : LINPUT ?-C$
   : ON VAL(C$)-48GOTO 2290,1270,2080
   : GOTO 2230
2250 PRINT AT(T+1,1,80);"    *** Stream number must be 1 or 2 or 3 or 4"
   : GOTO 2130
2270 PRINT AT(T+2,1,80);"Block number must be numeric value ";B1;" -";B9;"  or
      else 0"
   : GOTO 2190
   : PRINT AT(T+1,1,80);"    *** Unable to delete - stream ";S1$;" is queued f
     or printing"
   : GOTO 2130
2285 PRINT AT(T+1,1,80);"    *** Unable to delete - there is no data in stream
      ";S1$
   : GOTO 2130
2290 IF R>0THEN 3150
   : PRINT AT(T+2,5);"No reports to delete"
   : GOTO 2240
2675 IF B$=HEX(08)THEN B$=" "
   : C$=B$
2680 SELECT PRINT 005
   : IF C$=" "THEN C$="?"
   : PRINT C$;HEX(0805);
   : KEYIN B$,,2700
   : IF B$<>HEX(0D)THEN 2675
   : ON K1+1GOTO 1360,1360,1518,1518,2135
   : STOP #
2700 ON VAL(B$)-10GOSUB 2720,2730,2750
   : IF VAL(B$)=13THEN 1330
   : IF VAL(B$)=0THEN 300
   : IF VAL(B$)<>0AND VAL(B$)>13OR VAL(B$)<11THEN 2675
   : K1=0
   : GOTO 1310
2720 GOSUB 3050
   : GOSUB 3080
   : GOSUB 2770
   : RETURN
2730 GOSUB 3050
   : GOSUB 3060
   : GOSUB 2770
   : RETURN
2750 A=0
   : DBACKSPACE #2,BEG
   : GOSUB 960
   : RETURN
2770 R=0
   : Z=10
   : DBACKSPACE #2,BEG
   : DSKIP #2,5S
   : T9=R9
   : PRINT AT(T+4,0,13*80);
   : GOSUB 1210
   : IF T8=0THEN 2800
   : Z9=T8/3
   : IF Z9<1THEN 2800
   : DSKIP #2,Z9S
2800 DATA LOAD DC #2,R0$()
   : IF END THEN 2850
   : IF R0$(1)=" "THEN 2850
   : GOSUB 2890
   : IF Z>21.5THEN RETURN
   : IF R0$(2)=" "THEN 2850
   : GOSUB 2890
   : IF Z>21.5THEN 3120
   : IF R0$(3)=" "THEN 2850
   : GOSUB 2890
   : IF Z>21.5THEN 3130
   : IF T8<R9THEN 2800
2850 IF T8=R9AND Z6$="1"THEN 2860
   : IF Z>21.5THEN 2860
   : DBACKSPACE #2,BEG
   : DSKIP #2,5S
   : T8=0
   : GOTO 2800
2860 IF Z4<R9THEN GOSUB 2870
   : Z7=T8
   : RETURN
2870 IF (MOD(T8,3))=2THEN T8=T8-2
   : IF (MOD(T8,3))=1THEN T8=T8-1
   : RETURN
2890 A$=R0$(MOD(T8,3)+1)
   : T8=T8+1
   : IF STR(A$,24,1)=" "THEN RETURN
   : C$=" "
   : IF R1$<>"2"THEN 2980
   : IF STR(A$,24,1)<>S1$THEN RETURN
   : D$=HEX(40)&BIN(T8,2)
   : MAT SEARCHQ$()<1,Q*3>,=D$TO M$STEP 3
   : IF M$=HEX(0000)THEN 2930
   : GOTO 2935
2930 D$=HEX(00)&BIN(T8,2)
   : MAT SEARCHQ$()<1,Q*3>,=D$TO M$STEP 3
   : IF M$=HEX(0000)THEN 2960
2935 C$="Q"
   : IF B9>0THEN 2960
   : CONVERT STR(A$,26,3)TO B9
   : CONVERT B9-1TO B2$,(###)
2950 % ### ##################  # # ### - ### !
2960 INIT(00)W$
   : R=R+1
   : IF STR(A$,30,3)="000"THEN STR(W$,3,1)="*"
   : R$(R)=STR(W$,3)
   : PRINTUSING TO W$,2950,T8,STR(A$,1,18),STR(A$,24,1),C$,STR(A$,26,3),STR(A$
     ,30,3);
   : Z=Z+.5
   : IF Z<22THEN RETURN
   : GOTO 2860
2980 D$=HEX(40)&BIN(T8,2)
   : MAT SEARCHQ$()<1,Q*3>,=D$TO M$STEP 3
   : IF M$=HEX(0000)THEN 2990
   : C$="D"
   : S1$="Q"
   : GOTO 3030
2990 S1$=" "
   : D$=HEX(00)&BIN(T8,2)
   : MAT SEARCHQ$()<1,Q*3>,=D$TO M$STEP 3
   : IF M$>HEX(0000)THEN S1$="Q"
   : IF S1$<>" "THEN 3030
   : C$=STR(A$,20,1)
3020 % ### ##################  #    #     #  !
3030 INIT(00)W$
   : PRINTUSING TO W$,3020,T8,STR(A$,1,18),STR(A$,24),S1$,C$;
   : R=R+1
   : IF STR(A$,30,3)="000"THEN STR(W$,3,1)="*"
   : R$(R)=STR(W$,3)
   : Z=Z+.5
   : IF Z<22THEN RETURN
   : GOTO 2860
3050 Z6$="0"
   : Z4=24
   : IF Z4>R9THEN Z4=R9
   : RETURN
3060 IF Z7=R9THEN 3070
   : T8=Z7
   : RETURN
3070 Z6$="1"
   : T8=0
   : RETURN
3080 Z5=Z7-(Z4-1)
   : IF Z5<0THEN GOSUB 3090
   : IF Z5=1AND Z7=R9THEN Z6$="1"
   : T8=Z5-(Z4-1)-1
   : IF T8<0THEN GOSUB 3100
   : T8=T8-1
   : IF T8=0THEN Z6$="1"
   : RETURN
3090 Z5=R9+Z5
   : IF (MOD(Z5,3))=0THEN Z5=Z5+1
   : IF (MOD(Z5,3))=2THEN Z5=Z5+2
   : RETURN
3100 T8=R9+T8
   : ON (MOD(T8,3))+1GOTO 3120,,3130
   : RETURN
3120 T8=T8+1
   : RETURN
3130 T8=T8+2
   : RETURN
3150 PRINT AT(T,0,3*80);AT(T+1,32);"D E L E T I N G"
   : A$="32WPRECM32WPRECI"
   : LOAD DC T#0,<2>A$240,3130BEG 3160
3160 IF R1$="1"THEN GOSUB 3490
   : IF R1$="2"THEN GOSUB 3210
   : A$="B327045"
   : LOAD DC T#0,<1>A$4000,9999BEG 3180
3180 GOTO 230
3210 B1=1
   : B2=B2+1
   : GOSUB 3900
   : PRINT AT(11,0)
   : A=0
3220 A=A+1
   : A$=R$(A)
   : IF A$=" "THEN 3290
   : CONVERT STR(A$,30,3)TO B1
   : IF B1>=B2THEN 3290
   : STR(A$,6,27)="<< removed data >>  0   xxx"
   : R$(A)=A$
   : GOTO 3220
3290 R=A-1
   : FOR C=1TO R
   : PRINT R$(C);
   : NEXT C
   : A=0
   : DBACKSPACE #2,BEG
   : DSKIP #2,5S
3320 B=0
   : DATA LOAD DC #2,R0$()
   : IF END THEN 3410
   : FOR I=1TO 3
   : A=A+1
   : IF STR(R0$(I),24,1)<>S1$THEN 3380
   : A$=R0$(I)
   : B=1
   : CONVERT STR(A$,26,3)TO C
   : IF C>=B2THEN 3360
   : R0$(I)="<< removed data >>   0   xxx "&STR(A$,30,3)
   : GOTO 3380
3360 C=C-B2+1
   : CONVERT CTO STR(A$,26,3),(###)
   : STR(R0$(I),1,39)=A$
3380 NEXT I
   : IF B=0THEN 3400
   : DBACKSPACE #2,1S
   : DATA SAVE DC #2,R0$()
3400 IF A<R9THEN 3320
3410 R8=0
   : RETURN
3490 PRINT AT(T,1,75);"Deleting ";R8;"Reports"
   : MAT SORTR8$()TO Q8$,Q8$()
   : PRINT AT(11,1,11*80);AT(10,1)
   : FOR A=1TO R8
   : A$=R8$(VAL(Q8$(A),2))
   : B=0
3540 B=B+1
   : IF STR(R$(B),2,3)<>STR(A$,2,3)THEN 3540
   : PRINT R$(B);
   : NEXT A
   : A9=0
   : FOR D=1TO R8
   : A$=R8$(VAL(Q8$(D),2))
   : B=0
3560 B=B+1
   : IF STR(R$(B),2,3)<>STR(A$,2,3)THEN 3560
   : A$=R$(B)
   : S1$=STR(A$,26)
   : S1=VAL(S1$)-48
   : STR(R$(B),6,27)="<< removed data >>  0   xxx"
   : GOSUB 3650
   : IF C>0THEN 3605
   : C=B2(S1)-A8
3605 A9=A9+C
   : B1=A8
   : B2=B1+C
   : PRINT AT(T,40);A9;" vaus total"
   : GOSUB 3900
   : NEXT D
   : R8=0
   : RETURN
3650 CONVERT STR(A$,2,3)TO A
   : DBACKSPACE #2,BEG
   : DSKIP #2,INT((A+2)/3)+4S
   : DATA LOAD DC #2,R0$()
   : IF END THEN 3830
   : B=MOD(A-1,3)+1
   : A$=R0$(B)
   : CONVERT STR(A$,26,3)TO A8
   : CONVERT STR(A$,30,3)TO C
   : R0$(B)="<< removed data >>   0   xxx "&STR(A$,30,3)
   : IF B=3THEN 3810
   : FOR I=BTO 3
   : GOTO 3740
3720 DATA LOAD DC #2,R0$()
   : IF END THEN 3830
   : B=0
   : FOR I=1TO 3
   : A=A+1
3740 IF STR(R0$(I),24,1)<>S1$THEN 3800
   : A$=R0$(I)
   : B=1
   : IF C>0THEN 3750
   : CONVERT STR(A$,26,3)TO C
   : C=C-A8
3750 CONVERT STR(A$,26,3)TO B1
   : CONVERT B1-CTO STR(A$,26,3),(###)
   : STR(R0$(I),1,39)=A$
3800 NEXT I
3810 IF B=0THEN 3820
   : DBACKSPACE #2,1S
   : DATA SAVE DC #2,R0$()
3820 IF A<R9THEN 3720
3830 RETURN
3900 I=B2-B1
   : PRINT HEX(06);AT(T+2,30);I;"blocks ";B1;" to ";B2-1
   : GOSUB '223(D0(S1),B1,I)
   : ON POS(HEX(002524)=R1$)GOTO 3990,3940,3970
   : PRINT "WP ERROR R1$=(";HEXOF(R1$);")"
   : STOP #
3940 STOP "P$=HEX(25) "#
3970 RETURN CLEAR
   : PRINT HEX(0607);AT(T+2,0,5*80);"No ";
   : IF I>1THEN PRINT "more";
   : PRINT " Data in Spooled Print Stream";S1$
3980 C$=" "
   : LINPUT ?-C$
   : GOTO 3980
3990 B2(S1)=V0
   : CONVERT V0TO B2$(S1),(#####)
   : RETURN