image of READY prompt

Wang2200.org

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)