image of READY prompt

Wang2200.org

Listing of file='INVTCN02' on disk='vmedia/701-2661A.wvd.zip'

# Sector 346, program filename = 'INVTCN02'
0010 REM INVTCN02, RELEASE 1-0, (06/14/79), THIS PROGRAM IS A COPYRIGHT PRODUC
     T OF WANG LABORATORIES., UNAUTHORIZED REPRODUCTION OR USE IS PROHIBITED,
     INVENTORY FILE CONVERSION
0170 DIM B1(2,5),B6$2,C7$9,F6$Q2,F7$Q7,B9$8
4000 %-###
4010 %-##.#
4020 %#######
4030 %#######.#
4040 GOTO 6820
4070 IF Q6$<>HEX(1F)THEN RETURN
   : GOSUB '31
   : PRINT AT(3,0,80);HEX(07);"RE-ENTER"
   : RETURN
4150 DEFFN'41(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 4070
   : RETURN
4220 ON IGOTO 4310,4910,5180,5300,5360,4980,5430
4240 IF A3$="M"THEN ON I-7GOTO 6390,6450,6210,6090
   : ON I-7GOTO 5860,5910,5970,6030
   : IF A3$="S"THEN ON I-11GOTO 6090,6210,6270
   : IF A3$="F"THEN ON I-11GOTO 6150,6270
   : ON I-11GOTO 6090,6210,6330
4310 Q6$=G1$
   : GOSUB '100(" ",HEX(7F),VAL(Q0$(7)),0,"ENTER PROFILE ID",3)
   : GOSUB 4070
   : GOSUB '96(7)
   : F7$=Q6$
   : IF F7$=G1$THEN 4510
4390 GOSUB '232(2,0,F7$)
   : IF Q$=" "THEN 4500
   : GOSUB '91
   : PRINT AT(3,LEN(J$(J0))+1);"- PROFILE ID ";F7$
   : IF J0=7THEN 4470
   : IF J0<>3THEN 6520
   : IF F7$=G1$THEN G1$=" "
   : GOTO 4310
4470 GOSUB '92
   : GOTO 4390
4500 GOSUB '79(5)
4510 PRINT AT(6,0);" 1 PROFILE ID";TAB(29-LEN(G1$));G1$
   : PRINT "   DESC   ";TAB(29-LEN(L2$));L2$
   : RETURN
4580 D=ABS(E4)
   : IF A6=0THEN 4820
   : GOSUB '123(H0)
   : IF NUM(U9$)<>2THEN 4820
   : CONVERT STR(U9$,1,2)TO J
   : IF A6=-1THEN 4800
   : IF J=A6THEN 4820
   : I1=B(A6)
   : J=J-1
   : IF J=A6THEN 4770
   : I1=0
   : FOR B7=1TO 12
   : IF (J-A6)*(B7-A6)*(J-B7)>=0THEN I1=I1+B(B7)
   : NEXT B7
   : IF I1=0THEN 4820
4770 D=ROUND((ABS(H2)/I1,1)
   : GOTO 4820
4800 IF B(J)<>0THEN D=ROUND((ABS(H)/B(J),1)
4820 GOSUB 5180
   : GOSUB 5240
   : G2=D0
   : GOSUB 5320
   : RETURN
4910 Q6$=I1$
   : GOSUB '100("L,M,H","LlMmHh",1,1,"ENTER SALES STABILITY  ('L', 'M', OR 'H'
     )",3)
   : GOSUB 4070
   : I1$=Q6$
   : PRINT AT(8,0);" 2 SALES STABILITY";TAB(28);I1$
   : RETURN
4980 GOSUB '41("-2","12",2,0,"LAST PERIOD PROCESSED",C0)
   : C0=Q9
   : IF C0<>0THEN 5090
5020 GOSUB '41("10","100",3,0,"PERCENT OF FIRST PERIOD WITH SALES",100*(1+G4-S
     GN(G4)))
   : IF Q9*.1=INT(Q9*.1)THEN 5060
   : PRINT HEX(010A0A0A07);"RE-ENTER A MULTIPLE OF TEN"
   : GOTO 5020
