Listing of file='BOMS040A' on disk='vmedia/701-2656B.wvd.zip'
# Sector 50, program filename = 'BOMS040A' 0010 REM BOMS040A, 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$1,B6$1,C6$1,P9$17 : DIM I9$1,K5$4,K6$2,K8$Q0,K9$Q0 : GOTO 4000 4000 SELECT @PARTS0$ 4020 K9$=ALL(7F) : A6$="N" : B6$="Y" : K,P1,P9=0 : L=L0 : 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 4140 : GOTO 4170 4140 GOSUB '93(" ") : IF I0$=" "THEN A6$="N" 4170 GOSUB '100("A,R,I","AaIiRr",1,1,"ENTER INQUIRY TYPE (A=ALL, R=RANGE, I=I NDIVIDUAL)",2) : IF Q6$=HEX(1F)THEN GOSUB '31 : I9$=Q6$ : Q6$="ALL RANGE INDIVIDUAL" : L6=POS("ARI"=I9$) : P9$=STR(Q6$,L6*10-9,10) : P9$=P9$&" OPTION" : ON L6GOTO ,4710,4490 4260 GOSUB '235(3,0) : IF Q$<>"B"THEN 4310 : GOSUB '91 : GOSUB '92 : GOTO 4260 4310 IF Q$<>" "THEN 5180 : K5$=T7$ : GOSUB 5460 : IF K>0THEN 4430 : IF A6$="Y"THEN GOSUB 6170 : ELSE GOSUB 6300 : GOTO 4430 4370 I8=0 : GOSUB 6060 : IF Q$="E"THEN 5050 : IF I8<>1THEN 4430 : IF A6$="Y"THEN 4410 : GOSUB 5810 4410 GOSUB 5460 : IF A6$="Y"THEN GOSUB 6170 : ELSE GOSUB 6300 4430 K=K+1 : I8=0 : GOSUB 5290 : GOSUB 5400 : IF A6$="Y"THEN GOSUB 6230 : ELSE GOSUB 6380 : GOTO 4370 4490 GOSUB '34(HEX(08)) : K,P9=0 : L=L0 : IF Q6$="END"THEN 5120 : K8$,K9$=Q6$ : GOSUB 5870 : IF Q$=" "THEN 4550 : PRINT AT(3,0);HEX(07);"COMPONENT PRODUCT ID NOT ON FILE" : GOTO 4490 4550 K5$=STR(T4$,1,2)&HEX(0000) : GOSUB 5980 : IF Q$=" "THEN 4610 4580 I8=0 : GOSUB 6060 : IF I8=1THEN 4670 : IF Q$="E"THEN 4670 4610 IF K>0THEN 4620 : IF A6$="Y"THEN GOSUB 6170 : ELSE GOSUB 6300 4620 GOSUB 5290 : GOSUB 5400 : IF A6$="Y"THEN GOSUB 6230 : ELSE GOSUB 6380 : K=K+1 : GOTO 4580 4670 IF K<>0THEN 5050 : PRINT AT(3,0);HEX(07);"ASSEMBLY PRODUCT ID - IS NOT A COMPONENT OF ANY PR ODUCT" : GOTO 4490 4700 PRINT AT(3,0,80);"Starting ID must be lower than Ending ID";HEX(07) 4710 GOSUB '34("STARTING") : IF Q6$="END"THEN 5050 : K8$=Q6$ : GOSUB '34("ENDING") : IF Q6$="END"THEN Q6$=HEX(7F) : K9$=Q6$ : IF K8$>=K9$THEN 4700 : GOSUB 5870 : IF Q$=" "THEN 4900 : GOTO 4830 4810 IF A6$<>"Y"THEN GOSUB 5810 4820 K=0 4830 GOSUB '237(1,0) : IF Q$=" "THEN 4870 : IF Q$="E"THEN 5050 : GOTO 5180 4870 GOSUB '52(2) : K8$=F1$ : IF K8$>K9$THEN 5100 4900 K5$=STR(T4$,1,2)&HEX(0000) : GOSUB 5980 : IF Q$=" "THEN 4960 4930 I8=0 : GOSUB 6060 : IF Q$="E"THEN 5030 : IF I8=1THEN 5030 4960 K=K+1 : IF K>1THEN 4990 : IF A6$="Y"THEN GOSUB 6170 : ELSE GOSUB 6300 4990 GOSUB 5290 : GOSUB 5400 : IF A6$="Y"THEN GOSUB 6230 : ELSE GOSUB 6380 : GOTO 4930 5030 IF K<>0THEN 4810 : ELSE GOTO 4820 5050 IF A6$<>"Y"THEN 5090 : SELECT PRINT 005 : PRINT AT(1,0,) : GOTO 5110 5090 GOSUB 5810 5100 SELECT PRINT 005 5110 IF L6=3THEN 4490 5120 PRINT AT(0,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 : GOTO 5230 5180 GOSUB '91 : GOSUB '254 5210 DEFFN'126 5220 DEFFN'31 5230 PRINT AT(4,0,);"*** END OF PROCESSING ***" : LOAD TM$ 5290 DBACKSPACE #5,BEG : DSKIP #5,VAL(STR(T4$,1,2),2)S : GOSUB '160(5) : MAT SEARCHW0$(),=STR(T7$,,2)TO Q6$STEP 2 : A6=(VAL(Q6$,2)+1)/2 : IF A6>0THEN RETURN : PRINT AT(3,0,80);HEX(07);"Where used file points to ";W0$;" but Product S tructure record not found" : GOSUB '254 : GOSUB '31 5400 DBACKSPACE #2,BEG : DSKIP #2,VAL(STR(K5$,3,2),2)S : GOSUB '52(2) : RETURN 5460 DBACKSPACE #2,BEG : DSKIP #2,VAL(STR(T7$,1,2),2)S : GOSUB '52(2) : K8$=F1$ : RETURN 5520 DEFFN'90 : Q6$=" " : KEYIN Q6$,5560,5560 : IF Q6$="P"THEN GOSUB '254 5560 IF Q6$=HEX(1F)THEN 5050 : SELECT PRINT <I0$>(132) : IF L<L0-6THEN RETURN : P1=P1+1 : PRINT HEX(0C0A0A0E);N2$ : PRINT P9$;TAB(39);"BILL OF MATERIAL WHERE USED REPORT";TAB(80);Q1$;TAB(94 );"PAGE ";P1 : PRINT HEX(0A) : PRINT TAB(12);"* * * * COMPONENT * * * *";TAB(59);"* * * * ASSEMBLY * * * *" 5640 PRINT TAB(6);"PRODUCT ID. DESCRIPTION";TAB(46);"PRODUCT ID. DESCRIPTION";TAB(91);"QTY" : PRINT HEX(0A) : L=7 : RETURN 5690 DEFFN'34(Q7$) : 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) : RETURN 5810 PRINT AT(22,28); : LINPUT "KEY RETURN TO RESUME",?C6$ : RETURN 5850 GOSUB '91 : GOSUB '92 5870 GOSUB '232(1,0,K8$) : IF Q$=" "THEN 5920 : IF Q$="B"THEN 5850 : IF Q$="N"THEN RETURN : GOTO 5180 5920 GOSUB '52(2) : RETURN 5960 GOSUB '91 : GOSUB '92 5980 GOSUB '232(3,1,K5$) : IF Q$="B"THEN 5960 : IF Q$=" "OR Q$="N"THEN RETURN : GOTO 5180 6040 GOSUB '91 : GOSUB '92 6060 K6$=STR(K5$,1,2) : GOSUB '237(3,0) : IF Q$="E"OR Q$=" "THEN 6110 : IF Q$="B"THEN 6040 : GOTO 5180 6110 K5$=T7$ : IF K6$=STR(T7$,1,2)THEN RETURN : I8=1 : RETURN 6170 GOSUB '90 : L=L+4 : PRINT HEX(0A0A);TAB(6);F1$;TAB(25);F2$;HEX(0A) : RETURN 6230 GOSUB '90 : L=L+1 : PRINTUSING 6270,F1$,F2$,W(A6) : RETURN 6270 % ############ ############# ########### ####.## 6300 L=0 : IF P9<>0THEN 6340 : P9=P9+1 : PRINT AT(0,0,);P9$;TAB(22);"BILL OF MATERIAL WHERE USED REPORT";TAB(72);Q 1$ : PRINT AT(2,9);"COMPONENT";TAB(50);"ASSEMBLY" : PRINT AT(3,0);"PRODUCT ID. DESCRIPTION PRODUCT ID DESCRIPTION QTY" 6340 PRINT AT(5,0,);F1$;TAB(14);F2$;HEX(0A) : RETURN 6380 L=L+1 : IF L<15THEN 6410 : L=0 : GOSUB 5810 : PRINT AT(7,0,) 6410 PRINTUSING 6430,F1$,F2$,W(A6) : RETURN 6430 % ############ ######################## #### .## 9998 DEFFN'29"Q$=";HEX(22);"BOMS040A";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 - Display/Print Where Used.";HEX(22);":SELECT#15<I0$>:$OPEN#15:S ELECTLIST<I0$>(132): LIST Z$:LIST Z$#:LIST Z$V:LIST Z$':$CLOSE#15:SELECTL IST005(80)";HEX(0D)