image of READY prompt

Wang2200.org

Listing of file='GBS3010A' on disk='vmedia/701-2654C.wvd.zip'

# Sector 609, program filename = 'GBS3010A'
0010 REM GBS3010A, RELEASE 2.2, (09/15/80) THIS PROGRAM IS A COPYRIGHT PRODUCT
      OF WANG LABORATORIES INC. UNAUTHORIZED REPRODUCTION OR USE IS PROHIBITED
0020 REM ---------------------------------------------------------------------
     --
0030 REM SYSTEM & MODULE   =  GBS/MVP INVOICING SYSTEM, CONTROL FILE INQUIRY/L
     IST
0040 REM PROGRAM FUNCTION  =  DISPLAY AND/OR PRINT THE CONTROL FILE
0050 REM DATE WRITTEN      =  03/08/79
0060 REM LAST REVISION     =  09/15/80 TM
0065 REM THIS PROGRAM WAS UPGRADED TO 2.2 BY ERRATA 1173
0070 REM ---------------------------------------------------------------------
     --
0170     DIM A6$1,B6$1,C6$1,D6$8,D7$5
0172     DIM K$1,K1$3,K2$3,K3$17
0174     DIM M6(17),M7(17)
0198     GOTO 4000
3990 REM
3996 REM *****************************
3997 REM ! CONTROL FILE INQUIRY/LIST !
3998 REM *****************************
3999 REM
4000     SELECT @PART S0$
4010 REM %PROGRAM CONSTANTS
4020     A6$="N"
4030     B6$="Y"
4040     K2=366
4050     K,K1,P1=0
4060     L=60
4070 REM %ACQUIRE REPORT OPTIONS
4080     GOSUB '100("Y,N","NnYyY ",1,1,"PRINT REPORT (Y OR N)",2)
4090     IF Q6$=HEX(1F) THEN GOSUB '31
4100     A6$=Q6$
   : REM SAVE 'PRINT' SWITCH
4110     IF A6$="Y"THEN 4140
4120     $CLOSE#15
   : REM RELEASE PRINTER
4130     GOTO 4220
4140     GOSUB '93(" ")
   : REM IS PRINTER AVAILABLE?
4150     IF I0$=" "THEN A6$="N"
   : REM DID WE GET THE PRINTER?
4160 REM %SCREEN DISPLAY?
4170     GOSUB '100("Y,N","NnYyY ",1,1,"SCREEN DISPLAY (Y OR N)",2)
4180     IF Q6$=HEX(1F) THEN GOSUB '31
4190     B6$=Q6$
   : REM SAVE 'DISPLAY' SWITCH
4200     IF B6$="N" AND A6$="N" THEN 4970
   : REM NO PRINT, NO DISPLAY?
4210 REM %CHOOSE INQUIRY TYPE
4220     PRINT AT(5,0,)
4230     GOSUB '100("A,R,I","AaIiRr",1,1,"ENTER INQUIRY TYPE  (A=ALL, R=RANGE,
      I=INDIVIDUAL)",2)
4240     IF Q6$=HEX(1F) THEN GOSUB '31
4250     K$=Q6$
4260     Q6$="ALL       RANGE     INDIVIDUAL"
4270     K3$=STR(Q6$,Q9*10-9,10)
4280     K3$=K3$&" OPTION"
   : REM INITIALIZE OPTION CAPTION
4290     ON Q9GOTO 4460,4370,4310
   : REM BRANCH BASED ON INQUIRY TYPE
4300 REM %INDIVIDUAL OPTION
4310     GOSUB '34(HEX(08),"(000,")
   : REM ACQUIRE DATE
4320     IF Q6$="END"THEN 4850
4330     K,K1,K2=Q9
4340     GOTO 4460
4350 REM %RANGE OPTION
4360     PRINT AT(3,0,80);"Starting date must be earlier than ending date.";HE
     X(07)
4370     MAT M6=ZER
4380     L=60
4390     GOSUB '34("STARTING","(000,")
   : REM ACQUIRE STARTING DATE
