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)