image of READY prompt

Wang2200.org

Listing of file='SAC120AA' on disk='vmedia/701-2003.wvd.zip'

# Sector 292, program filename = 'SAC120AA'
0010 REM PROGRAM NAME = SAC120AA
0020 REM SYSTEM NAME = BASIC ACCOUNTING SYSTEM 1A
0030 REM PROGRAM FUNCTION = PRINTS SALES REPORT
0040 REM MODULE NAME =
0050 REM THIS PROGRAM IS A PART OF A GENERALIZED APPLICATION
0060 REM SYSTEM COPYRIGHT, WANG LABS,INC. 1975
0070 REM DATE WRITTEN = 10/73
0080 REM REVISION DATE = 5/74
0090 REM REVISION DATE = MM/YY
0100 REM CURRENT WANG LIBRARY # =
0110 REM THIS PROGRAM PRINTS A SALES REPORT FOR A SPECIFIED BUT
0120 REM FLEXIBLE PERIOD
0130 REM A.FILES USED = 1. CUSTOMER MASTER FILE
0140 REM B.FUNCTIONS PERFORMED = PRINTS REPORT
0150 REM SALES ANALYSIS REPORT BY CUSTOMER
0160 REM
0170     DIM R$2,C$5,N$18,T(12),L(12)
0180 DIM U4$,U2$,U6$
0190 DIM D$8,U3$8,U$10,U0$,P$
0200     SELECT PRINT 005(64)
0210     PRINT HEX(03)
0220     GOTO 550
0230 REM GET CUSTOMER FILE ROUTINE
0240 REM B=0 BLOCK COUNT CHECK TO SEE IF FILE IS OPEN
0250 REM
0260     IF B=0 THEN 290
0270     GOTO 340
0280 REM
0290     B=1
0300 REM OPEN FILE ROUTINE
0310 REM
0320     GOSUB '250 (2,"SAC1F010",1)
0330 REM
0340     DATA LOAD DC #2,R$,C$,N$,S,T(),L()
0350 REM TEST FOR TYPE OF RECORD
0360     IF R$="A3" THEN 420
0370 REM STEP BLOCK COUNT AND RETURN TO MAIN PROGRAM
0380     B=B+1
0390     RETURN
0400 REM CLOSE FILE ROUTINE
0410 REM
0420     GOSUB '251 (2)
0430 REM TEST TO SEE IF A3 IS EOF OR EOR
0440     IF Q5$ = "F" THEN 500
0450 REM OPEN NEXT VOL.
0460     B=1
0470     GOTO 340
0480 REM  ERROR MESSAGE DISPLAY
0490 REM
0500     GOSUB '248 (3,0,1)
0510     PRINT "FILE SAC1F010 IS MISSING NORMAL ENDING FORMAT. RECREATE FILE P
     ROPERLY."