4400     IF Q6$="END"THEN 4970
4410     K,K1=Q9
4420     K2=366
4430     GOSUB '34("ENDING","(")
   : REM ACQUIRE ENDING DATE
4440     IF Q6$<>"END"THEN K2=Q9
4445     IF K2=0 THEN 4360
4450     IF K2<K1 THEN 4360
   : REM STARTING DATE > ENDING DATE ?
4460     GOSUB '66(1,K,1)
   : REM READ CONTROL FILE
4470 REM %CONVERT DATES
4480     IF B6$="N"THEN PRINT AT(1,0,80);"PROCESSING DATE SECTOR ";K
4490     K=K+1
   : REM INCREMENT NO. OF RECORDS PROCESSED
4510     C6$="Y"
4520     IF MAX(M())=0 AND MIN(M())=0THEN C6$="N"
4530     IF C6$="N" AND B6$="N" THEN 4660
4535     IF K=1 THEN 4600
4540     GOSUB '123(INT(Q1/1E3)*1E3+K-1)
4550 REM ACCUMULATE TOTALS
4560     MAT M6=M6+M
4570     MAT M7=M7+M
4580     M6(16),M7(16)=0
4590 REM %DISPLAY/PRINT
4600     PRINT AT(4,0,)
4610     IF B6$="Y"THEN GOSUB 6320
4620     IF A6$="Y"THEN GOSUB '90
4630     L=L+1
4640     IF A6$="Y" AND C6$="Y" THEN GOSUB 6320
   : ELSE L=L-1
4650     SELECT PRINT 005(80)
4660     IF K$="I"THEN 4310
   : REM GET ANOTHER INDIVIDUAL RECORD?
4670     IF K-1>=K2 THEN 4730
   : REM END OF RANGE?
4680     IF B6$="Y"THEN GOSUB '254
   : REM PAUSE AFTER EACH SCREEN
4690     IF Q6$=HEX(1F)THEN GOSUB '31
4700 REM %PROCESS NEXT RECORD
4710     GOTO 4460
4720 REM %PRINT TOTALS
4730     IF A6$="N"AND K$="R"THEN 4370
4740     IF A6$="N"OR K$<>"R"THEN 4850
4750     GOSUB '90
4760     PRINT HEX(0A)
4770     U9$="RANGE"
4780     MAT M=M6
4790     U9=0
4800     GOSUB 6320
4810     PRINT HEX(0A)
4820     SELECT PRINT 005(80)
4830     GOTO 4370
   : REM ANOTHER RANGE
4840 REM INDIVIDUAL, ALL OPTIONS
4850     IF A6$="N" THEN 4970
4860     L=60
4870     GOSUB '90
4880     PRINT HEX(0A)
4890     U9$="FINAL"
4900     MAT M=M7
4910     K=2
4920     U9=0
4930     GOSUB 6320
4940     MAT M7=ZER
4950     PRINT HEX(0C)
4960 REM %RESTART/MENU
4970     SELECT PRINT 005(80)
4980     PRINT AT(1,0,)
4990     GOSUB '100("M,R","MmRr",1,1,"KEY R TO RESTART, M FOR MENU",2)
5000     IF Q6$=HEX(1F) THEN GOSUB '31
5010     IF Q6$="R"THEN 4000
5020 REM %END OF PROGRAM
5030     DEFFN '31
5040     LOAD TM$
6000 REM %^SUBROUTINES
6010 REM %PAGE EJECT
6020     DEFFN'90
6030     Q6$=" "
6040     KEYIN Q6$,6050,6050
   : REM OPERATOR INTERRUPT CHECK
6050     IF Q6$="P" THEN GOSUB '254
6060     IF Q6$=HEX(1F) THEN GOSUB '31
6070     SELECT PRINT <I0$>(132)
6080     IF L<=4THEN RETURN
   : REM LINE COUNT CHECK
6090     P1=P1+1
6100     PRINT HEX(0C0A0E);TAB(3);N2$
   : REM PRINT TOP OF PAGE
