Listing of file='BOMS010A' on disk='vmedia/701-2656B.wvd.zip'
# Sector 105, program filename = 'BOMS010A' 0010 REM BOMS010A, RELEASE 2-0, (03/27/79) THIS PROGRAM IS A COPYRIGHT PRODUC T OF WANG LABORATORIES INC. UNAUTHORIZED REPRODUCTION OR USE IS PROHIBITE D 0170 DIM A6$2,A7$1,L,B7$(W4)4,K3$17,K4$4,C9$Q0 : DIM D6$(W4)16,D7$(W4)8,B7(W4) : GOTO 4000 4000 SELECT @PARTS0$ 4020 P1=0 : 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 4120 : $CLOSE#15 : GOTO 4150 4120 IF I0$=" "THEN GOSUB '93(" ") : IF I0$=" "THEN A6$="N" 4150 GOSUB '34(HEX(08)) : IF Q6$="END"THEN 4710 : L7=0 : C9$=Q6$ : GOSUB 5670 : IF Q$=" "THEN 4230 : PRINT AT(3,0,80);HEX(07);"NO PRODUCT RECORD FOUND" : GOTO 4150 4230 K7$=STR(T4$,,2)&HEX(0000) : GOSUB 5760 : IF Q$=" "OR Q$="B"THEN 4300 : GOSUB 5800 : IF I8=0THEN 4300 : PRINT AT(3,0,80);HEX(07);"PRODUCT IS NOT A COMPONENT" : GOTO 4150 4300 INIT(20)Q6$ : CONVERT W4-1TO STR(Q6$,30,2),(##) : STR(Q6$,,29)="ENTER LEVELS TO SEARCH UP (1-" : STR(Q6$,32,1)=")" : Q9=W4-1 : GOSUB '100("1",STR(Q6$,30,2),2,0,Q6$,0) : IF Q6$=HEX(1F)THEN GOSUB '31 : L6=Q9 : L9=1 : B7$(1)=K7$ : B7(1)=1 : GOSUB '36(1) 4400 GOSUB 5600 : GOSUB 5930 : IF W2$(K8)="X"THEN 4560 : IF W2$(K8)="E"AND Q1<W1(K8)THEN 4560 : IF W2$(K8)="T"AND Q1>W1(K8)THEN 4560 : B7(L9+1)=B7(L9)*W(K8) : GOSUB '36(2) : IF L9=L6THEN 4560 : D6$(L9)=T2$() : D7$(L9)=T$ : B7$(L9)=K7$ : K7$=STR(K7$,3,2)&HEX(0000) : L9=L9+1 : GOSUB 5760 : IF Q$=" "OR Q$="B"THEN 4400 4560 GOSUB 5800 : IF I8=0THEN 4400 : L9=L9-1 : IF L9=0THEN 4660 : T2$()=D6$(L9) : T$=D7$(L9) : K7$=B7$(L9) : GOTO 4560 4660 GOSUB '36(3) : GOTO 4150 4690 GOSUB '91 : GOSUB '254 4710 PRINT AT(1,0,) : GOSUB '100("M,R","MmRr",1,1,"KEY R TO RESTART, M FOR MENU",2) : IF Q6$=HEX(1F)THEN GOSUB '31 : IF Q6$="R"THEN 4020 : IF Q6$<>"M"THEN 4710 4770 DEFFN'126 4780 DEFFN'31 : SELECT PRINT 005(80) : PRINT AT(4,0,);"*** END OF PROCESSING ***" : LOAD TM$ 4860 DEFFN'90 : Q6$=" " : KEYIN Q6$,4900,4900 : IF Q6$="P"THEN GOSUB '254 4900 IF Q6$=HEX(1F)THEN GOSUB '31 : SELECT PRINT <I0$>(132) : IF L<L0THEN RETURN : P1=P1+1 : PRINT HEX(0D0C0A0E);N2$ : PRINT HEX(0A);TAB(28);"BILL OF MATERIAL MULTI-LEVEL IMPLOSION REPORT";TAB (80);Q1$;TAB(94);"PAGE ";P1 : PRINT HEX(0A) : PRINT "LEVEL";TAB(15);"PRODUCT ID";TAB(30);"DESCRIPTION";TAB(61);"QUANTIT Y";TAB(71);"ACCUM. QTY" : PRINT HEX(0A) : L=5 : RETURN 5030 DEFFN'34(Q7$) : SELECT PRINT 005(80) : PRINT AT(4,0,) : PRINT AT(1,0,80);"ENTER ";Q7$;" COMPONENT PRODUCT ID (OR END)" : GOSUB '100(" ",HEX(7F),VAL(Q0$(2)),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 5160 DEFFN'36(A7) : IF A6$="Y"THEN 5400 : ON A7-1GOTO 5250,5260 : PRINT AT(2,10,40);"COMPONENT ID - ";C9$;AT(2,40);F2$ : PRINT AT(4,0,);"LEVEL";TAB(12);"PRODUCT ID";AT(4,25,0);"DESCRIPTION";TAB( 61);"QTY";TAB(65);"ACCUM. QTY." : K9=6 : RETURN 5250 IF K9<21THEN GOTO 5320 5260 PRINT AT(22,26,28); : LINPUT "KEY RETURN TO RESUME"?A7$ : PRINT AT(5,0,); : IF A7=3THEN RETURN : K9=6 5320 GOSUB 5540 : PRINT HEX(06); : PRINT AT(K9,0);Q6$;TAB(12);W0$;TAB(25);F2$;TAB(55); : PRINTUSING " ####.## ######.##",W(K8),B7(L9+1) : K9=K9+1 : RETURN 5400 IF A7=3THEN RETURN : GOSUB '90 : IF A7=2THEN 5480 : PRINT HEX(0A);"*COMPONENT ID- ";C9$;TAB(30);F2$;"*" : PRINT HEX(0A) : L=L+3 : RETURN 5480 GOSUB 5540 : PRINT HEX(06);Q6$;TAB(15);W0$;TAB(30);F2$;TAB(60); : PRINTUSING " ####.## ######.##",W(K8),B7(L9+1) : L=L+1 : RETURN 5540 Q6$=" " : Q9=MAX(L7-L9,1) : IF Q9<=9THEN CONVERT Q9TO STR(Q6$,Q9),(#) : ELSE CONVERT Q9TO STR(Q6$,9),(##) : RETURN 5600 DBACKSPACE #2,BEG : DSKIP #2,VAL(STR(T7$,3,2),2)S : GOSUB '52(2) 5630 RETURN 5650 GOSUB '91 : GOSUB '92 5670 GOSUB '232(1,0,C9$) : IF Q$="B"THEN 5650 : IF Q$=" "THEN 5720 : IF Q$="N"THEN RETURN : GOTO 4690 5720 GOSUB '52(2) : IF L7<>0THEN 5630 : AND (H4$,1F) : L7=VAL(H4$)+1 : RETURN 5760 GOSUB '232(3,1,K7$) : IF Q$=" "OR Q$="N"OR Q$="B"THEN RETURN : GOTO 4690 5800 K8$=STR(K7$,,2) : I8=0 : GOSUB '237(3,0) : I8=1 : IF Q$<>"E"THEN 5870 : GOSUB '235(3,0) : RETURN 5870 IF Q$="B"OR Q$=" "THEN 5890 : GOTO 4690 5890 IF STR(T7$,,2)=K8$THEN I8=0 : IF I8=0THEN K7$=T7$ : RETURN 5930 DBACKSPACE #5,BEG : DSKIP #5,VAL(T4$,2)S : GOSUB '160(5) : MAT SEARCHW0$(),=STR(K7$,,2)TO Q6$STEP 2 : K8=INT((VAL(Q6$,2)+1)/2) : IF K8>0THEN RETURN : SELECT PRINT 005(80) : PRINT AT(3,0,80);HEX(07);"Where used file points to ";W0$;" but Product S tructure record not found" : GOSUB '254 : GOSUB '31 9998 DEFFN'29"Q$=";HEX(22);"BOMS010A";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 - Indented Costed Parts Explosion.";HEX(22);":SELECT#15<I0$>:$OP EN#15:SELECTLIST<I0$>(132): LIST Z$:LIST Z$#:LIST Z$V:LIST Z$':$CLOSE#15: SELECTLIST005(80)";HEX(0D)