Listing of file='B327061' on disk='vmedia/bsc_3271_rel_1.14.04.wvd.zip'
# Sector 1319, program filename = 'B327061'
0010 REM B327061 02/13/84 Off-List prompting
: GOTO 170
: ON AGOTO 20
0015 COM E$(5)80,D9,C1,P(4)
0020 COM D0,D$3,D2$3,D4$5,D5$3,R8$(31)2
: DIM E0(4),F$(1)80,R$(30)40,R0$(3)83,R1$(15)16,R0$83,R$18,R4$3,R5$3,R6$3,R
7$1,R8$1,Z6
0170 A=0
: DATA LOAD DC OPEN T#2,S0$
: DSKIP #2,1S
: INIT(" ")E$()
: FOR C1=1TO 4
: DATA LOAD DC #2,R0$()
: B$=STR(R0$(),1,1)
: IF B$=" "THEN 188
: STR(E$(C1),15)="2"
: IF B$=HEX(05)THEN STR(E$(C1),15)="0"
: HEXUNPACKB$TO STR(E$(C1),16,2)
: STR(E$(C1),19)=STR(R0$(),8,1)
0188 NEXT C1
0190 DATA LOAD DC #2,R0$()
: IF END THEN 200
: IF R0$(1)<>" "THEN A=A+1
: IF R0$(2)<>" "THEN A=A+1
: IF R0$(3)<>" "THEN A=A+1
: IF A/3=INT(A/3)THEN 190
0200 R9=A
: T=6
0220 D2$="204"
: D4$="2281"
: D5$="66"
: R$=" "
: C1,S0=0
: SELECT @PART"3270UNIV"
: GOSUB 340
: IF R=0THEN 290
: GOTO 3000
0240 % #####################################################################
0245 A=A+1
: PRINTUSING 250,A,STR(R0$(MOD(A-1,3)+1),1,18);
: RETURN
0250 % ### = ###################
0260 % ######## = ##################### ###### = ######################
#
0265 % ######## = #####################
0280 DEFFN'0
: C$="C"
0290 PRINT HEX(06);AT(T,0,3*80);" Type A=Abort job C=Continue prompts R=Repe
at prompts";
: LINPUT -C$
: ON POS("ARC"=C$)+1GOTO 290,310,220
: IF N=1THEN 345
: GOTO 370
0310 $CLOSE
: RETURN CLEAR ALL
: COM CLEAR B$
: LOAD T#0,N$(1)
0340 D$,C$=" "
: R=0
: INIT(" ")R$()
0345 GOSUB 1010
0370 PRINT AT(T,0);BOX(3,79)
: H3=-1
: $CLOSE#5
: $PSTAT="Listing"
: MAT REDIM R0$(3)83
: GOSUB 2605
: PRINT AT(6,0);R
: GOSUB 780
0550 GOSUB 1030
: IF R1$=" "THEN RETURN
: ON VAL(R1$)-48GOSUB 570
: IF R4$="RUN"THEN R1$=HEX(82)
: IF R1$=HEX(82)THEN RETURN
: GOTO 550
0570 GOSUB 740
0600 IF R>29THEN 750
: R$,R4$="?"
: R5$="001"
: R6$="999"
: R7$="1"
: R8$="Y"
: PRINT AT(T,1,3*80);R4$;TAB(5);"Key report number";TAB(30);"Key space RETU
RN to end list."
0620 GOSUB 1070
: IF R4$=" "THEN RETURN
: STR(R4$,1,3)=STR(R4$,POS(STR(R4$,1,3)<>" "))
: STR(R4$,1,3)=STR(R4$,POS(STR(R4$,1,3)<>"0"))
: CONVERT R4$TO A
: ERRORGOTO 620
0630 IF A<1OR A>R9THEN 620
: DBACKSPACE #2,BEG
: DSKIP #2,INT((A+2)/3)+4S
: DATA LOAD DC #2,R0$()
: R$,R0$=R0$(MOD(A-1,3)+1)
: PRINT AT(T,5,75);STR(R$,1,18)
: IF STR(R0$,22,1)="0"THEN 620
: R8$="Y"
: R=R+1
: R$(R)=R4$
: STR(R$(R),5)=R5$
: STR(R$(R),9)=R6$
: STR(R$(R),13)=R7$
: STR(R$(R),14)=R8$
: STR(R$(R),15)=R$
: STR(R$(R),40)="1"
: GOSUB 2610
: GOTO 600
0740 PRINT AT(10,0,2*80);"Items to list are:"
: PRINT "No. Report Name No. Report Name"
: RETURN
0750 A=2
: R4$=" "
: RETURN
0780 PRINT AT(T,1,3*80);"Enter Printer model from the following list"
: F$()="2221 2231 2263 2273 2281 CRT PC"
: GOSUB '201(3,40)
: PRINT AT(4,41,39)
: IF D4$="2281"THEN GOSUB 800
: PRINT AT(T,0,3*80)
: RETURN
0800 PRINT AT(4,41);D5$;TAB(48);"= Form length (in lines) "
0810 PRINT AT(T,1,3*80);"Enter form (page) length in lines"
: PRINT AT(4,40);
: LINPUT ?-D5$
: PRINT AT(T,0,3*80)
: A=NUM(D5$)
: IF A=0THEN 830
: CONVERT STR(D5$,1,A)TO A
: ERRORGOTO 830
0820 IF A<1OR INT(A)<>ATHEN 830
: RETURN
0830 PRINT AT(10,0,3*80);"Reenter - Value must be numeric and >0"
: GOTO 810
0965 E=1
: RETURN
0980 DEFFN'201(A,C)
0990 GOSUB '200(3,40,D4$,F$())
: D2$="204"
: IF D4$="CRT"THEN D2$="005"
: PRINT AT(2,41);D2$
: IF E=0THEN RETURN
: GOSUB 5230
: PRINT AT(T+2,1);"Reenter -- ";A$
: GOTO 990
1000 DEFFN'200(A,C,D4$,F$())
: E=0
: PRINT AT(T+1,0);
: PRINTUSING 240,F$()
1005 PRINT AT(A,C);
: LINPUT ?-D4$
: IF D4$=" "THEN 1005
: MAT SEARCHF$(),=STR(D4$,1,5)TO A$STEP 5
: IF VAL(A$,2)=0THEN 965
: RETURN
1010 PRINT HEX(03);"3270";
: IF E0$(5)="A"THEN PRINT " Active";
: PRINT " Spooler File Off-line List Utility ('0 = Exit)"
: PRINT
1020 PRINTUSING 260,D1$,"Spooler disk address",D2$,"Printer address"
: PRINTUSING 260,S$,"Spooler file name",D4$,"Printer model"
: PRINT R9;TAB(10);"= Reports available"
: PRINT " ";TAB(10);"= Items in list queue"
: GOSUB 2470
: RETURN
1030 SELECT PRINT 005
: PRINT AT(T,1,3*80);" Key queueing mode Scroll lists '11=Up '
12=Down '13=Top"
: PRINT " 1 = REPORT mode - List by report name '14
=Rpts Queued"
: R1$="1"
1045 IF R>0THEN PRINT " RUN = begin listing";
: IF R>29THEN PRINT " list queue at maximum size"
: PRINT
1050 PRINT AT(T,1);
: KEYIN R1$,,1670
: IF R1$=HEX(82)THEN RETURN
: IF R1$<>"1"THEN 1050
: RETURN
1070 SELECT PRINT 005
: PRINT AT(6,0);
: LINPUT ?-R4$
: RETURN
: SELECT #5<D$>
: $PSTAT="Listing"
: RETURN
1670 IF VAL(R1$)=0THEN 280
: ON VAL(R1$)-10GOSUB 1690,1700,1715,2550
: IF VAL(R1$)<>14THEN 1050
: GOSUB 1010
: PRINT AT(T-1,0);R
: PRINT AT(T,0);BOX(3,79)
: GOSUB 2605
: GOTO 1030
1690 Z6=3
: GOSUB 2700
: GOSUB 2705
: Z5=Z7-(Z4-1)
: IF Z5<0THEN GOSUB 1694
: IF Z5=0AND Z7=R9THEN Z6=1
: GOSUB 2660
: RETURN
1691 IF (MOD(Z4,3))=1THEN Z4=Z4+2
: ELSE Z4=Z4+1
: RETURN
1694 Z5=R9+Z5
: ON (MOD(R9,3))GOTO 1696,1697
: RETURN
1696 Z5=Z5+1
1697 Z5=Z5+1
: IF Z5>R9THEN Z5=0
: RETURN
1700 Z6=2
: GOSUB 2700
: GOSUB 2705
: GOSUB 2660
: RETURN
1715 Z6=1
: GOSUB 2700
: GOSUB 2705
: GOSUB 2660
: RETURN
2470 GOSUB 2700
: A=0
: GOSUB '102
2500 PRINT
: DATA LOAD DC #2,R0$()
: IF END THEN 2540
: Z=Z+1
: IF R0$(1)=" "THEN RETURN
: GOSUB 245
: IF R0$(2)=" "THEN RETURN
: GOSUB 245
: IF R0$(3)=" "THEN RETURN
: GOSUB 245
: IF Z>22.5THEN 2540
: IF A<R9OR A=R9THEN 2500
2540 Z7=A
: RETURN
2550 PRINT HEX(03);
: N=1
: IF R>0THEN 2590
: PRINT AT(5,0);"No reports are currently queued."
2570 PRINT AT(23,0);"Key any character to return to Off-line List.";AT(23,0)
: KEYIN C$
: N=0
: RETURN
2590 PRINT AT(2,0);TAB(15);R;"Items in List Queue for Printer ";D2$
: PRINT
: B=1
: GOSUB 2630
: GOTO 2570
2605 GOSUB 740
2610 PRINT AT(5,0);R
: IF R=0THEN 2620
: Z=12
: PRINT AT(12,0)
: B=1
: IF R>12THEN B=R-11
: GOSUB 2630
: GOTO 2620
2620 Z7,T8=0
: GOSUB 2700
: GOSUB 2705
: T8=Z7-(Z4-1)
: IF T8=0THEN 2625
: IF T8<0THEN GOSUB 2710
: T8=T8-1
2625 IF T8=0THEN Z6=1
: GOSUB '102
: GOSUB 2740
: RETURN
2630 FOR A=BTO R
: R$=R$(A)
: IF R<12AND MOD(R,2)<>0THEN IF A=RTHEN PRINT TAB(80);HEX(0C)
: PRINTUSING "### ################## ### ### # # \8B",STR(R$,1,3);STR(R
$(A),15,18);" ";" ";" ";" ";
: NEXT A
: RETURN
2660 ON Z6GOSUB 2670,2680,2690
: IF T8+R9<Z4THEN Z6=1
: GOSUB '102
: GOTO 2740
2670 T8=0
: Z6=1
: RETURN
2680 T8=Z7
: IF Z7=R9THEN 2670
: RETURN
2690 T8=Z5-(Z4-1)-1
: IF T8<0THEN GOSUB 2710
: T8=T8-1
: IF T8=0THEN Z6=1
: RETURN
2700 Z=11+R/2+2
: IF R>12THEN Z=19
: IF Z<>19AND MOD(R,2)=1THEN Z=Z+.5
: PRINT AT(Z-1,0,2*80)
: PRINT AT(Z,0);"Reports available are: ";
: RETURN
2705 Z=Z+1
: IF MOD(R,2)=1THEN Z=Z+.5
: IF R>12THEN Z=20
: Z4=((23-Z)+1)*3
: IF INT(Z4)<>Z4THEN Z4=Z4+1
: Z4=INT(Z4)
: IF Z4>R9THEN Z4=R9
: IF (MOD(Z4,3))<>0THEN GOSUB 1691
: RETURN
2710 T8=R9+T8
: ON (MOD(R9,3))GOTO 2720,2730
: RETURN
2720 T8=T8+1
2730 T8=T8+1
: RETURN
2740 PRINT AT(Z-1,0);
: IF T8=1THEN T8=0
: IF T8<3THEN 2750
: Z9=T8/3
: DSKIP #2,Z9S
2750 PRINT
: DATA LOAD DC #2,R0$()
: IF END THEN GOSUB 2800
: IF T8=R9AND Z6=1THEN RETURN
: IF R0$(1)=" "THEN GOSUB 2800
: IF T8=R9AND Z6=1THEN RETURN
: GOSUB 2790
: IF R0$(2)=" "THEN 2810
: GOSUB 2790
: IF R0$(3)=" "THEN 2820
: GOSUB 2790
: IF Z>22.5THEN 2840
: Z=Z+1
: IF T8=R9THEN GOSUB 2830
: GOTO 2750
2790 T8=T8+1
: PRINTUSING 250,T8,STR(R0$(MOD(T8-1,3)+1),1,18);
: RETURN
2800 IF T8=R9AND Z6=1THEN 2840
: GOSUB 2835
: PRINT
: DATA LOAD DC #2,R0$()
: RETURN
2810 IF T8=R9AND Z6=1THEN 2840
: GOSUB 2860
2820 IF T8=R9AND Z6=1THEN 2840
: GOSUB 2860
: GOSUB 2835
: IF Z>22.5THEN 2840
: Z=Z+1
: GOTO 2750
2830 IF Z6=1THEN 2840
2835 GOSUB '102
: T8=0
: RETURN
2840 Z7=T8
: ON MOD(T8,3)GOSUB 2850,2860
: IF Z<22THEN PRINT AT(Z+1,0,)
: RETURN
2850 PRINT " ";
2860 PRINT " ";
: RETURN
2890 DEFFN'102
: DBACKSPACE #2,BEG
: DSKIP #2,5S
: RETURN
3000 INIT(00)R8$()
: FOR A=1TO R
: CONVERT STR(R$(A),1,3)TO C
: R8$(A)=BIN(C,2)
: NEXT A
: D0=1
: N$(5)="B327063"
: LOAD DC T#0,"B327042"
5230 RESTORE LINE5230,E
: READ A$
: RETURN
: DATA "device address not in table","device not available","printer not re
ady","Four available slots are filled"