Listing of file='GENL050A' on disk='vmedia/701-2653B.wvd.zip'
# Sector 254, program filename = 'GENL050A' 0010 REM GENL050A 0170 DIM M8$(4)60,C8(8),C9(8),D8(8),D9(8),D9$8 0172 DIM O6$Q5,O7$1,O8$30,O9$1 : GOTO 4000 4000 SELECT @PARTS0$ : PRINT HEX(03);TAB(21);"INCOME STATEMENT PRINT" : GOSUB '93(" ") : IF I0$=" "THEN GOSUB '31 : D9$=Q1$ : L=L0+5 4250 Q6$=Q1$ : GOSUB '100(" ","^",8,0,"ENTER REPORT DATE (MM/DD/YY)",3) : IF Q6$=HEX(1F)THEN GOSUB '31 : D9$=Q6$ : GOSUB '121(D9$) : IF Q6$<>"E"THEN 4290 : PRINT AT(3,0,80);HEX(07);"Invalid report date, re-enter" : GOTO 4250 4290 PRINT AT(5,0,80);"REPORT DATE = ";D9$,U9 : GOSUB '100("Y,N","YyY Nn",1,1,"IS REPORT DATE OK (Y OR N)",2) : IF Q6$=HEX(1F)THEN GOSUB '31 : IF Q9=2THEN 4250 : GOSUB '66(3,0,1) : M$(1)="ENTER PAGE HEADER MESSAGE - LINE 1" : M$(2)="ENTER PAGE HEADER MESSAGE - LINE 2" 4450 M$(3)="ENTER FOOTER MESSAGE - LINE 1" : M$(4)="ENTER FOOTER MESSAGE - LINE 2" : M8$()=ALL(20) 4480 FOR I=1TO 4 : Q6$=M8$(I) : IF Q6$<>" "THEN Q9=3 : ELSE Q9=2 : GOSUB '100(" ",HEX(7F),60,0,M$(I),Q9) : IF Q6$=HEX(1F)THEN GOSUB '31 : M8$(I)=Q6$ : PRINT AT(4+I,0,80);Q6$ : NEXT I : GOSUB '100("Y,N","YyY Nn",1,1,"ARE MESSAGE LINES OK (Y OR N)",2) : IF Q6$=HEX(1F)THEN GOSUB '31 : IF Q9=2THEN 4480 : GOSUB '232(1,0,G2$) : IF Q$<>" "THEN 4830 4610 PRINT AT(4,0,);"Processing account no. ";HEX(06) : PRINT AT(5,0);"Searching for base account ";G2$ : O$="2"&ALL(FF) : GOSUB '232(1,0,O$) 4660 GOSUB '237(1,0) : IF Q$="E"THEN 4830 : IF Q$<>" "THEN 7540 : GOSUB '75(2) : PRINT AT(4,23);O$ : Q7$="Invalid level code for account "&O$ : Q6$=" " : IF NUM(O1$)=1THEN CONVERT O1$TO O6 : ELSE GOTO 7540 : IF O6=2AND O3$<>"M"THEN GOSUB 7310 : IF O$=G2$THEN 4800 : IF O6>1THEN GOSUB 7390 : GOTO 4660 4800 IF P2$="1"THEN Q9=-1 : ELSE Q9=1 : C8=C8(O6-1)*Q9 : C9=C9(O6-1)*Q9 4830 MAT C8=ZER : MAT C9=ZER : MAT D8=ZER : MAT D9=ZER : PRINT AT(4,0,);"Processing account no. ";HEX(06) : O$="2"&ALL(FF) : GOSUB '232(1,0,O$) 4900 GOSUB '237(1,0) : IF Q$="E"THEN 5500 : IF Q$<>" "THEN 7540 : L=L+1 : GOSUB '90 : IF O$<"4"AND T7$>="4"THEN PRINT : ELSE L=L-1 : GOSUB '75(2) : SELECT PRINT 005(80) : PRINT AT(4,23);O$ : Q7$=O6$&" has no subsidiary accounts" : Q6$=" " : IF O7$="M"AND O3$=" "THEN 7540 : Q7$="A master account does not precede "&O$ : IF O7$=" "AND O3$="S"THEN 7540 : IF O7$=" "THEN 5170 5070 IF O3$="S"THEN 5240 : IF ABS(C8(O6-1))+ABS(C9(O6-1))=0THEN 5170 : GOSUB '90 : PRINT O8$;TAB(31); : GOSUB 7440 : PRINT : L=L+1 : GOSUB 7390 5170 O6$=O$ : O8$=O5$ : Q7$="Invalid level code for account "&O$ : Q6$=" " : IF NUM(O1$)=1THEN CONVERT O1$TO O6 : ELSE GOTO 7540 : IF P2$="1"THEN O9=-1 : ELSE O9=1 5240 O7$=O3$ : GOSUB 7310 : IF O3$<>" "THEN 4900 : IF O6>1AND ABS(C8(O6-1))+ABS(C9(O6-1))=0THEN 5460 : GOSUB '90 : Q6$=" " : STR(Q6$,,15)=ALL("-") : L=L+1 : IF O6>2AND O6<9THEN PRINT TAB(32);Q6$;TAB(60);Q6$ : ELSE L=L-1 : PRINT O8$;TAB(31); : IF O6>1THEN GOSUB 7440 : L=L+1 : PRINT : Q6$=" " : STR(Q6$,,13)=ALL("=") : L=L+1 : IF O6>7THEN PRINT TAB(36);Q6$;TAB(62);Q6$ : ELSE L=L-1 : L=L+1 : IF O6>2THEN PRINT : ELSE L=L-1 5460 GOSUB 7390 : SELECT PRINT 005(80) : GOTO 4900 5500 GOSUB '90 : PRINT HEX(0A) : PRINT TAB(11);M8$(3) : PRINT TAB(11);M8$(4) 5550 DEFFN'31 : LOAD TM$ 7040 DEFFN'90 : Q6$=" " : KEYIN Q6$,7080,7080 7080 IF Q6$="P"THEN GOSUB '254 : IF Q6$=HEX(1F)THEN GOSUB '31 : SELECT PRINT <I0$>(85) : IF L<L0THEN RETURN : P1=P1+1 : Q6$=STR(N2$,POS(N2$<>" ")) : Q8=LEN(Q6$) : Q7$=HEX(0C0A0D0E) : Q9=(42-Q8)*.5 : IF Q9>=0THEN 7140 : Q7$=HEX(0C0A) : Q9=42-.5*Q8 7140 PRINT Q7$;TAB(Q9);Q6$ : PRINT TAB(76);"PAGE ";P1 : PRINT HEX(0A) : PRINT TAB(26);"INCOME STATEMENT AS OF ";D9$ : PRINT HEX(0A) : L=6 : FOR I=1TO 2 : L=L+1 : IF M8$(I)<>" "THEN PRINT TAB(11);M8$(I) : ELSE L=L-1 : NEXT I : PRINT HEX(0A) : PRINT TAB(37);"CURRENT MO";TAB(53);"%";TAB(63);"YEAR-TO-DATE";TAB(81);"%" : PRINT HEX(0A) : L=L+3 : RETURN 7310 FOR I=1TO 8 : C8(I)=C8(I)+P2-P3 : C9(I)=C9(I)+P2-P3+P4-P5 : D8(I)=D8(I)+P0(12) : D9(I)=D9(I)+P : NEXT I : RETURN 7390 FOR I=1TO O6-1 : C8(I),C9(I),D8(I),D9(I)=0 : NEXT I : RETURN 7440 IF O6=9AND C8(O6-1)>0THEN PRINTUSING 7520,C8(O6-1); : ELSE PRINTUSING 7500,C8(O6-1)*O9; : IF C8<>0THEN PRINTUSING 7510,ROUND((C8(O6-1)/C8*100,3); : PRINT TAB(59); : IF O6=9AND C9(O6-1)>0THEN PRINTUSING 7520,C9(O6-1); : ELSE PRINTUSING 7500,C9(O6-1)*O9; : IF C9<>0THEN PRINTUSING 7510,ROUND((C9(O6-1)/C9*100,3); : RETURN 7500 % $###,###,###.##++ 7510 % ###.# 7520 %($###,###,###.##) 7540 GOSUB '91 : PRINT AT(1,0,80);Q7$ : PRINT AT(3,17);"- ";Q6$ : GOSUB '254 : GOTO 5550 9999 DEFFN'29"Q$=";HEX(22);"GENL050A";HEX(22);":SCRATCHTQ$:SAVET()Q$";HEX(0D)