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)