0520     END
0530 REM INITIALIZED COUNTERS  FLOWCHART POINT 1B1
0540 REM
0550     L1=60
0560     R1,R3,B = 0
0570     P1=0
0580     P=1
0590 REM INPUT ROUTINE
0600 REM INQUIRY #1 REPORT DATE  1C1
0610 REM
0620     GOSUB '243 ("ENTER REPORT DATE AS MM/DD/YY",8)
0630     IF Q6$ =" " THEN 680
0640     D$ = Q6$
0650     U3$ =Q6$
0660     GOTO 730
0670 REM
0680     GOSUB '248(3,0,1)
0690     PRINT "RE-ENTER REPORT DATE"
0700     GOTO 620
0710 REM INQUIRY #2  1E1
0720 REM
0730     GOSUB '245("ENTER BEGINNING MONTH OF PERIOD AS MM",2,0)
0740     IF Q9<=0 THEN 790
0750     M7 = Q9
0760     GOTO 910
0770 REM DATE ERROR ROUTINE
0780 REM
0790     PRINT HEX(03)
0800     GOSUB '248(3,0,1)
0810     PRINT "RE-ENTER DATES"
0820     GOTO 730
0830 REM ENDING MONTH GREATER THAN REPORT DATE - ERROR
0840 REM
0850     GOSUB '248 (0,0,15)
0860     PRINT "REPORT DATE IS ";D$;" YOUR ENDING MONTH IS ";M8
0870     PRINT "RE-ENTER DATES"
0880     GOTO 620
0890 REM INQUIRY # 3 1G1
0900 REM
0910     GOSUB '245("ENTER ENDING MONTH OF PERIOD AS MM",2,0)
0920     IF Q9=0 THEN 790
0930     M8=Q9
0940 REM CHECK  ENDING DATE< BEGINNING DATE
0950     IF M8<M7 THEN 790
0960 REM CHECK IF ENDING >12
0970     IF M8>12 THEN 790
0980 REM CHECK IF ENDING <0
0990     IF M8<0 THEN 790
1000 REM UTILITY FOR CHANGING AND EXTRACTING MONTH FROM REPORT DATE
1010 REM
1020     U$ = "0123456789"
1030 REM V3 = RESULTS
1040     V3=0
1050     FOR V2 = 1 TO LEN(U3$)
1060     U0$ = STR(U3$,V2,1)
1070       FOR V = 1 TO 10
1080          IF U0$ = STR(U$,V,1) THEN 1120
1090             NEXT V
1100     GOTO 1610
1110 REM
1120     V3=10*V3+V-1
1130        NEXT V2
1140 REM CALCULATE NET SALES THIS PERIOD
1150 REM
1160     T4,L5,P3,T5,L7,P4 =0
1170 REM M + E ARE VARIABLES USED AS REPRESENTATIVES
1180     M=M7
1190     E=M8
1200 REM
1210     FOR I = M TO E
1220       T4=T4 + T(I)
1230          NEXT I
1240 REM CALCULATE NET SALES LAST YEAR FOR THIS PERIOD
1250 REM
1260     M=M7
1270     E=M8
1280 REM
1290     FOR I = M TO E
1300       L5 = L5 + L(I)
1310          NEXT I
1320 REM CALCULATE % CHANGED FOR THIS PERIOD
1330 REM
1340 REM IF LAST YEAR = 0 DO NOT CALCULATE %
1350     IF L5=0 THEN 1380
1360     P3 =((T4-L5)/L5)*100
1370 REM CALCULATE YTD SALES FOR THIS YEAR
1380     M=1
1390     E=V3
1400 REM
1410     FOR I = M TO E
1420       T5 = T5 + T(I)
1430          NEXT I
1440 REM CALCULATE YTD SALES LAST YEAR
1450 REM
1460     M=1
1470     E=V3
1480 REM
1490     FOR I = M TO E
1500        L7 = L7 + L(I)
1510          NEXT I
1520 REM CALCULATE % CHANGED FOR YTD
1530 REM
1540 REM IF LAST YTD =0 DO NOT CALCULATE %
1550     IF L7=0 THEN 1580
1560     P4= ((T5-L7)/L7)*100
1570 REM
1580     RETURN
1590 REM A CHECK FOR ENDING > REPORT DATE
1600 REM
1610    IF M8>V3 THEN 850
1620 REM MAIN LINE 1E3
1630 REM
1640     GOSUB 260
1650     IF C$="ZZZZZ" THEN 2420
1660     IF R$ = "A2" THEN 2740
1670 REM CALCULATE NET SALES FOR PERIOD + YTD AND % CHG
1680 REM GOSUB 1140 CALCULATION SUBROUTINE
1690     GOSUB 1160
1700     IF P1=0 THEN 1830
1710     IF L1<60 THEN 1920
1720     IF P<>0 THEN 1830
1730     SELECT PRINT 215(150)
1740      P1=P1+1
1750 REM
1760      PRINT HEX(0C)
1790       L1=0
1800       GOTO 2040
1810 REM MOUNT PAPER
1820 REM
1830     P=0
1840     L1=60
1850     SELECT PRINT 005(64)
1860     PRINT HEX(03)
1870     PRINT "MOUNT NEW PAPER IN PRINTER"
1880     GOSUB ' 254
1890     GOTO 1920
1900 REM CHECK LINE COUNTER AND PRINT HEADINGS
1910 REM
1920    PRINT HEX(03)
1930    SELECT PRINT 215(150)
1940     IF L1<>60 THEN 2040
1950     P1=P1+1
1960 REM
1970     PRINT HEX(0C)
2000 REM
2010     L1=0
2020 REM PRINT HEADINGS
2030 REM
2040     IF L1<>0 THEN 2180
2050 REM
2060     PRINT " "
2070     PRINT TAB(41);"CUSTOMER NAME";TAB(77);"DATE      PAGE"
2080     PRINT " "
2090     PRINT TAB(16);"CUSTOMER SALES ANALYSIS  PERIOD = MONTH ";M7;" TO ";M8
     ;TAB(75);D$;TAB(88);P1
