Listing of file='IDS2PR31' on disk='vmedia/701-2716B.wvd.zip'
# Sector 406, program filename = 'IDS2PR31'
1000 REM "IDS2PR31" - REPORT MASK DOCUMENTATION (REPORT MASK - PART 2)
1010 IF F6$(17)<"^"THEN SELECT @PART"IDS2SUBM"
: DIM J0$11,J1$5,J2$8,J3$4
: GOSUB '39(D9$,3)
: J6=P
: LIMITS T#J6,D9$,D1,D2,D2,D2
: IF D2<>2OR J0<9OR J1<1OR J2<0OR D9<0OR D1<2THEN 1020
: GOTO 1030
1020 F0$="Invalid report control file -- Exec to continue"
: GOSUB '53(F0$)
: GOSUB '34(250)
: $CLOSE#1
: COM CLEAR J3
: LOAD T#2,"IDS2MR01"1000,
1030 D4,D5=0
: J8,D7=0
: GOSUB 1220
: IF D9<1THEN 1200
1040 MAT REDIM F$(256)1
: DATA LOAD BA T#J6,(D1+J0+D4)F$()
: MAT REDIM F$(E9)1
1050 J1$=STR(F$(),(J2+5)*D5+1,5)
: J2$=ALL(00)
1090 KEYIN E6$,1090,1100
: GOTO 1110
1100 IF VAL(E6$)<>31THEN 1110
: COM CLEAR J3
: LOAD T#2,R3$(1)1000,
1110 HEXUNPACKSTR(J1$,,2)TO J2$
: $TRAN(STR(J2$,3),HEX(2030))R
: E$=STR(J2$,,2)
: STR(E$,11)=STR(J2$,3,1)&" "&STR(J2$,4,1)
: J2$=STR(J1$,3,3)&ALL(00)
: FOR I=1TO 4
: ROTATEC(STR(J2$,I),-2)
: NEXT I
: ADD(STR(J2$,,4),20)
: STR(E$,4,6)=STR(J2$,,1)&" "&STR(J2$,2,1)&" "&STR(J2$,3,2)
: CONVERT D5+D4*J7+1TO STR(E$,16,2),(##)
: IF J2<81THEN I=MIN(64,J2)
: ELSE I=J2-17
1120 STR(E0$(),2)=E$
: STR(E0$(),19)=STR(F$(),(J2+5)*D5+6,I)AND ALL(7F)
: STR(E0$(),,1)=BIN(LEN(E0$()))
: GOTO 1140
1130 STR(E$,18)=STR(F$(),(J2+5)*D5+5,I)
1140 D6=D6+1
: GOSUB '49(0)
: IF J2>99THEN 1160
: IF D6<48THEN 1180
: GOTO 1170
1160 IF D6<49THEN 1180
1170 J8=1
: GOSUB 1260
: J8=0
: GOSUB 1230
: D5=D5+1
: IF D4*J7+D5>=D9THEN 1210
: GOTO 1190
1180 D5=D5+1
: IF D4*J7+D5>=D9THEN 1200
1190 IF D5<>J7THEN 1050
: D5=0
: D4=D4+1
: GOTO 1040
1200 J8=1
: GOSUB 1260
1210 LOAD T#2,"IDS2PR32"1000,
1220 IF J2<117AND D6>40THEN 1230
: IF J2>116AND D6>38THEN 1230
: E0$()=HEX(01)
: D6=D6+2
: GOSUB '49(0)
: GOSUB '49(0)
: GOTO 1240
1230 E0$()=HEX(01)
: J4=J4+1
: GOSUB '48(0,HEX(0C),0)
: GOSUB '49(0)
: E$="Report "&HEX(22)&STR(E$(),2,8)&HEX(22)&" - "&STR(E$(),18,32)
: GOSUB '48(2,E$,0)
: E$=STR(R2$,1,2)&"/"&STR(R2$,3,2)&"/"&STR(R2$,5,2)&" Page ## of ##"
: CONVERT J4TO STR(E$,16,2),(##)
: CONVERT J9TO STR(E$,22,2),(##)
: GOSUB '48(57,E$,0)
: D6=1
: GOSUB '49(0)
1240 D7=D7+1
: GOSUB '48(0," ",0)
: D6=D6+1
: GOSUB '49(0)
: GOSUB '48(0,"Print control Line Format Image Window",0)
: D6=D6+1
: GOSUB '49(0)
: IF J2<117THEN I=45
: ELSE I=43
: I=1+MIN(I*(D7-1),D9)
: CONVERT ITO J3$,(####)
: L=POS(J3$<>HEX(30))
: E$="No T L FS B A Window below displays lines"
1250 E$=E$&" "&STR(J3$,L)&" to"
: CONVERT MIN(I+43,D9)TO J3$,(####)
: I=MAX(POS(J3$<>HEX(30)),1)
: E$=E$&" "&STR(J3$,I)&", columns 1 to"
: CONVERT MAX(J2-17,63)TO J3$,(####)
: I=MAX(POS(J3$<>HEX(30)),1)
: E$=E$&" "&STR(J3$,I)
: GOSUB '48(0,E$,0)
: D6=D6+1
: GOSUB '49(0)
: GOSUB '48(0,"-- - - -- - -",0)
: D6=D6+1
: GOSUB '49(0)
1260 J0$="0123456789"
: IF J8=0THEN FOR D3=1TO 3
: ELSE FOR D3=3TO 1STEP -1
: E0$()=BIN(MAX(80,J2)+1)
: IF D3<>1THEN FOR I=1TO MIN(15,MAX(8,INT(J2/10)))
: ELSE IF J2>99THEN FOR I=10TO MIN(INT(J2/10),15)
: ELSE GOTO 1290
: K=I-INT(I/10)*10+1
1270 IF D3=1THEN STR(E0$(),I*10+18,1)="1"
: ELSE IF D3=2THEN STR(E0$(),I*10+18,1)=STR(J0$,K,1)
: ELSE STR(E0$(),(I-1)*10+19,10)=STR(J0$,2,9)&"0"
: NEXT I
: IF D3<>3THEN 1280
: IF J2<64THEN L=J2-INT(J2/10)*10
: ELSE L=(J2-17)-INT((J2-17)/10)*10
: IF L=0OR J2<81THEN 1280
: IF J2<64THEN J=60
: ELSE J=INT((J2-17)/10)*10
: STR(E0$(),J+19)=STR(J0$,2,L)
1280 D6=D6+1
: GOSUB '49(0)
1290 NEXT D3
: E0$()=HEX(01)
: IF J8=0THEN 1330
: GOSUB '48(0,"T = Line type L = Level FS = SYSFLAG# & state for B =
Extra line feeds",0)
: D6=D6+1
: GOSUB '49(0)
: GOSUB '48(0," B=Banner Blank optional sysflag test be
fore line is printed",0)
: D6=D6+1
: GOSUB '49(0)
1300 GOSUB '48(0," D=Detail 0-9 if used, line prints A =
Extra line feeds",0)
: D6=D6+1
: GOSUB '49(0)
: GOSUB '48(0," F=Footer P = Page only if sysflag state af
ter line is printed,",0)
: D6=D6+1
: GOSUB '49(0)
1310 GOSUB '48(0," H=Header R = Report AND level are correct. in
addition to the 1,",0)
: D6=D6+1
: GOSUB '49(0)
1320 E$=" T=Test N=Null State"&HEX(3A2022)&"Y"&HEX(22)&"=ON, "&
HEX(22)&"N"&HEX(22)&"=OFF issued automatically."
: GOSUB '48(0,E$,0)
: D6=D6+1
: GOSUB '49(0)
1330 RETURN
3699 ON ERRORE1$,E2$GOTO 3700
3700 DEFFN'31
: E$="IDS2PR31"
: IF E5$<"Y"THEN LOAD T#2,"IDS2PER1"1000,
: STOP "ERROR"