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)