5060 Q9=.01*Q9
   : G4=Q9-1+SGN(1-Q9)
5090 PRINT AT(12,0);" 6 LAST PERIOD PROC      ";
   : PRINTUSING 4000,C0
   : IF C0=0THEN 5140
   : PRINT TAB(30)
   : RETURN
5140 PRINT "   % FIRST PER W/SAL     ";
   : PRINTUSING 4000,100*(1+G4-SGN(G4))
   : RETURN
5180 GOSUB '41("0",C7$,6,1,"DESEASONALIZED DEMAND",D)
   : D=Q9
   : PRINT AT(9,0);" 3 DESEAS DEMAND    ";
   : PRINTUSING 4030,D
   : RETURN
5240 A7=0
5250 A7=A7+1
   : IF D>B1(1,A7)THEN 5250
   : D0=.1*INT(D*B1(2,A7)*10+.5)
   : RETURN
5300 GOSUB '41("0",C7$,6,1,"SAFETY FACTOR",D0)
   : D0=Q9
5320 PRINT AT(10,0);" 4 SAFETY FACTOR    ";
   : PRINTUSING 4030,D0
   : RETURN
5360 GOSUB '41("-99.9","99.9",2,1,"TREND PERCENT",D1*100)
   : D1=Q9*.01
5380 PRINT AT(11,0);" 5 TREND PERCENT        ";
   : PRINTUSING 4010,D1*100
   : RETURN
5430 Q6$=A3$
   : GOSUB '100("S,F,W,M","SsFfWwMm",1,1,"ENTER REORDER STRATEGY  ('S', 'F', '
     W' OR 'M')",3)
   : GOSUB 4070
   : IF Q6$=A3$THEN RETURN
   : A3$=Q6$
5500 PRINT AT(6,C9);" 7 REORDER STRATEGY";TAB(C9+28);A3$
   : Q6$="14131411"
   : B6$=STR(Q6$,2*POS("SFWM"=A3$)-1,2)
   : CONVERT B6$TO A8
   : IF A3$="M"THEN 5760
   : FOR I=1TO 4
   : ON IGOSUB 5880,5930,5990,6050
   : NEXT I
   : ON POS("SFW"=A3$)GOTO 5600,5650,5710
5600 FOR I=12TO 14
   : ON I-11GOSUB 6110,6230,6290
   : NEXT I
   : RETURN
5650 FOR I=12TO 13
   : ON I-11GOSUB 6170,6290
   : NEXT I
   : PRINT AT(13,C9,30)
   : RETURN
5710 FOR I=12TO 14
   : ON I-11GOSUB 6110,6230,6350
   : NEXT I
   : RETURN
5760 FOR I=8TO 11
   : ON I-7GOSUB 6410,6470,6230,6110
   : NEXT I
   : FOR I=11TO 13
   : PRINT AT(I,C9,30)
   : NEXT I
   : RETURN
5860 GOSUB '41("1","9",1,0,"REVIEW TIME IN WEEKS",C1)
   : C1=Q9
5880 PRINT AT(7,C9);" 8 REVIEW TIME";TAB(C9+27);C1
   : RETURN
5910 GOSUB '41("0","999",3,0,"LEAD TIME IN DAYS",C3)
   : C3=Q9
5930 PRINT AT(8,C9);" 9 LEAD TIME (DAYS)";TAB(C9+25);
   : PRINTUSING 4000,C3
   : RETURN
5970 GOSUB '41("1","52",2,1,"SERVICE PERIOD IN WEEKS",C2)
   : C2=Q9
5990 PRINT AT(9,C9);"10 SERVICE PERIOD       ";
   : PRINTUSING 4010,C2
   : RETURN
6030 GOSUB '41("0",C7$,6,0,"COUNTER STOCK",D2)
   : D2=Q9
6050 PRINT AT(10,C9);"11 COUNTER STOCK      ";
   : PRINTUSING 4020,D2
   : RETURN
6090 GOSUB '41("1",C7$,6,0,"PACK SIZE",B4)
   : B4=Q9
