Listing of file='IDS2PR36' on disk='vmedia/701-2716B.wvd.zip'
# Sector 485, program filename = 'IDS2PR36'
1000 REM "IDS2PR36" - Release 2.1 - REPORT DOC. (OPERATIONS)
1010 COM E1,E2,E3,C8,E2(8),C2$19,D0,D8,C7$32,C8$3,C3$8
: E2(7),E2(8)=0
: IF C5$="B"THEN Q=8
: ELSE Q=6
: C3$=E9$(Q)OR ALL(20)
: IF STR(C2$,,8)<>E9$(Q)THEN 1080
: ADDC(STR(C2$,17,1),01)
: STR(C2$,18)=" "
: GOTO 1128
1080 CONVERT STR(E$(),157,3)TO E2
: ERRORE2=0
1085 IF E2=0OR J3=1THEN 1520
: E3=0
: D8=1
: CONVERT STR(E$(),152,3)TO D0
: ERRORD0=0
1110 IF F6$(17)<"^"THEN SELECT @PART"IDS2SUBM"
: GOSUB 1590
: GOSUB 1550
: IF C5$="B"THEN Q=8
: ELSE Q=6
: C2$=STR(E9$(Q),,8)&STR(E$,,8)
: C8$=STR(E$,9)
: D7=0
1128 E$()=" "
: E6$=F6$(17)AND HEX(02)
: IF E6$=HEX(00)THEN LOAD T#2,"IDS2SUB8"1010,1128BEG 1129
1129 IF F6$(17)<"^"THEN SELECT @PART"IDS2SUBM"
1130 GOSUB '60(E1$(2),C2$)
1140 KEYIN E6$,1140,1150
: GOTO 1160
1150 IF VAL(E6$)=31THEN 1520
1160 IF D6>=54THEN GOSUB 1610
: IF STR(E6$(),,16)=STR(C2$,,16)THEN 1180
: IF E3<>0THEN 1170
: GOSUB 1640
: E0$()=HEX(01)
: D6=D6+1
: GOSUB '49(0)
: E$=" NO EDITS FOUND FOR OPERATION "&STR(C2$,9,8)
: GOSUB '48(0,E$,0)
: D6=D6+2
: GOSUB '49(0)
: GOSUB '49(0)
1170 D8=D8+1
: GOSUB 1550
: E3=0
: STR(C2$,9)=STR(E$,,8)
: C8$=STR(E$,9)
: E$()=" "
: GOTO 1130
1180 E3=E3+1
: STR(C2$,,17)=STR(E6$(),,17)
: D7=VAL(E6$(18))-48
: STR(E$(),76)=STR(E6$(),18,1)&"0"&STR(E6$(),17,1)&"N "&STR(E6$(),,16)
1210 GOSUB '62(E1$(2),1,0)
: J=VAL(F$(2))-47
: ON JGOTO 1230,1240,1240,1240,1240,1240,1290,1300,1310
1230 STR(E$(),,22)=F$()
: STR(E$(),76)=STR(F$(),,250)
: GOTO 1320
1240 STR(E$(),J*228-130)=STR(F$(),23,228)
: GOTO 1320
1290 STR(E$(),1466)=STR(F$(),23,192)
: GOTO 1320
1300 STR(E$(),1658)=STR(F$(),23,192)
: GOTO 1320
1310 STR(E$(),1850)=STR(F$(),23,192)
1320 IF STR(E6$(),,17)=STR(C2$,,17)THEN 1210
: GOSUB 1545
: D9=0
: ON D7GOTO 1370,1380,1390,1400,1410,1420,1430
: E$="pass/fails only"
: F9$="30"
: D9=1
: GOTO 1440
1370 E$="set field(s)"
: F9$="37"
: GOTO 1660
1380 E$="read record"
: F9$="32"
: GOTO 1670
1390 E$="logical test(s)"
: F9$="36"
: GOTO 1680
1400 E$="math calc(s)"
: F9$="31"
: GOTO 1690
1410 E$="range test(s)"
: F9$="34"
: GOTO 1700
1420 E$="table look-up"
: F9$="35"
: GOTO 1710
1430 E$="user-specified"
: F9$="33"
: GOTO 1730
1440 E2(6),Q=0
: FOR I=554TO 1438STEP 18
: IF E$(I)<>" "THEN E2(6)=E2(6)+1
: IF E$(I+1)="H"THEN Q=Q+1
: NEXT I
: IF D6+E2(6)+Q+D9>58THEN GOSUB 1610
: GOSUB '49(0)
1470 F5$="IDS2PS"&F9$
: CONVERT VAL(E$(78))-31TO F9$,(##)
: E4$()="Operation "&HEX(22)&STR(E$(),15,8)&HEX(22)&" ("&F9$&") "&E$
: E0$()=HEX(01)
: D6=D6+1
: GOSUB '49(0)
: GOSUB '48(0,E4$(),0)
: GOSUB '49(0)
: D6=D6+1
: IF STR(C8$,,1)=" "THEN 1480
: E$="Do only if level >= "&STR(C8$,,1)
: GOSUB '48(0,E$,0)
1480 IF STR(C8$,2,1)=" "THEN 1481
: IF E0$()=HEX(01)THEN E$="Do only if flag"
: ELSE E$=" and flag"
: E$=E$&" "&STR(C8$,2,1)&" is"
: IF STR(C8$,3,1)="Y"THEN E$=E$&" ON"
: ELSE E$=E$&" OFF"
: GOSUB '48(0,E$,0)
1481 IF E$(79)<>"Y"THEN 1482
: IF E0$()=HEX(01)THEN E$="Do only if flag"
: ELSE E$=" and flag"
: E$=E$&" "&E$(80)&" is"
: IF E$(81)="N"THEN E$=E$&" OFF"
: ELSE E$=E$&" ON"
: GOSUB '48(0,E$,0)
1482 IF E0$()=HEX(01)THEN 1500
: D6=D6+1
: GOSUB '49(0)
1500 E2(4)=E2(3)
: E2(3)=VAL(STR(E$(),3,1))-31
: COM CLEAR C3$
: LOAD T#2,F5$1000,
1520 IF C5$="B"THEN 1530
: E0$()=HEX(01)
: GOSUB '48(0,HEX(0C0D),0)
: GOSUB '49(0)
: D6=0
1530 IF R3$(1)<>"IDS2PS14"THEN 1540
: COM CLEAR J9
: LOAD T#2,R3$(1)1000,
1540 $CLOSE#1
: COM CLEAR J3
: LOAD T#2,R3$(1)1000,
1545 GOSUB '39(C3$,3)
: J2=MAX(1,ABS(INT(-D0*9/249)))
: J8=MAX(1,ABS(INT(-D0*8/249)))
: MAT REDIM E3$(3*J8)83
: DATA LOAD DA T#P,(A+6+J2)E3$()
: MAT REDIM E3$(24)83
: RETURN
1550 GOSUB '39(C3$,3)
: J2=MAX(1,ABS(INT(-D0*9/249)))
: J8=MAX(1,ABS(INT(-D0*8/249)))
: J7=MAX(1,ABS(INT(-E2*9/249)))
: MAT REDIM E2$(3*J7)83
: IF E2>0THEN DATA LOAD DA T#P,(A+6+J2+J8)E2$()
: MAT REDIM E2$(250)9,F$(E8)1
: L=1
: IF E2>0THEN STR(E2$(),E2*9)=ALL(FF)
: IF E2=0THEN RETURN
: IF POS(STR(E2$(D8),,8)<>HEX(FF))=0THEN 1520
1580 E$=E2$(D8)&ALL(00)
: FOR I=1TO 12
: ROTATEC(STR(E$,I),-2)
: NEXT I
: ADD(STR(E$,,12),20)
: RETURN
1590 E0$()=HEX(01)
: J4=J4+1
: GOSUB '48(0,HEX(0C),0)
: GOSUB '49(0)
: C7$=STR(E$(),18,32)
: IF C5$="B"THEN Q=8
: ELSE Q=6
: E$="Report "&HEX(22)&E9$(Q)&HEX(22)&" - "&C7$
: 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)
1600 GOSUB '49(0)
: D6=1
: RETURN
1610 E0$()=HEX(01)
: GOSUB '49(0)
: GOSUB '49(0)
: J4=J4+.0001
: E0$()=HEX(020C)
: GOSUB '49(0)
: E4$()="Report"
: IF C5$="B"THEN Q=8
: ELSE Q=6
: E4$()=E4$()&HEX(22)&E9$(Q)&HEX(22202D20)&C7$
: GOSUB '48(2,E4$(),0)
1630 CONVERT J4TO E8$,(##.####)
: E4$()=STR(R2$,,2)&"/"&STR(R2$,3,2)&"/"&STR(R2$,5)&" Page "&E8$
: GOSUB '48(57,E4$(),0)
: D6=1
: GOSUB '49(0)
: RETURN
1640 E0$()=HEX(01)
: GOSUB '49(0)
: E4$()="OPERATION "&HEX(22)&STR(C2$,9,8)&HEX(22)
: GOSUB '48(0,E4$(),0)
: D6=D6+2
: GOSUB '49(0)
: RETURN
1660 X=99
: FOR I=1TO 4
: IF STR(E$(),X,8)<>" "THEN D9=D9+1
: X=X+8
: FOR L=1TO 4
: X=X+21
: IF STR(E$(),X,21)<>" "THEN D9=D9+1
: NEXT L
: IF X<>326THEN X=X-1
: NEXT I
: GOTO 1740
1670 IF STR(E$(),107,1)<>" "THEN D9=D9+1
: IF STR(E$(),108,3)<>" "THEN D9=D9+1
: IF STR(E$(),111,2)<>" "THEN D9=D9+1
: IF STR(E$(),113,16)<>" "THEN D9=D9+1
: IF STR(E$(),129,2)<>" "THEN D9=D9+1
: FOR L=131TO 287STEP 39
: IF STR(E$(),L,39)<>" "THEN D9=D9+1
: NEXT L
: GOTO 1740
1680 FOR I=99TO 267STEP 56
: IF STR(E$(),X,51)<>" "THEN D9=D9+1
: NEXT I
: IF D9>0THEN D9=D9+1
: GOTO 1740
1690 FOR I=142TO 508STEP 46
: IF I=326THEN I=370
: IF STR(E$(),I,8)<>" "THEN D9=D9+1
: NEXT I
: GOTO 1740
1700 FOR I=101TO 281STEP 36
: IF STR(E$(),I,8)<>" "THEN D9=D9+1
: NEXT I
: IF D9>0THEN D9=D9+1
: GOTO 1740
1710 IF STR(E$(),98,8)<>" "THEN D9=D9+1
: IF STR(E$(),111,8)<>" "THEN D9=D9+1
: D9=D9+2
: CONVERT STR(E$(),106)TO A
: ERRORA=0
1711 CONVERT STR(E$(),334)TO E
: ERRORE=0
1714 IF A=0THEN 1720
: F=MAX(A,E)
: B=LEN(STR(E$(),127,198))
: C=INT(B/A)
: D=C*F+1
: G=MOD(B,A)
: IF C>0THEN D9=D9+D
: IF G>1THEN D9=D9+1
1720 IF E=0THEN 1740
: B=LEN(STR(E$(),339,215))
: C=INT(B/E)
: D=C*F+1
: G=MOD(B,E)
: IF C>0THEN D9=D9+D
: IF G>1THEN D9=D9+1
: GOTO 1740
1730 X=222
: D9=2
: FOR I=222TO 288STEP 33
: IF STR(E$(),I,8)<>" "THEN D9=D9+1
: NEXT I
: IF STR(E$(),317,8)<>" "THEN D9=D9+1
: GOTO 1740
1740 D9=D9+1
: GOTO 1440
3699 ON ERRORE1$,E2$GOTO 3700
3700 DEFFN'31
: E$="IDS2PR36"
: IF E5$<"Y"THEN LOAD T#2,"IDS2PER1"1000,
: STOP "ERROR"