Listing of file='BOMS090A' on disk='vmedia/701-2656B.wvd.zip'
# Sector 73, program filename = 'BOMS090A' 0010 REM BOMS090A, RELEASE 2-0, (06/05/79) THIS PROGRAM IS A COPYRIGHT PRODUC T OF WANG LABORATORIES INC. UNAUTHORIZED REPRODUCTION OR USE IS PROHIBITE D 0170 DIM A7$1,B7$(W4)W3,B7$24,A8$1,B7(W4),A6$2,B8(W4) : DIM D6$(W4)16,D7$(W4)8,D8$(W4)2,K3$17 : GOTO 4000 4000 SELECT @PARTS0$ 4020 Q$=" " : A6$="N" : STR(B7$(),Q0+1,3)="001" : B7$()=B7$()&STR(B7$()) : K8,L9,P1=0 : B7(1)=1 : K9=6 : B0,L1=0 4110 PRINT AT(1,0,); : Q6$="Y" : GOSUB '100("N,Y","NnYyY ",1,1,"PRINT REPORT (Y OR N)",3) : IF Q6$=HEX(1F)THEN GOSUB '31 : A6$=Q6$ : IF Q6$="Y"THEN 4180 : GOTO 4210 4180 GOSUB '93(" ") : IF I0$=" "THEN A6$="N" 4210 GOSUB '100("A,R,I","AaIiRr",1,1,"ENTER UPDATE TYPE (A=ALL, R=RANGE(all a ssbl.),I=INDIVIDUAL(top assbl. only)",2) : IF Q6$=HEX(1F)THEN GOSUB '31 : K$=Q6$ : Q6$="ALL RANGE INDIVIDUAL" : L7=POS("ARI"=K$) : K3$=STR(Q6$,L7*10-9,10) : K3$=K3$&" OPTION" : IF L7=3OR L7=2THEN 4590 : GOSUB '235(2,0) 4300 B7$(1)=T7$ : IF Q$=" "THEN 4360 : IF Q$<>"B"THEN 5280 : GOSUB '91 : GOTO 4110 4360 PRINT HEX(06); : PRINT AT(2,27);"*** SCANNING INVENTORY***" : GOSUB '160(4) : K4$=STR(W3$,,2)&HEX(0000) : GOSUB '232(3,1,K4$) : IF Q$=" "OR Q$="B"THEN 4360 : IF Q$<>"N"THEN 5280 : GOSUB '237(3,1) : IF Q$="X"THEN 5280 : IF Q$="E"OR STR(T7$,,2)<>STR(K4$,,2)THEN 4560 : B7$(1)=STR(B7$(1),,Q0)&HEX(FFFFFF) 4470 GOSUB '232(2,0,B7$(1)) : GOSUB '237(2,0) : B7$(1)=STR(T7$,,Q0)&"001" : IF Q$=" "THEN 4360 : SELECT PRINT 005(80) : IF Q$="E"THEN GOTO 5960 : GOTO 5930 4560 GOSUB '235(2,0) : Q6$=W0$ 4590 L9,K8=0 : IF L7<>1THEN GOSUB '34(HEX(08)) : IF Q6$="END"THEN 5900 : B7$(1)=STR(Q6$,,Q0) 4630 GOSUB '232(1,0,B7$(1)) : GOSUB '91 : ON J0+1GOTO 4670,,,4590,,,,4590 : GOTO 5930 4670 IF B0=1THEN 5620 : B7$(1)=STR(B7$(1),,Q0)&"001" : L6=W4-1 : IF L7<>1THEN 4740 : Q9=1 : GOTO 4760 4740 GOSUB '100("1","999999",6,0,"ENTER DESIRED AMOUNT",1) : IF Q6$=HEX(1F)THEN GOSUB '31 4760 C6=Q9 : B9,B8=0 : GOSUB '52(2) : B7$=F2$ : C7=E : A8$=H4$ : AND (A8$,80) : IF A8$=HEX(80)THEN 4910 : SELECT PRINT 005(132) : PRINT AT(1,0);"NO BILL OF MATERIAL FOR THIS ITEM";AT(2,0); : A7$=" " : LINPUT "KEY RETURN EXEC TO RESUME"?A7$ : GOTO 4590 4910 GOSUB '232(2,0,B7$(1)) : GOSUB '91 : ON J0+1GOTO 4950,,,,4590,,,,4590 : GOTO 5930 4950 GOSUB '160(4) : PRINT AT(2,27);"*** SCANNING INVENTORY***" : K9=6 : IF L9=0THEN 5030 5010 B8(L9)=B8(L9)+(B9-B8) : B8,B9=0 5030 L9=L9+1 : B8(L9)=0 5050 D6$(L9)=T2$() : D7$(L9)=T$ : D8$(L9)=T4$ 5080 K8=K8+1 : IF K8>WTHEN 5380 5100 IF W$(K8)=" "THEN 5080 : IF W2$(K8)="X"THEN 5080 : IF W2$(K8)="E"AND W1(K8)>Q1THEN 5080 : IF W2$(K8)="T"AND W1(K8)<=Q1THEN 5080 : B7$(L9+1)=STR(W$(K8),,Q0)&"001" : B7(L9+1)=B7(L9)*W(K8) : DBACKSPACE #2,BEG : DSKIP #2,VAL(W0$(K8),2)S : GOSUB '52(2) : IF F1$=HEX(FF)THEN 5080 : B8=F*B7(L9+1) : B9=B9+B8 : IF E>0THEN Q9=E : ELSE Q9=0 : A8$=H4$ : AND (A8$,80) 5250 IF A8$<>HEX(80)OR L9>=L6THEN 5360 5260 GOSUB '232(2,0,B7$(L9+1)) : J$(3)=" " 5280 GOSUB '91 : IF J0=7THEN GOSUB '92 : IF J0=7THEN 5260 : IF J0>1THEN 5930 : GOSUB '160(4) : K8=0 : GOTO 5010 5360 IF K8<WTHEN 5080 5380 T2$()=D6$(L9) : T$=D7$(L9) : GOSUB '237(2,0) : IF Q$="E"OR STR(T7$,,Q0)<>STR(B7$(L9),,Q0)THEN 5460 : GOSUB '160(4) : B7$(L9)=T7$ : K8=0 : GOTO 5050 5460 IF L9=1THEN 5710 : IF Q$="E"THEN GOSUB '235(2,0) : B8(L9)=B8(L9)+B9 : B9=0 : B8(L9-1)=B8(L9-1)+B8(L9) : L9=L9-1 : DBACKSPACE #4,BEG : DSKIP #4,VAL(D8$(L9),2)S : GOSUB '160(4) : MAT SEARCHW$(),=STR(B7$(L9+1),,Q0)TO Q6$STEP Q0 : K8=INT((VAL(Q6$,2)+Q0-1)/Q0)+1 : IF L7=3THEN 5670 : DBACKSPACE #2,BEG : DSKIP #2,VAL(W0$(K8-1),2)S 5620 GOSUB '52(2) : F=B8(L9+1) : IF L9=0THEN 5650 : IF B7(L9)=0THEN 5650 : F=F/B7(L9+1) 5650 DBACKSPACE #2,1S : IF F>9999.99THEN F=0 : GOSUB '42(2) 5670 IF B0=1THEN 5780 : IF K8<=WTHEN 5100 : GOTO 5380 5710 A8=0 : B8(L9)=B8(L9)+B9 : L9=0 : B0=1 : IF L7=3THEN L7=2 : B7$(1)=STR(B7$(1),,Q0) : GOTO 4630 5780 B0=0 : PRINT AT(2,27);"*** TOTAL ITEM COST ***" : PRINT AT(10,10,);"THE COST FOR ";C6;" ASSEMBLIES FOR ";STR(B7$(1),,Q0);" IS "; : PRINTUSING "$###,###,###.##";B8(1)*C6 : PRINT AT(11,10);"THE COST PER ASSEMBLY FOR ";STR(B7$(1),,Q0);" IS "; : PRINTUSING "$###,###,###.##";B8(1) : PRINT AT(22,26,28); : IF L7=1THEN 5840 5820 LINPUT "KEY RETURN TO RESUME",?A7$ : PRINT AT(22,26,28);AT(1,0,); 5840 IF A6$="N"THEN 5880 : GOSUB '90 : PRINTUSING 5870,STR(B7$(1),,Q0),F2$,C6,B8(1)*C6,B8(1) 5870 % ############### ######################### ####### $ ###,###,###.## $###,###,###.## 5880 SELECT PRINT 005(80) : IF L7<>1THEN 4590 : B7$(1)=STR(T7$,,Q0)&"FFF" : GOTO 4470 5900 GOSUB '100("M,R","MmRr",1,1,"KEY R TO RESTART, M FOR MENU",2) : IF Q6$=HEX(1F)OR Q6$="M"THEN GOSUB '31 : ELSE GOTO 4020 5930 GOSUB '91 : GOSUB '254 5960 DEFFN'31 : LOAD TM$ 6020 DEFFN'34(Q7$) : PRINT AT(1,0,80);"ENTER ";Q7$;" ASSEMBLY PRODUCT ID (OR END)" : GOSUB '100(" ",HEX(7F),Q0,0," ",2) : IF Q6$=HEX(1F)THEN GOSUB '31 : IF Q6$="end"THEN Q6$="END" : IF Q6$="END"THEN RETURN : GOSUB '96(2) : Q7$=Q6$ : RETURN 6140 DEFFN'90 : Q6$=" " : KEYIN Q6$,6180,6180 : IF Q6$="P"THEN GOSUB '254 6180 IF Q6$=HEX(1F)THEN GOSUB '31 : SELECT PRINT <I0$>(132) : L1=L1+1 : IF L1>53THEN L1=1 : IF L1>1THEN RETURN : P1=P1+1 : PRINT HEX(0D0C0A0E);N2$ : PRINT TAB(10);K3$;TAB(34);"BILL OF MATERIALS COST REQUIREMENTS ";TAB(75) ;Q1$;TAB(90);"PAGE ";P1 6250 PRINT HEX(0D0A);TAB(10);"PRODUCT ID - ";TAB(30);"DESCRIPTION";TAB(54);"DE SIRED AMT";TAB(82);"COST";TAB(95);"COST PER ASSBL." : RETURN : RETURN 9998 DEFFN'29"Q$=";HEX(22);"BOMS090A";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 - Gross Requirements.";HEX(22);":SELECT#15<I0$>:$OPEN#15:SELECTL IST<I0$>(132): LIST Z$:LIST Z$#:LIST Z$V:LIST Z$':$CLOSE#15:SELECTLIST005 (80)";HEX(0D)