1  REM  ****  HP BASIC PROGRAM LIBRARY  *******************************
2  REM
3  REM         OHCLER : CTC MANUFACTURING PARTS CONTROL
4  REM
5  REM         36210 REV  B  PART 21 OF 23   2/73 
6  REM
7  REM  ****  CONTRIBUTED PROGRAM  ************************************
10  REM *CLEARS ON HAND, ON ORDER, OR SPECIFIED PRODUCT USAGE FROM
11  REM  ALL PARTS ON FILE N*
12  DIM P$[10],Q$[10],A$[20]
20  DIM P[13],Q[13],R[13],S[30]
50  DATA "G1","G2","G3","G4","G5","G6","G7","G8","G9"
60  O5=21
100  FILES G1
110  PRINT "CLEAR ON ORDER/ON HAND OR A PRODUCT USAGE (O/P)";
115  INPUT A$
117  F1=1
120  IF A$[1,1]="O" THEN 200
122  F1=0
125  IF A$[1,1]="P" THEN 3000
130  PRINT '7'7'7"WHAT";
135  GOTO 115
200  PRINT "CLEAR ON ORDER OR ON HAND VALUES (O/H)";
210  INPUT P$
212  IF P$="END" THEN 9999
215  P0=3
220  IF P$[1,1]="O" THEN 240
225  P0=4
230  IF P$[1,1]="H" THEN 240
235  PRINT '7'7'7"WHAT";
237  GOTO 210
240  GOSUB 4000
265  PRINT '7'7"ARE YOU SURE THAT YOU WANT THE  ";P$;"  CLEARED FROM FILE";N;
270  INPUT P$
275  IF P$[1,1]#"Y" THEN 200
1000  ASSIGN A$,1,W5
1002  R1=0
1005  IF  END #1 THEN 1120
1007  R1=R1+1
1010  READ #1,R1;P$
1015  MAT  READ #1;P
1020  IF P[1]=0 THEN 1120
1025  IF F1 THEN 1050
1030  MAT R=P
1035  GOSUB 9700
1040  MAT P=R
1045  GOTO 1055
1050  P[P0]=0
1055  READ #1;Q$
1060  MAT  READ #1;Q
1065  IF F1 THEN 1090
1070  MAT R=Q
1075  GOSUB 9700
1080  MAT Q=R
1085  GOTO 1095
1090  Q[P0]=0
1095  PRINT #1,R1;P$
1100  MAT  PRINT #1;P
1105  PRINT #1;Q$
1110  MAT  PRINT #1;Q
1115  GOTO 1007
1120  IF (N#2 AND N#4 AND N#7) THEN 9999
1125  IF A$[3]="" THEN 9999
1130  A$[3]="A"
1135  GOTO 1000
3000  DATA "3300/3000","2200-350","3360-100","3300-~00","2200-000"
3001  DATA "2200-300","2200-200","","","","3360-200","3300-300","VT06"
3002  DATA "2200-112","2200-400","2200-401","2200-402","2200-420"
3003  DATA "2200PS","2200-404",""
3010  PRINT "ENTER PRODUCT NAME";
3015  INPUT P$
3020  IF P$="END" THEN 9999
3025  RESTORE 3000
3030  FOR O=1 TO O5
3035  READ Q$
3040  IF Q$=P$ THEN 3060
3045  NEXT O
3050  PRINT '7'7"INVALID PODUCT NAME"
3055  GOTO 3010
3060  GOSUB 4000
3065  PRINT '7'7"ARE YOU SURE YOU WAN TO CLEAR THE ";Q$;" PRODUCT USAGE "
3070  PRINT "FROM FILE ";N
3075  INPUT P$
3080  IF P$[1,1]#"Y" THEN 3010
3100  GOTO 1000
4000  PRINT "ENTER PART TYPE TO BE CLEARED (# FROM 1 TO 9)";
4005  INPUT N
4010  IF INT(N)=N AND N>0 AND N<10 THEN 4025
4015  PRINT '7'7'7"WHAT";
4020  GOTO 4005
4025  RESTORE 50
4027  FOR I=1 TO N
4030  READ A$
4035  NEXT I
4040  RETURN 
9700  J=1
9705  FOR I=5 TO 9
9710  S[J]=INT(R[I]/1000)
9715  S[J+1]=R[I]-S[J]*1000
9720  J=J+2
9725  NEXT I
9730  FOR I=10 TO 13
9735  S[J]=INT(R[I]/10^4)
9740  S[J+1]=INT((R[I]-S[J]*10^4)/100)
9745  S[J+2]=R[I]-S[J]*10^4-S[J+1]*100
9750  J=J+3
9755  NEXT I
9760  S[O]=0
9765  J=5
9770  FOR I=1 TO 9 STEP 2
9775  R[J]=S[I]*1000+S[I+1]
9780  J=J+1
9785  NEXT I
9790  FOR I=11 TO 20 STEP 3
9795  R[J]=S[I]*10^4+S[I+1]*100+S[I+2]
9800  J=J+1
9810  NEXT I
9820  RETURN 
9999  END 
