image of READY prompt

Wang2200.org

Listing of file='FCST124A' on disk='vmedia/701-2663.wvd.zip'

# Sector 156, program filename = 'FCST124A'
0010 REM FCST124A, RELEASE 1-0, (05/24/79), THIS PROGRAM IS A COPYRIGHT PRODUC
     T OF WANG LABORATORIES., UNAUTHORIZED REPRODUCTION OR USE IS PROHIBITED,
     SIMULATOR DATA ENTRY II
4000 DIM K$(1)2,K4$9,K1$(44)5,B7$(1)8,F8$1,B8$14
   : GOTO 5380
4020 IF Q6$<>HEX(1F)THEN RETURN
   : PRINT AT(1,0,80);HEX(07);"THE PROGRAM WILL BE TERMINATED"
   : GOSUB '31
4045 DEFFN'101(Q$(1),Q$(2),Q3,Q4,Q6$,Q9)
   : PRINT AT(1,0,80);"ENTER ";Q6$
   : GOSUB '100(Q$(1),Q$(2),Q3,Q4," ",0)
   : GOSUB 4020
   : RETURN
4080 CONVERT K8TO Q$(2),(##)
   : GOSUB '100("0",Q$(2),2,0,"ENTER ITEM NUMBER IN ERROR  (0=END)",1)
   : GOSUB 4020
   : RETURN
4110 GOSUB '101("0","999999",6,1,"DESEASONALIZED DEMAND",D)
   : D=Q9
4120 PRINT AT(5,0,64);"1. DESEASONALIZED DEMAND =";D
   : RETURN
4140 GOSUB '101("0","999999",6,1,"SAFETY FACTOR",D0)
   : D0=Q9
4150 PRINT AT(6,0,64);"2. SAFETY FACTOR =";D0
   : RETURN
4170 GOSUB '101("0","999999.9",6,1,"MEAN ABSOLUTE DEVIATION",G2)
   : G2=Q9
4180 PRINT AT(7,0,64);"3. MEAN ABSOLUTE DEVIATION =";G2
   : RETURN
4200 GOSUB '101("-999999.9","999999.9",6,1,"MEAN SIGNED DEVIATION",G1)
   : G1=Q9
4210 PRINT AT(8,0,64);"4. MEAN SIGNED DEVIATION =";G1
   : RETURN
4230 GOSUB '101("-999999.9","999999.9",6,1,"VARIABLE TREND",G)
   : G=Q9
4240 PRINT AT(9,0,64);"5. VARIABLE TREND =";G
   : RETURN
4260 GOSUB '101("-99.9","99.9",2,1,"TREND PERCENT",D1*100)
   : D1=.01*Q9
4270 PRINT AT(10,0,64);"6. TREND PERCENT =";100*D1;"%"
   : RETURN
4290 CONVERT PTO Q$(2),(##)
   : GOSUB '101("-2",Q$(2),2,0,"LAST PERIOD PROCESSED",C0)
   : C0=Q9
4305 PRINT AT(11,0,64);"7. LAST PERIOD PROCESSED =";C0
   : RETURN
4325 DEFFN'36(F8$)
   : B7$(1)=HEX(8040201008040201)
   : INIT(F8$)STR(Q6$,1,8)
   : AND (B7$(1),Q6$)
   : Q6$=HEX(3180314031203110310831043102310130002020)
   : $TRAN(B7$(1),Q6$)R
   : RETURN
4365 DEFFN'37(B8$,F8$)
   : PRINT AT(1,0,80);"ENTER INITIAL ";B8$;" HISTORY"
   : GOSUB '36(F8$)
   : Q6$=B7$(1)
   : GOSUB '100(" ","2",8,0," ",3)
   : GOSUB 4020
   : B7$(1)=Q6$
   : INIT(FE)Q6$
   : AND (Q6$,B7$(1))
   : IF STR(Q6$,1,8)="00000000"THEN 4425
   : PRINT AT(3,0,80);HEX(07);"RE-ENTER"
   : GOTO 4365
4425 MAT REDIM B7$(8)1
   : Q9=1
   : O6=0
   : FOR K=8TO 1STEP -1
   : IF B7$(K)="1"THEN O6=O6+Q9
   : Q9=Q9*2
   : NEXT K
   : BIN(F8$)=O6
   : MAT REDIM B7$(1)8
   : RETURN
4485 GOSUB '37("DEMAND FILTER",A1$)
   : A1$=F8$
4495 GOSUB '36(A1$)
   : PRINT AT(12,0,0);"8. DEMAND FILTER HISTORY = ";B7$(1)
   : RETURN
4520 GOSUB '37("VARIABLE TREND",A0$)
   : A0$=F8$
4530 GOSUB '36(A0$)
   : PRINT AT(13,0,0);"9. VARIABLE TREND HISTORY = ";B7$(1)
   : RETURN
4555 GOSUB '101("0","999999",6,0,"ON HAND",B0)
   : B0=Q9
4565 PRINT AT(14,0,64);"10. ON HAND =";B0
   : RETURN
4585 GOSUB '101("0","999999",6,0,"ON ORDER",B1)
   : B1=Q9
4595 PRINT AT(15,0,0);"11. ON ORDER =";B1;TAB(63);HEX(0D)
   : RETURN
4615 Q6$=K5$
   : GOSUB '100(" "," ",30,0,"ENTER TITLE",3)
   : K5$=Q6$
   : GOSUB 4020
4635 PRINT AT(5,0,64);"1. SIMULATION TITLE = ";K5$
   : RETURN
4655 IF M6$="D"THEN Q$(1)="0"
   : ELSE Q$(1)="1"
   : GOSUB '101(Q$(1),"44",2,0,"NUMBER OF PERIODS OF DATA",K3)
   : K3=Q9
4670 PRINT AT(6,0,64)
   : IF M6$="R"THEN K3=K3+1-SGN(K3)
   : PRINT "2. NUMBER OF PERIODS OF DATA =";K3
   : RETURN
4700 PRINT AT(1,0,80);"ENTER START DATE OF SIMULATION (PP/";
   : IF P$="D"THEN Q6$="DD/YY)"
   : ELSE Q6$="W/D/YY)"
   : PRINT Q6$
   : IF P$="D"THEN L9=7
   : ELSE L9=8
   : Q6$=K1$
   : GOSUB '100(" "," ",L9+1,0," ",3)
   : K1$=Q6$
   : GOSUB 4020
   : IF NUM(Q6$)=0THEN 4930
   : IF POS(Q6$="/")-1<>NUM(Q6$)THEN 4930
   : CONVERT STR(Q6$,1,NUM(Q6$))TO L6
   : IF L6<1THEN 4930
   : IF P<L6THEN 4930
4770 STR(Q6$,1)=STR(Q6$,POS(Q6$="/")+1)
   : IF NUM(Q6$)=0THEN 4930
   : IF POS(Q6$="/")-1<>NUM(Q6$)THEN 4930
   : CONVERT STR(Q6$,1,NUM(Q6$))TO L7
   : IF P$="D"THEN 4835
   : STR(Q6$,1)=STR(Q6$,POS(Q6$="/")+1)
   : IF NUM(Q6$)=0THEN 4930
   : IF POS(Q6$="/")-1<>NUM(Q6$)THEN 4930
   : CONVERT STR(Q6$,1,NUM(Q6$))TO L8
   : IF L8<1THEN 4930
   : IF 7<L8THEN 4930
   : L7=(L7-1)*7+L8
4835 IF L7<1THEN 4930
   : IF P(L6)<L7THEN 4930
   : STR(Q6$,1)=STR(Q6$,POS(Q6$="/")+1)
   : IF NUM(Q6$)<>80THEN 4930
   : CONVERT Q6$TO L8
   : IF (99-L8)*L8<0THEN 4930
   : K1$="  / ///"
   : CONVERT L6TO STR(K1$,1,2),(##)
   : IF P$="D"THEN 4905
   : CONVERT INT((L7+6)/7)TO STR(K1$,4,1),(#)
   : CONVERT L7-(INT((L7+6)/7)-1)*7TO STR(K1$,6,1),(#)
   : GOTO 4910
4905 CONVERT L7TO STR(K1$,4,2),(##)
4910 CONVERT L8TO STR(K1$,L9),(##)
4915 PRINT AT(7,0,64);"3. STARTING DATE OF SIMULATION = ";K1$
   : RETURN
4930 PRINT AT(3,0,80);HEX(07);"IMPROPER DATE FORMAT"
   : GOTO 4700
4950 IF K4$="YES"THEN K4$="NO"
   : ELSE K4$="YES"
4955 PRINT AT(8,0,64);"4. MACHINE GENERATION OF SALES DATA = ";K4$
   : RETURN
4975 CONVERT C3TO Q$(2),(###)
   : GOSUB '101("1",Q$(2),3,0,"MEAN LEAD TIME",K1)
   : K1=Q9
4990 PRINT AT(9,0,64);"5. MEAN LEAD TIME =";K1;"DAYS"
   : RETURN
5010 CONVERT K1TO Q$(2),(###)
   : GOSUB '101("0",Q$(2),2,1,"LEAD TIME DEVIATION",K2)
   : K2=Q9
5025 PRINT AT(10,0,64);"6. LEAD TIME DEVIATION =";K2;"DAYS"
   : RETURN
5045 IF K2$(1)="Y"THEN K2$(1)="N"
   : ELSE K2$(1)="Y"
5050 PRINT AT(11,0,64);"7. OUTPUT TYPE = ";
   : IF K2$(1)="N"THEN PRINT "HARDCOPY"
   : ELSE PRINT "CRT"
   : RETURN
5075 GOSUB '101("0","39",2,0,"NUMBER OF PROJECTION PERIODS",K9)
   : K9=Q9
5085 PRINT AT(9,0,64);"5. NUMBER OF PROJECTION PERIODS =";K9
   : RETURN
5105 CONVERT K9$TO Q9
   : Q6$=K9$
   : GOSUB '100("0100","1399",4,0,"ENTER START OF PROJECTION (PPYY)",-1)
   : GOSUB 4020
   : CONVERT Q9TO K9$,(####)
   : CONVERT STR(K9$,1,2)TO Q9
   : IF INT((Q9-1)/P)=0THEN 5150
   : PRINT AT(3,0,64);HEX(07);"IMPROPER DATE FORMAT"
   : GOTO 5105
5150 PRINT AT(10,0,64);"6. STARTING PERIOD OF PROJECTION (PPYY) = ";K9$
   : RETURN
5170 GOSUB '101("0","9999999",7,0,"TARGET SALES  (0=NO TARGET)",I9)
   : I9=Q9
5180 PRINT AT(11,0,64);"7. TARGET SALES = ";I9
   : RETURN
5200 Q6$=C0$
   : GOSUB '100(" "," ",20,0,"ENTER SCALE",3)
   : GOSUB 4020
   : C0$=Q6$
5220 PRINT AT(12,0,64);"8. SCALE = ";C0$
   : RETURN
5240 Q6$=K2$(2)
   : GOSUB '100("0","3",1,0,"ENTER GRAPH TYPE (0=NONE 1=SEASONAL 2=DESEASONALI
     ZED  3=BOTH 1 + 2)",3)
   : GOSUB 4020
   : K2$(2)=Q6$
5260 PRINT AT(13,0,64);"9. GRAPH TYPE = ";
   : IF K2$(2)="0"THEN PRINT "NONE"
   : IF K2$(2)="1"THEN PRINT "SEASONAL"
   : IF K2$(2)="2"THEN PRINT "DESEASONALIZED"
   : IF K2$(2)="3"THEN PRINT "BOTH SEASONAL AND DESEASONALIZED"
   : RETURN
5300 PRINT AT(1,0,80);"ENTER SALES DATA FOR ";K1$(K)
   : Q9=K(K)
   : GOSUB '100("0","999999",6,0," ",0)
   : GOSUB 4020
   : K(K)=Q9
5325 K0=INT((K-1)/11)
   : PRINT AT(K-K0*11+4,K0*16,16);K1$(K);K(K);
   : RETURN
5380 SELECT CO 005(64),PRINT 005(64)
   : IF S0$<>" "THEN SELECT @PARTS0$
   : PRINT AT(1,0,);HEX(0A0A0A);TAB(17);"* * *   INITIAL VALUES   * * *"
   : K8=11
   : IF M6$="R"THEN 5420
   : K8=9
5420 FOR K=1TO K8
   : ON KGOSUB 4120,4150,4180,4210,4240,4270,4305,4495,4530,4565,4595
   : NEXT K
5435 GOSUB 4080
   : IF Q9=0THEN 5465
   : ON Q9GOSUB 4110,4140,4170,4200,4230,4260,4290,4485,4520,4555,4585
   : GOTO 5435
5465 PRINT AT(1,0,);HEX(0A0A0A);TAB(12);"* * *   SIMULATION PARAMETERS   * * *
     "
   : K4$="NO"
   : IF K2$="SIMULATOR"THEN 5530
   : IF A6$()<>" "THEN 5530
   : K4$="YES"
   : K1=-INT(-C3*.88)
   : K8=0
5505 K8=K8+1
   : IF K1>=B1(1,K8)THEN 5505
   : K2=INT(K1*B1(2,K8)+.5)
5530 IF M6$="D"THEN 5585
   : K8=7
   : FOR K=1TO K8
   : ON KGOSUB 4635,4670,4915,4955,4990,5025,5050
   : NEXT K
5555 GOSUB 4080
   : IF Q9=0THEN 5755
   : ON Q9GOSUB 4615,4655,4700,4950,4975,5010,5045
   : GOTO 5555
5585 K8=9
   : FOR K=1TO K8
   : ON KGOSUB 4635,4670,4915,4955,5085,5150,5180,5220,5260
   : NEXT K
5605 GOSUB 4080
   : IF Q9=0THEN 5635
   : ON Q9GOSUB 4615,4655,4700,4950,5075,5105,5170,5200,5240
   : GOTO 5605
5635 IF K9=0THEN 5755
   : IF K3=0THEN 6065
   : CONVERT STR(K1$,1,2)TO K
   : L7=7
   : IF P$="D"THEN 5670
   : L7=8
5670 CONVERT STR(K1$,L7,2)TO L6
   : L8=L6*P+K
   : CONVERT STR(K9$,1,2)TO K
   : CONVERT STR(K9$,3,2)TO L6
   : L9=L6*P+K-L8
   : IF L9>=0THEN 5710
   : PRINT AT(3,0,80);HEX(07);"PROJECTION START DATE MAY NOT PRECEDE DATA STAR
     T DATE"
   : GOTO 5605
5710 IF L9<=K3THEN 5725
   : PRINT AT(3,0,80);HEX(07);"PROJECTION START DATE MAY NOT FOLLOW LAST DATA
     PERIOD"
   : GOTO 5605
5725 IF L9+K9<=60THEN 5755
   : PRINT AT(3,0,80);HEX(07);"SALES HISTORY PLUS PROJECTION PERIOD TOO GREAT
     FOR GRAPHING"
   : GOTO 5605
5755 CONVERT STR(K1$,LEN(K1$)-1,2)TO O7
   : CONVERT O7TO K$(1),(##)
   : CONVERT STR(K1$,1,2)TO O6
   : O6=O6-1
   : FOR K=1TO 44
   : O6=O6+1
   : IF O6<=PTHEN 5805
   : O6=1
   : O7=O7+1
   : CONVERT O7TO K$(1),(##)
5805 STR(K1$(K),1)=P$(O6)
   : STR(K1$(K),4)=K$(1)
   : NEXT K
   : IF K4$="NO"THEN 5925
   : A6=0
   : CONVERT STR(K1$,1,2)TO O6
   : FOR K=1TO K3
   : O7=.5-RND(07)
   : O7=1.25*O7*(.14822401/(.29670819-O7*O7)+.0014532591/(.2505217-07*07)+2.04
     89)
   : K(K)=INT((D+O7*D0)*B(O6)+.5)
   : IF K(K)<0THEN K(K)=0
   : O6=O6+1
   : IF O6<=PTHEN 5880
   : O6=1
5880 IF K(K)<1E6THEN 5895
   : A6=1
   : K=K3
5895 NEXT K
   : IF A6=0THEN 5935
   : PRINT AT(3,0,80);HEX(07);"EXCESSIVE SALES WERE GENERATED - REDUCE DEMAND
     OR SAFETY FACTOR"
   : GOSUB '254
   : GOTO 5380
5925 IF A6$()<>" "THEN 5935
   : IF K2$<>"SIMULATOR"THEN 5970
5935 PRINT AT(1,0,);HEX(0A0A0A);TAB(18);"* * *   SALES DATA   * * *"
   : FOR K=1TO K3
   : GOSUB 5325
   : PRINT HEX(01)
   : NEXT K
   : GOTO 5995
5970 PRINT AT(1,0,);HEX(0A0A0A);TAB(18);"* * *   SALES DATA   * * *"
5975 FOR K=1TO K3
   : GOSUB 5300
   : NEXT K
5995 Q6$="0"
   : GOSUB '100(" "," ",5,0,"ENTER NAME OF PERIOD TO CORRECT  (1=ALL  0=END)",
     3)
   : GOSUB 4020
   : IF Q6$="0"THEN 6065
   : IF Q6$="1"THEN 5975
   : MAT SEARCHK1$()<1,K3*5>,=Q6$TO K$()STEP 5
   : IF K$(1)<>HEX(0000)THEN 6040
   : PRINT AT(3,0,80);HEX(07);"RE-ENTER"
   : GOTO 5995
6040 K=(VAL(STR(K$(1),2,1))+4)/5
   : GOSUB 5300
   : GOTO 5995
6065 $PACK(F=HEX(610461046104510451045303500260046004A001A001))A6$()FROMD,D0,G
     2,G1,G,D1,C0,B0,B1,A1$,A0$
   : PRINT AT(1,0,)
   : IF M6$="R"AND K2$(1)="Y"THEN 6105
   : GOSUB '93(" ")
   : IF I0$=" "THEN LOAD TM5$
6105 IF M6$="R"THEN Q6$="FCST126A"
   : ELSE Q6$="FCST128A"
   : LOAD TQ6$3940,8999BEG 4000
9998 DEFFN'29"Q$=";HEX(22);"FCST124A";HEX(22);":SCRATCH TQ$:SAVET$()Q$";HEX(0D
     )