6110     PRINT K3$;TAB(50);"CONTROL FILE";TAB(110);Q1$;TAB(122);"PAGE ";P1
6120     PRINT HEX(0A)
6130     L=0
6140     RETURN
6150 REM %ACQUIRE DATE
6160     DEFFN'34(D6$,D7$)
6170     Q9=0
6180     PRINT AT(1,0,80);"ENTER ";D6$;" DATE  ";D7$;"MM/DD/YY, END)"
6190     GOSUB '100(" ",HEX(7F),8,0," ",2)
6200     IF Q6$=HEX(1F) THEN GOSUB '31
6210     IF Q6$="end" THEN Q6$="END"
6220     IF Q6$="END" OR Q6$="000"THEN RETURN
6230     GOSUB '121(Q6$)
6240     Q9=MOD(U9,1E3)
6250     IF Q6$<>"E" THEN RETURN
6260     PRINT AT(3,0,80);HEX(07);"Invalid date, re-enter."
6270     GOTO 6160
6280    %###,###,###.##-
6290    %#####
6300    %########
6310 REM CONTROL RECORD PRINT
6320     Q5=24
   : REM SECTOR '000' - ALPHANUMERICS
6330     Q6=52
   : REM SECTOR '000' - NUMERICS
6340     Q7=22
   : REM LEFT COLUMN - NUMERIC FIELDS
6350     Q8=40
   : REM RIGHT COLUMN - FIELD LABELS
6360     Q9=64
   : REM RIGHT COLUMN - NUMERIC FIELDS
6370     IF K>1 THEN 6800
6380     PRINT "CONTROL RECORD"
6390 REM %CONTROL RECORD PRINT
6400     PRINT HEX(0A)
6410     PRINT "DATE OF LAST UPDATE";TAB(Q5);
6420     PRINTUSING 6290,M(1);
6430     PRINT TAB(Q8);"FISCAL MO 1 = CAL M0";TAB(Q9-1);
6440     PRINTUSING "##",M(14)
6450     PRINT "OPEN ITEM PRINT DATE";TAB(Q5);
6460     PRINTUSING 6290,M(3);
6470     PRINT TAB(Q8);"CURRENT FISCAL MONTH";TAB(Q9-1);
6480     PRINTUSING "##",M(9)
6490     PRINT "SORT FLAG";TAB(Q5);M3$;TAB(Q8+2);"**YEAR-TO-DATE TOTALS**"
6500     PRINT "G/L UPDATE FLAG";TAB(Q5);F5$(1);
6510     PRINT TAB(Q8);"ASSETS";TAB(Q6);
6520     PRINTUSING 6280,M(10)
6530     PRINT "PAYMENT SELECT FLAG";TAB(Q5);F5$(2);
6540     PRINT TAB(Q8);"LIABILITIES";TAB(Q6);
6550     PRINTUSING 6280,M(11)
6560     PRINT "DISTRIBUTION REP FLAG";TAB(Q5);F5$(3);
6570     PRINT TAB(Q8);"INCOME";TAB(Q6);
6580     PRINTUSING 6280,M(12)
6590     PRINT "G/L BASE ACCOUNT NO.";TAB(Q5);G2$;
6600     PRINT TAB(Q8);"EXPENSE";TAB(Q6);
6610     PRINTUSING 6280,M(13)
6620     PRINT "A/P TRADE ACCOUNT NO.";TAB(Q5);M4$;
6630     PRINT TAB(Q8);"A/P BALANCE";TAB(Q6);
6640     PRINTUSING 6280,M(2)
6650     PRINT HEX(0A)
6660     PRINT TAB(Q5+3);"**RETAINED EARNINGS**"
6670     PRINT TAB(Q5+8);"ACCOUNT";TAB(Q8+7);"%"
6680     FOR I = 1 TO 5
6690       PRINT TAB(Q5+3);
6700       PRINTUSING "(#) ";I;
6710       PRINTUSING 6300,G$(I);
6720       PRINT TAB(Q8+2);
6730       PRINTUSING "###.##",M(3+I)
6740     NEXT I
6750     PRINT HEX(0A)
6760     RETURN
6770     PRINT HEX(0A0A)
6780     RETURN
6790 REM %DAILY RECORD PRINT
6800     PRINT TAB(6);"DATE";TAB(Q7-7);U9$;TAB(Q8);
6810     IF U9>0 THEN PRINT "JULIAN DATE";TAB(Q9+1);U9;
6820     PRINT
6830     PRINT HEX(0A)
6840     PRINT "CREDIT MEMO TOTAL";TAB(Q7);
6850     IF M(6)<>0THEN PRINTUSING 6280,M(6);
6860     PRINT TAB(Q8);"NO. OF CHECKS PRINTED";TAB(Q9);
6870     IF M(1)<>0THEN PRINTUSING 6300,M(1)
   : ELSE PRINT
