1  REM  ****  HP BASIC PROGRAM LIBRARY  *******************************
2  REM
3  REM        APNSRT:   CTC ACCOUNTS PAYABLE
4  REM
5  REM        36638 REV  A   PART 3 OF 24   6/73
6  REM
7  REM  ****  CONTRIBUTED PROGRAM  ************************************
8  DIM L[14,120],A[14],D[2]
10  DIM Z$[2],M$[58]
11  DIM T$[58]
12  J9=0
13  DIM I$[58],K$[58]
100  FILES PN1,PN2,PN3,P0
200  READ C8,C9
210  DATA 3,2
220  DATA "AN","C","CO","E","GO","J","M","N","P","RS","ST","T","V"
225  Z0=14
300  READ #(C8+1),1;M9
310  READ #(C8+1),2
400  MAT A=ZER
410  FOR I1=1 TO M9
420  K9=I1
430  GOSUB 4500
440  IF B1 THEN 470
445  GOSUB 3000
450  A[Z]=A[Z]+1
452  IF A[Z]>120 THEN 700
455  L[Z,A[Z]]=I1
470  NEXT I1
475  FOR I=1 TO Z0
476  PRINT A[I];
477  J9=J9+A[I]
478  NEXT I
479  PRINT J9
480  PRINT #(C8+1);J9
485  FOR L5=1 TO Z0
487  PRINT L5
490  J9=A[L5]
495  GOSUB 1000
500  NEXT L5
640  PRINT #(C8+1); END 
650  END 
700  PRINT '7'7"GROUP";Z;"OVER 120 VENDORS AT VENDOR#";I1
710  STOP 
1000  FOR J1=2 TO J9
1010  FOR J2=J1 TO 2 STEP -1
1015  K9=L[L5,J2]
1020  GOSUB 4500
1035  I$=T$
1040  K9=L[L5,J2-1]
1050  GOSUB 4500
1070  K$=T$
1080  IF I$ >= K$ THEN 1120
1090  X=L[L5,J2]
1095  L[L5,J2]=L[L5,J2-1]
1100  L[L5,J2-1]=X
1110  NEXT J2
1120  NEXT J1
1130  FOR I2=1 TO J9
1180  PRINT #(C8+1);L[L5,I2]
1185  NEXT I2
1190  RETURN 
3000  RESTORE 220
3010  FOR Z=1 TO Z0-1
3020  READ Z$
3030  IF T$[1,2]<Z$ THEN 3050
3040  NEXT Z
3050  RETURN 
4500  B1=0
4505  X=K9
4510  FOR N=1 TO C8
4515  IF X<401 THEN 4550
4520  X=X-400
4525  NEXT N
4530  PRINT '7'7"ERR1"
4535  STOP 
4550  R=INT(X/2)
4555  R1=2
4560  IF R*2=X THEN 4575
4565  R=R+1
4567  R1=1
4575  READ #N,R;M$,D[1],T$,D[2]
4580  IF D[R1]#-1 THEN 4600
4585  B1=1
4590  RETURN 
4600  IF R1=2 THEN 4620
4610  T$=M$
4620  M$=""
4625  J=1
4630  FOR I=1 TO LEN(T$)
4635  IF T$[I,I]='17 THEN 4675
4640  M$[J,J]=T$[I,I]
4645  J=J+1
4650  IF T$[I,I]="." THEN 4660
4655  IF T$[I,I]#"," THEN 4670
4660  M$[J,J]=" "
4665  J=J+1
4670  NEXT I
4675  T$=M$[1,J-1]
4680  RETURN 
9999  END 
