Listing of file='GENL020A' on disk='vmedia/701-2653B.wvd.zip'
# Sector 5, program filename = 'GENL020A'
0010 REM GENL020A, RELEASE 2.0, (06/01/79) THIS PROGRAM IS A COPYRIGHT PRODUCT
OF WANG LABORATORIES INC. UNAUTHORIZED REPRODUCTION OR USE IS PROHIBITED
0170 DIM I9$1
: GOTO 4000
4000 SELECT @PARTS0$
: I9=12
: B6=15
: C6=9
: B7=15
: C7=9
: LIMITS T#3,S$(3),Q6,Q7,Q8
: Q9=(Q8-2)/(Q7-Q6-1)
: IF Q9>.8THEN PRINT AT(3,0);"Maintenance audit file is more than";INT(Q9*1
00);"% full."
: IF Q9<.95THEN 4140
: GOSUB '254
: GOSUB '31
4140 GOSUB '238(1)
: GOSUB '100(" ",HEX(7F),VAL(Q0$(5)),0,"ENTER ACCOUNT NO. (OR END)",2)
: IF Q6$=HEX(1F)OR Q6$="END"OR Q6$="end"THEN GOSUB '31
: IF Q6$=" "THEN 4140
: GOSUB '96(5)
: O$=Q6$
: PRINT AT(4,0,);TAB(10);"ACCOUNT NO. - ";O$
: GOSUB '100("A,C,D","AaCcDdC ",1,1,"ENTER TRANSACTION TYPE (A,C, OR D)",2)
: IF Q6$=HEX(1F)THEN GOSUB '31
4240 I9$=Q6$
: Q6$="Add ChangeDelete"
: PRINT AT(4,0);STR(Q6$,Q9*6-5,6)
: IF I9$<>"A"THEN 4450
: GOSUB '232(1,0,O$)
: IF Q$="N"THEN 4330
: PRINT AT(3,0,80);HEX(07);"Account No. ";O$;" is already in the Chart of A
ccounts File"
: GOTO 4140
4330 GOSUB '36
: GOSUB '37
: GOSUB '32
: GOSUB '33
: GOSUB '233(1,1,O$,0)
: GOSUB '91
: IF J0>0THEN 4140
: GOSUB '65(2)
: G5$(G0)="New Account"
: GOSUB 4730
: GOTO 4140
4450 GOSUB '232(1,1,O$)
: GOSUB '91
: IF J0>0THEN 4140
: GOSUB '75(2)
: IF T7$=O$THEN 4520
: PRINT AT(3,0,80);HEX(07);"Record ID in key file does not match the record
ID from the master file"
: GOTO 4140
4520 GOSUB '37
: IF I9$="D"THEN 4590
: GOSUB '33
: DBACKSPACE #2,1S
: GOSUB '65(2)
: GOTO 4140
4590 IF P2-P3+P4-P5=0THEN 4620
: PRINT AT(3,0,80);HEX(07);"Record cannot be deleted, Balance exists."
: GOTO 4140
4620 GOSUB '100("Y,N","YyNn",1,1,"DELETE (Y OR N)",2)
: IF Q6$<>"Y"THEN 4140
: GOSUB '231(1,0,O$)
: GOSUB '91
: IF J0>0THEN 4140
: O$=HEX(FF)
: GOSUB '65(2)
: G5$(G0)="Deleted Account"
: GOSUB 4730
: GOTO 4140
4730 G2$(G0)=" "
: G3$(G0)=O5$
4750 G0$(G0)="9"&O$
: G1$(G0)=I9$
: G0=G0+1
: IF G0<4THEN RETURN
: GOSUB '49(3)
: G0=1
: G0$()=ALL(FF)
: IF Q9<.95THEN RETURN
: GOSUB '254
4850 DEFFN'31
: IF G0>1THEN GOSUB '49(3)
: LOAD TM$
6020 DEFFN'36
: O1$,O3$,O5$,P1$,P2$,O2$()=" "
: O4$="0"
: P0,P,P2,P3,P4,P5=0
: MAT P=ZER
: MAT P0=ZER
: RETURN
6060 DEFFN'37
: PRINT AT(5,0,)
: G7=0
: FOR I=1TO I9
: GOSUB '35
: NEXT I
6122 IF O$<"3"THEN RETURN
: PRINT AT(13,17,63);"* * * * * F I S C A L B U D G E T * * * * *"
: FOR I=I9+1TO I9+12
: GOSUB '35
: NEXT I
: RETURN
6150 DEFFN'33
: IF O$<"3"THEN Q9=I9
: ELSE Q9=I9+12
: CONVERT Q9TO Q7$,(##)
: PRINT AT(1,0,80);"ENTER ITEM NO.(0=END, -1=VOID)";
: GOSUB '100("-1",Q7$,2,0," ",1)
: IF Q6$=HEX(1F)THEN GOSUB '31
: I=Q9
: IF I=-1THEN 6290
: IF I=0THEN RETURN
: Q7$=" "
: G7=G7+1
: Q6$="Report flag not applicable, re-enter"
: IF I=6AND O$<"3"THEN 6272
6243 Q6$="Subsidiary code not applicable"
: IF I=3AND O1$<>"2"THEN 6272
: Q6$="No budget field exists, re-enter."
: IF I<=I9THEN 6250
: IF O1$<>"2"OR O3$="M"THEN 6272
6250 GOSUB '35
: IF I9$="C"THEN GOSUB 4750
: GOTO 6150
6272 PRINT AT(3,0,80);HEX(07);Q6$
: GOTO 6150
6290 RETURN CLEAR
6300 IF I9$="A"OR G7=0THEN 4140
: CONVERT MIN(G7,99)TO Q6$,(##)
: G2$(G0)=Q6$&" Previous edits for"
: G3$(G0)="This account are void."
: GOSUB 4750
: GOTO 4140
6370 DEFFN'32
: G7=1
: FOR I=1TO I9
: Q7$=" "
: IF I>4AND I<8THEN 6420
: IF O$>="3"AND I=4THEN 6420
: GOSUB '35
6420 NEXT I
: IF O$<"3"OR O1$<>"2"OR O3$="M"THEN RETURN
: GOSUB '100("Y,N","YyY Nn",1,1,"FISCAL BUDGET ENTRY DESIRED (Y OR N)",2)
: IF Q9=2THEN RETURN
: GOTO 6122
6450 DEFFN'34(Q6$,Q9,G5$(G0),Q7$,Q$(1),Q$(2),Q3,Q4,Q5)
: IF G7>0THEN PRINT AT(1,0,80);"ENTER ";G5$(G0);Q7$
: IF Q5<2THEN GOSUB 6650
: G2$(G0)=Q6$
: IF Q6$>" "AND Q5=2THEN Q5=3
: IF Q9<>0AND Q5=1THEN Q5=0
: IF G7>0THEN GOSUB '100(Q$(1),Q$(2),Q3,Q4," ",Q5)
: IF Q6$=HEX(1F)THEN GOSUB '31
: IF Q5<2THEN GOSUB 6650
: G3$(G0)=Q6$
: Q8=42
: IF I>I9+6THEN 6575
6545 IF I>INT(I9/2)AND I<=I9THEN 6575
: IF I<I9THEN Q2=0
: ELSE Q2=8-I9
: PRINT AT(I+5+Q2,0,Q8);
: PRINTUSING "##) ";I;
: B8=Q8-2-MAX(LEN(Q6$),B6)
: IF Q5<2THEN B8=B8+C6-Q3
: GOTO 6595
6575 IF I<=I9THEN Q2=INT(I9/2)
: ELSE Q2=I9-2
: PRINT AT(I+5-Q2,Q8,79-Q8);
: PRINTUSING "##) ";I;
: B8=80-B7-2
: IF Q5<2THEN B8=B8+C7-Q3
6595 IF I9$="C"AND I=3AND ABS(P2)+ABS(P3)+ABS(P4)+ABS(P5)<>0THEN Q6$=O3$
: PRINT G5$(G0);TAB(B8);Q6$
: RETURN
6650 Q6$=ALL("#")
: Q7$=STR(Q6$,,Q3)
: IF Q4>0THEN Q7$=Q7$&"."&STR(Q6$,,Q4)
: Q7$=Q7$&"-"
: Q6$=ALL(00)
: PRINTUSING TO Q6$,Q7$,Q9
: Q6$=STR(Q6$,3,LEN(Q7$))
: RETURN
6730 DEFFN'35
: A7=G7
: ON IGOSUB 6800,6806,6812,6820,6826,6832,6838,6852,6852,6852,6852,6852
: IF I>I9THEN GOSUB 6872
: G7=A7
: RETURN
6800 GOSUB '34(O5$,0,"NAME"," FOR ACCOUNT"," "," ",30,0,2)
: O5$=Q6$
: RETURN
6806 GOSUB '34(O1$,0,"LEVEL CODE"," ","1","9",1,0,2)
: O1$=Q6$
: RETURN
6812 IF I9$="A"AND O1$<>"2"THEN G7=0
: GOSUB '34(O3$,0,"SUBSIDIARY CODE"," ","M, ,S","MmSs",1,1,2)
: IF ABS(P2)+ABS(P3)+ABS(P4)+ABS(P5)=0THEN 6817
: IF G7<>0THEN PRINT AT(3,0,80);HEX(07);"Invalid, account has a balance"
: GOTO 6818
6817 O3$=Q6$
6818 RETURN
6820 IF I9$="A"AND O3$="S"THEN G7=0
: GOSUB '34(O4$,0,"BAL SH COL CODE"," ","0","3",1,0,2)
: O4$=Q6$
: RETURN
6826 GOSUB '34(P1$,0,"CASH FLAG (not used)"," "," ","1",1,0,2)
: P1$=Q6$
: RETURN
6832 IF I9$="A"AND O$<"3"THEN G7=0
: IF P2$=" "THEN P2$="0"
: GOSUB '34(P2$,0,"REPORT SIGN FLAG"," ","0","1",1,0,2)
: P2$=Q6$
: RETURN
6838 GOSUB '123(P0)
: IF Q6$<>"E"THEN Q6$=U9$
: ELSE Q6$=" "
: GOSUB '34(Q6$,0,"LAST POST DATE"," (MM/DD/YY)"," "," ",8,0,2)
: IF Q6$=" "THEN RETURN
: GOSUB '121(Q6$)
: IF Q6$<>"E"THEN 6850
: PRINT AT(3,0,80);HEX(07);"Illegal date, re-enter."
: GOTO 6838
6850 P0=U9
: RETURN
6852 CONVERT I-7TO Q6$,(#)
: Q7$="SCHEDULE ID "&Q6$
: GOSUB '34(STR(O2$(I-7),,2),0,Q7$," "," ",HEX(7F),2,0,2)
: IF Q6$<>" "OR G7=0THEN 6857
: I=I9
: RETURN
6857 STR(O2$(I-7),,2)=Q6$
: IF G7=0THEN 6868
: PRINT AT(1,0);"ENTER ";G5$(G0);" - REPORT CODE"
: Q6$=STR(O2$(I-7),3)
: GOSUB '100("0","1",1,0," ",2)
: IF Q6$=HEX(1F)THEN GOSUB '31
: STR(O2$(I-7),3)=Q6$
6868 PRINT AT(I-1,80-B7+3);"- ";STR(O2$(I-7),3)
: RETURN
6872 CONVERT I-I9TO Q6$,(##)
: Q7$="FISCAL MO. "&Q6$
: GOSUB '34(" ",P0(I-I9),Q7$," BUDGET AMOUNT","-999999999.99","999999999.99
",9,2,1)
: P0(I-I9)=Q9
: RETURN
9998 DEFFN'29"Q$=";HEX(22);"GENL020A";HEX(22);":SCRATCH TQ$:SAVET$()Q$";HEX(0D
)
9999 DEFFN'30"DIM Z$57:IF STR(I0$,,1)=HEX(20)THENI0$=HEX(323135):Z$=";HEX(22);
"GBS/MVP - MAINTAIN CHART OF ACCOUNTS.";HEX(22);":SELECT#15<I0$>:$OPEN#15
:SELECTLIST<I0$>(132): LIST Z$:LIST Z$#:LIST Z$V:LIST Z$':LISTZ$THEX(7A):
$CLOSE#15:SELECTLIST005(80)";HEX(0D)