Listing of file='BOMS080A' on disk='vmedia/701-2656B.wvd.zip'
# Sector 210, program filename = 'BOMS080A'
0010 REM BOMS080A, RELEASE 2-0, (02/23/79) THIS PROGRAM IS A COPYRIGHT PRODUC
T OF WANG LABORATORIES INC. UNAUTHORIZED REPRODUCTION OR USE IS PROHIBITE
D
0170 DIM B7$(W4)W3,K3$17,B7$1,K4$4,B8$1,B9$2,A9$1
: DIM D6$(W4)16,D7$(W4)8,D8$(W4)2
: GOTO 4000
4000 SELECT @PARTS0$
: E6=0
: L6=W4-1
: GOSUB '93(" ")
: IF I0$=" "THEN GOSUB '31
: SELECT PRINT 005(80)
: PRINT AT(10,20);"INITIALIZING ALL LOW LEVEL CODES TO ZERO"
: LIMITS T#2,S$(2),Q9,Q9,K8
: DBACKSPACE #2,BEG
: FOR I=1TO K8-2
: GOSUB '52(2)
: AND (H4$,E0)
: DBACKSPACE #2,1S
: GOSUB '42(2)
: NEXT I
: K8=0
4170 GOSUB '235(2,0)
: B7$(1)=T7$
: IF Q$=" "THEN 4250
: IF Q$<>"B"THEN 5200
: GOSUB '91
: GOTO 4170
4250 K8,L9=0
: A9$="I"
: B8$=HEX(00)
: GOSUB '160(4)
4300 L9=L9+1
: ADD(B8$,01)
: IF L9<=L6THEN 4340
: GOSUB '36(2)
: GOTO 5020
4340 D6$(L9)=T2$()
: D7$(L9)=T$
: D8$(L9)=T4$
4370 K8=K8+1
: IF A9$=" "THEN 4590
: A9$=" "
: K4$=STR(W3$,,2)&HEX(0000)
: GOSUB '232(3,1,K4$)
: IF Q$=" "OR Q$="B"THEN 4490
: IF Q$<>"N"THEN 5200
: GOSUB '237(3,1)
: IF Q$="X"THEN 5200
: IF Q$="E"OR STR(T7$,,2)<>STR(K4$,,2)THEN 4540
4490 B7$(1)=STR(B7$(1),,Q0)&HEX(FFFFFF)
: GOSUB '232(2,0,B7$(1))
: GOSUB '237(2,0)
: GOTO 5160
4540 GOSUB '235(2,0)
: SELECT PRINT 005(80)
: PRINT AT(10,20,60);"EXPLODING PRODUCT ";W0$
4590 IF K8>WTHEN 4940
4600 IF W$(K8)=" "THEN 4370
: IF W2$(K8)="X"THEN 4370
: IF W2$(K8)="E"AND W1(K8)>Q1THEN 4370
: IF W2$(K8)="T"AND W1(K8)<=Q1THEN 4370
: B7$(L9+1)=STR(W$(K8),,Q0)&"001"
: DBACKSPACE #2,BEG
: DSKIP #2,VAL(W0$(K8),2)S
: GOSUB '52(2)
: IF F1$=HEX(FF)THEN 4370
: B7$=H4$
: AND (B7$,0F)
: IF B7$>=B8$THEN 4780
: AND (H4$,E0)
: OR (H4$,B8$)
: DBACKSPACE #2,1S
: GOSUB '42(2)
4780 IF L9=1THEN 4800
: MAT SEARCHB7$()<1,L9*W3>,=STR(W$(K8),,Q0)TO B9$STEP W3
: IF B9$=HEX(0000)THEN 4800
: GOSUB '36(1)
: GOTO 4920
4800 B7$=H4$
: AND (B7$,80)
: IF B7$<>HEX(80)THEN 4920
4830 GOSUB '232(2,0,B7$(L9+1))
: J$(3)=" "
: GOSUB '91
: IF J0=7THEN GOSUB '92
: IF J0=7THEN 4830
: IF J0>1THEN 5200
: GOSUB '160(4)
: K8=0
: GOTO 4300
4920 IF K8<WTHEN 4370
4940 T2$()=D6$(L9)
: T$=D7$(L9)
: GOSUB '237(2,0)
: IF Q$="E"OR STR(T7$,,Q0)<>STR(B7$(L9),,Q0)THEN 5020
: GOSUB '160(4)
: B7$(L9)=T7$
: K8=0
: GOTO 4340
5020 IF L9=1THEN 5160
: IF Q$="E"THEN GOSUB '235(2,0)
: L9=L9-1
: B8$=DSC HEX(01)
: 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 K8<=WTHEN 4600
: GOTO 4940
5160 B7$(1)=STR(T7$,,Q0)&"001"
: IF Q$=" "THEN 4250
: GOSUB '31
5200 GOSUB '91
: GOSUB '254
5230 DEFFN'31
: IF E6=0OR I0$<>"005"THEN LOAD TM$
: SELECT PRINT 005(80)
: PRINT AT(1,0,80);E6;"BILL OF MATERIAL ERRORS WERE FOUND DURING PROCESSING
"
: GOSUB '254
: LOAD TM$
5330 DEFFN'90
: Q6$=" "
: KEYIN Q6$,5370,5370
: IF Q6$="P"THEN GOSUB '254
5370 IF Q6$=HEX(1F)THEN GOSUB '31
: SELECT PRINT <I0$>(132)
: IF L<L0-5THEN RETURN
: P1=P1+1
: PRINT HEX(0C0A0E);N2$
: PRINT TAB(47);"LOW LEVEL CODE CALCULATION ERROR REPORT";TAB(93);Q1$;TAB(1
15);"PAGE ";P1
: PRINT HEX(0A)
: L=2
: RETURN
5470 DEFFN'36(A7)
: E6=E6+1
: GOSUB '90
: ON A7GOTO 5520,5680
5520 PRINT "** PRODUCT ID - ";F1$;" IS USED IN ITSELF **"
: L8=INT((VAL(B9$,2)+W3-1)/W3)+1
: PRINT " SEQUENCE OF PARENT-COMPONENT RELATIONSHIPS STARTING AT LEVEL ";L
8-1;" AND GOING TO LEVEL ";L9;":"
: K9=0
: FOR I=L8TO L9+1
: PRINT TAB(K9);STR(B7$(I),,Q0);
: K9=K9+Q0+2
: IF K9<128-Q0THEN 5620
: PRINT
: K9=0
5620 NEXT I
: PRINT
: PRINT HEX(0A)
: L=L+6
: RETURN
5680 PRINT "** PRODUCT ID - ";STR(B7$(L9),,Q0);" AT LEVEL ";L9-1;" HAS COMPONE
NTS AT A LOWER LEVEL **"
: PRINT HEX(0A)
: L=L+2
: RETURN
9998 DEFFN'29"Q$=";HEX(22);"BOMS080A";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)