6110 PRINT AT(I-1,C9-1);I;"PACK SIZE          ";
   : PRINTUSING 4020,B4
   : RETURN
6150 GOSUB '41("1",C7$,6,0,"FIXED ORDER QUANTITY",B4)
   : B4=Q9
6170 PRINT AT(11,C9);"12 FIXED ORDER QTY    ";
   : PRINTUSING 4020,B4
   : RETURN
6210 GOSUB '41("0",C7$,6,0,"ITEM MINIMUM",B5)
   : B5=Q9
6230 PRINT AT(I-1,C9-1);I;"ITEM MINIMUM       ";
   : PRINTUSING 4020,B5
   : RETURN
6270 GOSUB '41(".5",".999",0,3,"LEVEL OF SERVICE",C5)
   : C5=Q9
6290 PRINT AT(I-1,C9-1);I;"LEVEL OF SERVICE      ";
   : PRINTUSING ".###",C5
   : RETURN
6330 GOSUB '41("0","99.9",2,1,"NUMBER OF WEEKS SUPPLY",D3)
   : D3=Q9
6350 PRINT AT(13,C9);"14 WEEKS SUPPLY         ";
   : PRINTUSING 4010,D3
   : RETURN
6390 GOSUB '41("1",C7$,6,0,"MINIMUM LEVEL",E4)
   : E4=Q9
6410 PRINT AT(7,C9);" 8 MINIMUM LEVEL      ";
   : PRINTUSING 4020,E4
   : RETURN
6450 GOSUB '41("1",C7$,6,0,"MAXIMUM LEVEL",E5)
   : E5=Q9
6470 PRINT AT(8,C9);" 9 MAXIMUM LEVEL      ";
   : PRINTUSING 4020,E5
   : RETURN
6520 GOSUB '254
   : PRINT AT(1,28,212);"** TERMINATING PROGRAM **"
6560 DEFFN'31
   : IF F6$=" "THEN LOAD TM$
   : LIMITS T#0,B9$,R,R,R,R
   : IF R=2THEN DATA LOAD DC OPEN T#0,B9$
   : IF R=-2THEN DATA SAVE DC OPEN T#0,B9$,B9$
   : IF R=0THEN DATA SAVE DC OPEN T#0,(3),B9$
   : IF ABS(R)<>1THEN 6670
   : PRINT HEX(030A);"CONTROL FILE EXISTS ON DISK AS PROGRAM FILE"
   : GOSUB '254
   : GOTO 6710
6670 DATA SAVE DC #0,F6$,A6
   : DATA SAVE DC #0,END
   : DATA SAVE DC CLOSE#0
6710 PRINT HEX(030A);"Conversion of Inventory Master File complete through pro
     duct # ";F6$
   : GOSUB '254
   : LOAD TM$
6760 SELECT PRINT 005(80)
   : PRINT HEX(03);TAB(20);"INVENTORY MASTER FILE CONVERSION PROGRAM"
   : RETURN
6820 SELECT LIST 005(80),CO 005(80)
   : B9$="FCSTF02"&BIN(S+48)
   : SELECT @PARTS0$
   : PRINT AT(4,0,);"     This program should be used to add Inventory Managem
     ent variables to each"
   : PRINT "record in the GBS Inventory Master File.  All the profiles to be r
     eferenced by"
6890 PRINT "the Inventory records should have been created using Profile Maint
     enance."
   : PRINT "     For each record, the Profile ID, Sales Stability, and Demand
     will be"
   : PRINT "requested, and the remaining modifiable parameter values displayed
     ."
6920 PRINT "     The conversion can be interrupted at any point by keying Spec
     ial Function"
   : PRINT "'31.  Subsequent runs of the program will begin where it was previ
     ously"
   : PRINT "interrupted."
   : GOSUB '254
   : I1$="M"
   : DATA 2,5,10,100,9E99,.6,.5,.4,.3,.2
   : RESTORE
   : MAT READ B1
   : C7$="999999.9"
   : A3$="S"
