Listing of file='IDS2PS20' on disk='vmedia/701-2716B.wvd.zip'
# Sector 872, program filename = 'IDS2PS20'
1000 REM "IDS2PS20" - Release 2.1 - SCREEN/REPORT/BATCH MATH RESULT SPECIFICAT
IONS
1010 IF F6$(17)<"^"THEN SELECT @PART"IDS2SUBM"
: GOSUB 2080
: CONVERT VAL(STR(E$(),78))-31TO STR(E$(),2073,2),(##)
: IF E0$="IDS2sS20"THEN 1030
: GOSUB '32("IDS2sS20")
: GOSUB '36
1030 STR(F6$(),11,4)=ALL("Y")
: IF STR(E$(),98,1944)<>" "THEN 2000
1040 F=9
1050 F=F+1
: IF F>F0THEN 2000
: IF F<>10THEN 1065
: GOSUB '43(10)
: IF E$=" "THEN GOSUB '45(10,"N")
1065 X=MOD(F-21,9)+1
: IF F>21THEN ON XGOTO ,,,1148,,1148,1160,1148,1160
: GOTO 1070
1069 GOSUB '45(F," ")
1070 GOSUB '34(F)
: ON F-8GOTO 2070,1090,,1100
: IF F<21THEN 1050
: X=MOD(F-21,9)+1
: ON XGOTO 1120,1130,1140,1150,1140,1150,1140,1150,1140
1090 IF E$="Y"THEN 1050
: GOSUB '45(11," ")
: GOSUB '45(12," ")
: F=13
: GOTO 1070
1100 IF E$="Y"OR E$="N"THEN 1050
: GOSUB '35("Must be 'Y' or 'N'")
: GOTO 1069
1120 IF E$<>" "THEN 1121
: FOR I=F+1TO F+8
: GOSUB '45(I," ")
: NEXT I
: GOTO 2000
1121 GOSUB 2090
: MAT SEARCHE3$(),=STR(E$,,8)TO F9$STEP 8
: IF F9$>HEX(0000)THEN 1122
: IF POS("RB"=C5$)=0AND VER(E$,"@TSTFLD#")=8THEN 1050
: GOSUB '35("Invalid field name")
: GOTO 1069
1122 IF C5$<>"R"THEN 1050
: I=(VAL(F9$,2)+7)/8
: IF VAL(F$(I*9-3))>64THEN 1125
: GOTO 1050
1125 GOSUB '35("Invalid operand -- must be numeric")
: GOSUB '45(F," ")
: GOTO 1069
1130 IF E$=" "OR E$="MAX"OR E$="MIN"OR E$="MOD"OR E$="INT"OR E$="SGN"OR E$="AB
S"THEN 1132
: GOSUB '35("Must be 'MAX', 'MIN', 'INT', 'SGN', 'ABS', or blank")
: GOTO 1069
1132 STR(F0$,,3)=E$
: GOTO 1050
1134 GOSUB '35("Illogical Math Specification : Please Correct ")
: GOTO 1070
1140 IF E$>"CONSTNT0"AND E$<"CONSTNT9"OR E$=" "THEN 1145
: GOSUB 2090
: MAT SEARCHE3$(),=STR(E$,,8)TO F9$STEP 8
: IF F9$>HEX(0000)THEN 1142
: IF POS("RB"=C5$)=0AND VER(E$,"@TSTFLD#")=8THEN 1145
: GOSUB '35("Invalid operand")
: GOTO 1069
1142 IF C5$<>"R"THEN 1145
: I=(VAL(F9$,2)+7)/8
: IF VAL(F$(I*9-3))>64THEN 1125
1145 IF X=3AND E$=" "THEN 1134
: IF X=3THEN 1050
: F0$=E$
: GOSUB '43(F-1)
: IF F0$=" "AND E$=" "THEN 1050
: IF F0$<>" "AND E$<>" "THEN 1050
: F0$=E$
: GOSUB '43(F-(X-2))
: IF F0$=","AND E$<>" "THEN 1050
: GOTO 1134
1148 GOSUB '43(F-(X-2))
: IF E$=" "OR E$="INT"OR E$="ABS"OR E$="SGN"THEN 1070
: IF E$<>"MOD"OR X<6THEN GOSUB '45(F,",")
: IF E$="MOD"AND X>6THEN GOSUB '45(F," ")
: GOTO 1050
1150 F0$=E$
: GOSUB '43(F-(X-2))
: IF POS(" ,+-*/^"=F0$)=0THEN 1134
: IF E$=" "AND F0$=","THEN 1134
: IF E$="SGN"OR E$="INT"OR E$="ABS"AND POS(" +-*/^"=F0$)>0THEN 1050
: IF E$<>" "AND F0$<>","THEN 1134
: GOTO 1050
1160 GOSUB '43(F-(X-2))
: IF E$<>"MOD"THEN 1070
: GOSUB '45(F-1," ")
: GOSUB '45(F," ")
: GOTO 1050
2000 F0$="EXEC = Accept, EDIT = Modify,"
: IF J9=1THEN F0$=F0$&" FN'9 = Delete,"
: F0$=F0$&" FN'31 = Cancel"
: GOSUB '53(F0$)
: GOSUB '34(250)
: IF Q=33THEN 1040
: IF Q=32THEN LOAD T#2,"IDS2PS28"1000,
: IF Q=9AND J9<>0THEN 2060
: PRINT HEX(07);
: GOTO 2000
2060 F6$(14)="N"
: STR(E$(),2042)=" "
: FOR I=1TO 9
: C9$=STR(E$(),82,16)&E$(78)&E$(76)&BIN(I+47)
: Q=0
: IF I=1OR F6$(42+I)="Y"THEN GOSUB '41(E1$(2),C9$,.5)
: F$()=" "
: IF Q<>0THEN GOSUB '42(E1$(2),0)
: NEXT I
: F6$(14)="Y"
: LOAD T#2,"IDS2PS18"1000,
2070 F5$="IDS2PS20"
: LOAD T#2,"IDS2PS96"1000,
2080 MAT REDIM F$(27)83
: DATA LOAD DA T#3,(E4+8)F$()
: MAT REDIM F$(E9)1
: IF C5$<>"S"THEN RETURN
: Q=VAL(C7$)*9-8
: F$(Q)=STR(C7$,3)
: F$(Q+5)=STR(C7$,2)
: RETURN
2090 MAT REDIM E3$(24)83
: IF C5$="S"THEN I=51
: ELSE I=17
: DATA LOAD DA T#3,(E4+I)E3$()
: MAT REDIM E3$(249)8
: RETURN
2100 STOP #
: ON ERRORE1$,E2$GOTO 3700
3700 DEFFN'31
: E$="IDS2PS20"
: IF E5$<"Y"THEN LOAD T#2,"IDS2PER1"1000,
: STOP "ERROR"