2100     PRINT " "
2110     PRINT "C U S T O M E R";TAB(28);"NET SALES   LAST YEAR    SALES %
     YTD NET SLS  YTD NET SLS  SALES %"
2120     PRINT "I D    N A M E";TAB(27);"THIS PERIOD SAME PERIOD    CHANGE
      THIS YEAR    LAST YEAR    CHANGE"
2130     PRINT " "
2140     L1=L1+12
2150     GOTO 2180
2160 REM PRINT DETAIL LINE
2170 REM
2180     IF R$ = "A2" THEN 2760
2190     P$="      "
2200 REM
2210     IF T4>=0 THEN 2230
2220     GOTO 2240
2230     IF L5>0 THEN 2260
2240     PRINTUSING 2550,C$,N$,T4,L5,P$;
2250     GOTO 2270
2260     PRINTUSING 2550,C$,N$,T4,L5,P3;
2270     IF T5>=0 THEN 2290
2280     GOTO 2300
2290     IF L7>0 THEN 2320
2300     PRINTUSING 2555,T5,L7,P$
2310     GOTO 2590
2320     PRINTUSING 2555,T5,L7,P4
2330     GOTO 2590
2410 REM
2420    SELECT PRINT 215(150)
2430    PRINT HEX(0A)
2440     PRINTUSING 2460,T(1);L(1);T(1);L(1)
2450 REM
2460 %ZZZZZ  WASH ACCOUNT          #,###,###   #,###,###                #,###,
     ###    #,###,###
2470 REM
2480    L1=L1+2
2490     C4 = C4 + T(1)
2500     C5 = C5 + T(1)
2510     C6 = C6 + L(1)
2520     C7 = C7 + L(1)
2530    GOTO 2650
2540 REM
2550 %#####   ##################  -#,###,###  -#,###,###   -###.##
2555 %    -##,###,###  -##,###,###  -###.##
2570 REM  ADD DETAIL DATA TO CONTROL TOTALS
2580 REM
2590     C4=C4+T4
2600     C6=C6+L5
2610     C5=C5+T5
2620     C7=C7+L7
2630 REM ADD TO LINE COUNTER
2640 REM
2650     L1=L1+1
2660 REM INCREASE NO. OF CUSTOMERS LISTED 2C1
2670 REM
2680     R1=R1+1
2690 REM RESELECT CRT
2700     GOTO 1640
2710 REM A2 CALCULATIONS AND PRINT ROUTINES
2720 REM C6 + C7 ARE CHECKED - IF 0 -% CALCULATION NOT DONE
2730 REM
2740     GOTO 1920
2750 REM
2760     IF C6=0 THEN 2790
2770     P5=((C4-C6)/C6)*100
2780 REM
2790     IF C7=0 THEN 2830
2800     P6=((C5-C7)/C7)*100
2810 REM PRINT CONTROL TOTALS  1 H3
2820 REM
2830     PRINT " "
2840     PRINT TAB(12);"REPORT TOTALS  ";
2850     IF C4>=0 THEN 2870
2860     GOTO 2880
2870     IF C6>0 THEN 2900
2880     PRINTUSING 3050,C4,C6,P$;
2890     GOTO 2910
2900     PRINTUSING 3050,C4,C6,P5;
2910     IF C5>=0 THEN 2930
2920     GOTO 2940
2930     IF C7>0 THEN 2960
2940     PRINTUSING 3055,C5,C7,P$
2950     GOTO 3090
2960     PRINTUSING 3055,C5,C7,P6
2970     GOTO 3090
3040 REM
3050 %-##,###,### -##,###,###   -###.##
3055 %   -###,###,### -###,###,###  -###.##
3060 REM
3070 REM OUT OF BALANCE CHECK  1J3
3080 REM
3090     R3= S-R1
3100     IF R3 <> 0 THEN 3220
3110 REM
3120     PRINT "END OF REPORT"
3130 REM CLOSE ROUTINE
3140 REM
3150     SELECT PRINT 005(64)
3180     PRINT HEX(03)
3190    STOP "END OF PROGRAM"
3200 REM OUT OF BALANCE PRINT 1J4
3210 REM
3220     FOR C = 1 TO 4
3230        PRINT " "
3240          NEXT C
3250     PRINTUSING 3270,S;R1;R3
3260 REM
3270 %INPUT CUSTOMER SALES ANALYSIS FILE OUT OF BALANCE #,###  CUST. EXPECTED
      #,###  READ  #,### DIFF
3280 REM
3290     PRINT " "
3300     GOTO 3120
3310 REM $