6880 REM
6890     PRINT "INVOICE TOTAL";TAB(Q7);
6900     IF M(7)<>0THEN PRINTUSING 6280,M(7);
6910     PRINT TAB(Q8);"LAST CHECK NO. PRINTED";TAB(Q9);
6920     IF M(2)<>0THEN PRINTUSING 6300,M(2)
   : ELSE PRINT
6930 REM
6940     PRINT "PRINTED CHECKS TOTAL";TAB(Q7);
6950     IF M(3)<>0THEN PRINTUSING 6280,M(3);
6960     PRINT TAB(Q8);"CURRENT ASSETS";TAB(Q9);
6970     IF M(10)<>0THEN PRINTUSING 6280,M(10)
   : ELSE PRINT
6980 REM
6990     PRINT "CASH DISCOUNTS TAKEN";TAB(Q7);
7000     IF M(8)<>0THEN PRINTUSING 6280,M(8);
7010     PRINT TAB(Q8);"CURRENT LIABILITIES";TAB(Q9);
7020     IF M(11)<>0THEN PRINTUSING 6280,M(11)
   : ELSE PRINT
7030 REM
7040     PRINT "'E' PAYMENTS TOTAL";TAB(Q7);
7050     IF M(4)<>0THEN PRINTUSING 6280,M(4);
7060     PRINT TAB(Q8);"CURRENT INCOME";TAB(Q9);
7070     IF M(12)<>0THEN PRINTUSING 6280,M(12)
   : ELSE PRINT
7080 REM
7090     PRINT "'X' PAYMENTS TOTAL";TAB(Q7);
7100     IF M(5)<>0THEN PRINTUSING 6280,M(5);
7110     PRINT TAB(Q8);"CURRENT EXPENSE";TAB(Q9);
7120     IF M(13)<>0THEN PRINTUSING 6280,M(13)
   : ELSE PRINT
7130 REM
7140     PRINT HEX(0A)
7150     PRINT TAB(Q8);"A/P BALANCE";TAB(Q9);
7160     IF M(9)<>0THEN PRINTUSING 6280,M(9)
   : ELSE PRINT
7170     RETURN
9000 REM %^VARIABLES
9010 REM A6$  = PRINT REPORT?
9020 REM B6$  = SCREEN DISPLAY?
9030 REM C6$  = REPORT TYPE
9040 REM D6$  = PROMPT FOR DATE
9050 REM D7$  = PROMPT FOR DATE
9060 REM  K0  = NO. OF RECORDS - FINAL TOTAL
9070 REM   K  = NO. OF RECORDS - RANGE TOTAL
9080 REM  K$  = INQUIRY TYPE
9090 REM K1$  = STARTING DATE
9100 REM K2$  = ENDING DATE
9110 REM K3$  = OPTION CAPTION
9120 REM $
9998 DEFFN'29"Q$=";HEX(22);"GBS3010A";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 - Print/display A/P Control file.";HEX(22);":SELECT#15<I0$>:$OPE
     N#15:SELECTLIST<I0$>(132): LIST Z$:LIST Z$#:LIST Z$V:LIST Z$':$CLOSE#15:S
     ELECTLIST005(80)";HEX(0D)