Listing of file='GENL120A' on disk='vmedia/701-2653B.wvd.zip'
# Sector 178, program filename = 'GENL120A'
0010 REM GENL120A, RELEASE 2.2, (09/11/80) THIS PROGRAM IS A COPYRIGHT PRODU
CT OF WANG LABORATORIES INC. UNAUTHORIZED REPRODUCTION OR USE IS PROH
IBITED
0170 DIM G6$Q5,K6$(50)4
0172 DIM N8(5),F9(4)
: GOTO 4000
4000 SELECT @PARTS0$
: H0$=HEX(00)
: PRINT AT(4,0,80);"This program posts all journal entries to the chart of
accounts master file";AT(5,0,80);"and then clears all entries from the cu
rrent month's journal entries file"
4100 GOSUB '100("Y,N","YyNn",1,1,"ARE YOU SURE YOU WANT TO RUN THIS PROGRAM (Y
OR N)",2)
: IF Q9=2THEN GOSUB '31
: PRINT AT(4,0,);"Processing account no.";HEX(06)
: GOSUB '235(1,0)
: IF Q$<>" "THEN 7170
: GOTO 4430
4370 DBACKSPACE #2,1S
: GOSUB '65(2)
4390 GOSUB '237(1,0)
: IF Q$="E"THEN 4790
: IF Q$<>" "THEN 7170
4430 GOSUB '75(2)
: PRINT AT(4,23,8);O$
: Q$,Q6$=" "
: IF O1$<>"2"OR O3$="M"THEN 4390
: IF NUM(STR(O$,,1))=1THEN CONVERT STR(O$,,1)TO F9
: ELSE F9=4
: F9=MAX(MIN(F9,4),1)
: IF H0$<>HEX(00)THEN 4640
4530 J=MOD(J,50)+1
: H0$=HEX(FF)
: IF J=1THEN DATA LOAD DC #3,K6$()
: IF END THEN 4370
: IF STR(K6$(J),,1)=HEX(FF)THEN 4370
: DATA LOAD DA T#1,(STR(K6$(J),,2))M$()
: Q9=VAL(STR(K6$(J),4))
: IF STR(M$(Q9),,1)=HEX(FF)THEN 4370
: $UNPACK(F=L3$)M$(Q9)TO H2,H0$,H1$,H,H3$,H4$,H5$,H1
4640 IF O$<H0$THEN 4370
: IF O$=H0$THEN 4710
: PRINT AT(1,0,80);"Trans no";H2;"for account no. ";H0$;" will be dropped";
HEX(07)
: PRINT AT(3,0,80);H0$;" is not a postable account"
: GOSUB '254
: GOTO 4530
4710 IF H1>=0THEN P2=P2+H1
: ELSE P3=P3-H1
: IF F9>2THEN N6=N6+H1
: F9(F9)=F9(F9)+H1
: P0=MAX(P0,H)
: GOTO 4530
4790 $OPEN #5
: GOSUB '66(5,Q1,1)
: FOR I=1TO 4
: M(9+I)=M(9+I)+F9(I)
: NEXT I
: GOSUB '66(5,Q1,0)
: GOSUB '66(5,0,1)
: FOR I=1TO 4
: M(9+I)=M(9+I)+F9(I)
: NEXT I
: F5$(1)="1"
: GOSUB '66(5,0,0)
: $CLOSE#5
: DBACKSPACE #3,BEG
: GOSUB '218(S$(3),3," ",0)
: DBACKSPACE #4,BEG
: GOSUB '218(S$(4),4," ",0)
: IF M(4)+M(5)+M(6)+M(7)+M(8)=0OR G$()=" "OR N6=0THEN 5960
5010 PRINT AT(4,0,640);AT(5,0);"RET. EARN. ACCOUNT NO.";TAB(34);"% DIST"
: FOR I=1TO 5
: O1$=" "
: GOSUB '232(1,0,G$(I))
: G$(I)=" "
: IF Q$=" "THEN GOSUB '75(2)
: IF O1$<>"2"OR O3$="M"THEN 5120
: G$(I)=O$
: PRINT TAB(5);"(";I;") ";G$(I);TAB(33);
: IF M(I+3)<>0THEN PRINTUSING "###.###",M(I+3)
: ELSE PRINT
5120 NEXT I
5140 GOSUB '100("0","5",1,0,"ENTER LINE NO. TO CORRECT (0=END)",1)
: IF Q6$=HEX(1F)THEN GOSUB '31
: J6=Q9
: IF J6=0THEN 5470
: Q6$=G$(J6)
: M(J6+3)=0
: IF Q6$=" "THEN Q9=2
: ELSE Q9=3
: GOSUB '100(" ",HEX(7F),VAL(Q0$(5)),0,"ENTER RETAINED EARNINGS ACCOUNT NO.
",Q9)
: IF Q6$=HEX(1F)THEN GOSUB '31
: G6$,G$(J6)=" "
: G6=0
: IF Q6$=" "THEN 5430
5280 GOSUB '96(5)
: G6$=Q6$
: GOSUB '232(1,0,G6$)
: GOSUB '91
: IF J0<>0THEN 5140
: GOSUB '75(2)
: IF O1$="2"AND O3$<>"M"THEN 5370
: PRINT AT(3,0,80);HEX(07);"Illegal account no., re-enter"
: GOTO 5140
5370 G$(J6)=G6$
: PRINT AT(1,0,80);"ENTER PERCENTAGE (";J6;")"
: GOSUB '100("0","100.00",3,3," ",1)
: IF Q6$=HEX(1F)THEN GOSUB '31
: G6=Q9
5430 PRINT AT(J6+5,5,75);"(";J6;") ";G6$;TAB(33);
: IF G6<>0THEN PRINTUSING "###.###",G6
: ELSE PRINT TAB(79)
: M(J6+3)=G6
: GOTO 5140
5470 Q9=0
: FOR I=1TO 5
: Q9=Q9+M(I+3)
: NEXT I
: IF Q9=100THEN 5620
: IF Q9<100THEN 5550
: PRINT AT(3,0,80);HEX(07);"R/E percentages exceed 100 percent, re-enter"
: GOTO 5140
5550 PRINT AT(3,0,80);HEX(07);"Distribution percentages less than 100 %"
: GOSUB '100("Y,N","YyY Nn",1,1,"ACCEPT ENTRIES (Y OR N)",2)
: IF Q6$=HEX(1F)THEN GOSUB '31
: IF Q9=2THEN 5140
5620 GOSUB '93(" ")
: PRINT AT(4,0,)
: IF I0$<>" "THEN GOSUB '90
: PRINT HEX(0A0A);TAB(9);"R/E ACCT";TAB(25);"R/E %";TAB(37);"NET POSTED"
: PRINT " "
: FOR I=1TO 5
: N8(I)=ROUND((N6*M(I+3)*.01,2)
: IF G$(I)=" "THEN N8(I)=0
: ELSE N7=N7+N8(I)
: NEXT I
: Q9=N6-N7
: FOR I=1TO 5
: IF G$(I)=" "THEN 5930
: PRINT TAB(9);G$(I);TAB(23);
: PRINTUSING "###.###",M(I+3);
: PRINT TAB(34);
: N8(I)=N8(I)+Q9
5800 PRINTUSING "##,###,###.##-",N8(I);
: Q9=0
: GOSUB '232(1,0,G$(I))
: IF Q$=" "THEN 5870
: PRINT "***NOT POSTED***"
: GOTO 5930
5870 PRINT
: GOSUB '75(2)
: IF N8(I)<0THEN P3=P3-N8(I)
: ELSE P2=P2+N8(I)
: P0=Q1
: DBACKSPACE #2,1S
: GOSUB '65(2)
5930 NEXT I
: IF I0$=" "THEN GOSUB '254
: ELSE PRINT HEX(0C)
5960 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$>(90)
: 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(15);"UPDATE CHART OF ACCOUNTS - CONTROL REPORT"
: PRINT
: RETURN
7170 GOSUB '91
: PRINT AT(1,0,80);Q7$;HEX(07)
: PRINT AT(3,16,64);Q6$
: GOSUB '254
: GOTO 5960
9999 DEFFN'29"Q$=";HEX(22);"GENL120A";HEX(22);":SCRATCHTQ$:SAVET()Q$";HEX(0D)