7070 C1=1
   : C2,D3=4
   : D2,G4=0
   : C5=.95
   : D1,G,G1,C0=0
   : A0$,A1$,A2$=HEX(00)
   : A8=14
   : C9=34
   : LIMITS T#0,B9$,R,R,R,R
   : F1$=" "
   : IF R<2THEN 7340
   : GOSUB 6760
   : DATA LOAD DC OPEN T#0,B9$
   : DATA LOAD DC #0,F1$,A6
   : GOSUB '232(1,0,F1$)
   : GOSUB '91
   : IF J0=0THEN 7300
   : PRINT AT(3,LEN(J$(J0))+1);"- PRODUCT # ";F1$
   : GOTO 6520
7300 GOSUB '78(2)
   : GOTO 8000
7340 PRINT AT(4,0,640);
   : PRINT ,"1. Year-to-date sales"
   : PRINT ,"2. Current month's sales"
   : PRINT ,"3. Order Point (Minimum)"
   : PRINT HEX(0A);"Methods 1 and 2 will revert to 3 if estimates are impossib
     le"
   : GOSUB '100("1","3",1,0,"ENTER NUMBER OF DESIRED METHOD FOR ESTIMATING DEM
     AND DEFAULT",1)
7400 GOSUB 4070
   : A6=Q9-3
   : PRINT AT(4,0,640);"Method for estimating demand default - ";
   : IF Q9=1THEN Q6$="Year-to-date sales"
   : IF Q9=2THEN Q6$="Current month's sales"
   : IF Q9=3THEN Q6$="Order point (Minimum)"
   : PRINT Q6$
   : IF Q9>1THEN 7550
   : Q9=1
   : GOSUB '100("1","12",2,0,"ENTER PERIOD WHEN FISCAL YEAR STARTS",0)
7510 GOSUB 4070
   : A6=Q9
   : PRINT AT(5,0,80);"Fiscal year starts in period ";A6
7550 GOSUB '100("Y,N","YyNnY ",1,1,"IS DATA OK (Y OR N)",2)
   : GOSUB 4070
   : IF Q6$="N"THEN 7340
   : GOSUB '235(1,0)
   : GOSUB '91
   : IF J0=0THEN 7680
   : PRINT AT(3,LEN(J$(J0))+1);"- INVENTORY FILE"
   : GOTO 6520
7650 IF Q$<>" "THEN 6520
7680 GOSUB '52(2)
   : PRINT AT(4,0,800);"* PRODUCT # ";F1$;"    DESCRIPTION ";F2$;" *"
   : FOR J1=2TO 7
   : ON J1-1GOSUB 4310,4910,4580,5380,5090,5500
   : NEXT J1
7750 GOSUB '100("-1",B6$,2,0,"ENTER ITEM NUMBER TO CHANGE  (0=END  -1=CHANGE A
     LL)",1)
   : GOSUB 4070
   : I=Q9
   : ON I+2GOTO 7820,7900
   : ON INT(I/8)+1GOSUB 4220,4240
   : GOTO 7750
7820 FOR I=1TO 7
   : GOSUB 4220
   : NEXT I
   : FOR I=8TO A8
   : GOSUB 4240
   : NEXT I
   : GOTO 7750
7900 IF A3$<>"W"THEN 7960
   : IF D3+C1>=C3/7THEN 7960
   : PRINT HEX(010A0A0A07);"Review time + Weeks supply must be >= Lead time/7"
   : GOTO 7750
7960 DBACKSPACE #2,1S
   : GOSUB '68(2)
   : F6$=F1$
8000 GOSUB '237(1,0)
   : IF Q$=" "THEN 7680
   : IF Q$="E"THEN 8080
   : GOSUB '91
   : PRINT AT(3,LEN(J$(J0))+1);"- INVENTORY FILE"
   : GOTO 6520
8080 LIMITS T#0,B9$,R,R,R,R
   : IF R<2THEN 8120
   : SCRATCH T#0,B9$
8120 PRINT HEX(030A);"Conversion of Inventory Master file is complete"
   : F6$=" "
   : GOSUB '254
   : GOSUB '31
9999 DEFFN'29"Q$=";HEX(22);"INVTCN02";HEX(22);":SCRATCHTQ$:SAVET$()Q$";HEX(0D)