2 ! PRINTS AGE ANALYSIS OF PURCHASE ORDERS. 5 ! PROGRAM NAME:"AGEPO" - BY JAC 10 INPUT "INPUT DATE AS: MM-DD-YY";D1$ 12 N%=INSTR(1%,D1$,"-"):IF N%<2% OR N%>3% THEN 10 14 IF N%=2% THEN D1$=" "+D1$ 15 N%=INSTR(4%,D1$,"-"):IF N%<5% OR N%>6% THEN 10 18 IF N%=5% THEN D1$=LEFT(D1$,3%)+" "+RIGHT(D1$,4%) 25 OPEN "DK1:ACCPAY.PO" AS FILE 1%:DIM #1%,P1$(1000%)=64%,P%(0%):N%=P%(0%) 35 OPEN "DK1:ACCPAY.ARG" AS FILE 2%:DIM #2%,J(1000%):DIM I%(1000%):GOSUB 400: CLOSE 2%:KILL "DK1:ACCPAY.ARG" 50 OPEN "DK1:GLFILE.FND[2,4]" AS FILE 2%:DIM #2%,F$(20%)=32%,F%(0%) 60 OPEN "LP:" FOR OUTPUT AS FILE 3%,MODE 66%:DIM T(5%),F(5%) 65 Q$="###,###.##":Q1$="#,"+Q$:J%=0%:M%=F%(0%):E%=1% 70 FOR K%=1% TO M% 75 F1$=LEFT(F$(K%),2%):IF MID(P1$(E%),41%,2%)<>F1$ THEN 230 80 GOSUB 500 85 FOR I%=E% TO N% 90 D2$=LEFT(P1$(I%),2%)+"-"+MID(P1$(I%),3%,2%)+"-7"+MID(P1$(I%),5%,1%) 95 V$=MID(P1$(I%),6%,6%):D$=MID(P1$(I%),12%,17%):F$=MID(P1$(I%),41%,2%) 100 O$=MID(P1$(I%),54%,5%)+"-"+MID(P1$(I%),59%,1%):A=VAL(MID(P1$(I%),29%,9%)) 105 C1%=VAL(LEFT(D1$,2%)):C2%=VAL(MID(D1$,4%,2%)):C3%=VAL(RIGHT(D1$,7%)) 110 P1%=VAL(LEFT(D2$,2%)):P2%=VAL(MID(D2$,4%,2%)):P3%=VAL(RIGHT(D2$,7%)):D%=0% 112 IF P3%+1%12% THEN P1%=1% 130 IF C1%<>P1% THEN D%=D%+30%:GOTO 125 135 FOR H%=1% TO 4% 140 IF D%<=30%*H% THEN T(H%)=T(H%)+A:S%=H%:GOTO 150 145 NEXT H% 150 IF D%>120% THEN T(5%)=T(5%)+A:S%=5% 155 T(0%)=T(0%)+A:PRINT #3%,TAB(8%);V$;" ";D$;" ";F$;" ";O$;" "; 160 PRINT #3%,USING Q$,A/100%;:PRINT #3%," ";D2$;" "; 165 PRINT #3%,USING "###",D%; 170 PRINT #3%," "; FOR H%=2% TO S% 175 PRINT #3%,USING Q1$,A/100% 180 PRINT #3%:L%=L%+2%:IF L%>52% THEN GOSUB 500 190 IF I%=N% OR MID(P1$(I%+1%),41%,2%)<>F1$ THEN D%=I%-E%+1%:E%=I%+1%:GOTO 200 195 NEXT I% 200 PRINT #3%,TAB(8%);"NUMBER OF P.O.'S ";D%:F(0%)=F(0%)+T(0%) 205 PRINT #3%,TAB(8%);"P.O.'S OUTSTANDING FOR FUND ";F$;TAB(42%); 210 PRINT #3%,USING Q1$,T(0%)/100%;:PRINT #3%," *";TAB(70%); 215 FOR H%=1% TO 5% 220 PRINT #3%,USING Q1$,T(H%)/100%;:F(H%)=F(H%)+T(H%):T(H%)=0% 225 NEXT H% 226 PRINT #3%:T(0%)=0% 230 NEXT K% 235 PRINT #3%:PRINT #3%,TAB(8%);"TOTAL NUMBER OF P.O.'S ";N% 240 PRINT #3%,TAB(8%);"FINAL TOTAL OF P.O.'S OUTSTANDING";TAB(42%); 245 PRINT #3%,USING Q1$,F(0%)/100%;:PRINT #3%," **";TAB(70%); 250 PRINT #3%,USING Q1$,F(H%)/100%; FOR H%=1% TO 5% 255 PRINT #3%:PRINT #3%,CHR$(128%+1%):CLOSE 1%,2%,3%:STOP 400 I%(K%)=0% FOR K%=1% TO N% 405 J(K%)=VAL(MID(P1$(K%),41%,2%)+MID(P1$(K%),54%,5%)) FOR K%=1% TO N% 410 M=J(1%):FOR K%=2% TO N%:IF J(K%)>M THEN M=J(K%):GOTO 425 415 T=J(K%):FOR J%=K%-1% TO 1% STEP -1%:IF J(J%)>T THEN I%(K%)=I%(K%)-1%: I%(J%)=I%(J%)+1% 420 NEXT J% 425 NEXT K%:FOR K%=1% TO N%:IF I%(K%)=0% THEN 435 ELSE J%=K%:T$=P1$(K%) 430 T1$=P1$(J%+I%(J%)):P1$(J%+I%(J%))=T$:L%=J%:J%=L%+I%(L%):I%(L%)=0%:T$=T1$: GOTO 430 IF J%<>K% 435 NEXT K%:RETURN 500 PRINT #3%,CHR$(129%):J%=J%+1%:L%=0% 505 PRINT #3%,TAB(8%);RIGHT(F$(K%),3%);TAB(42%);"AGE ANALYSIS OF PURCHASE "; "ORDERS";TAB(88%);D1$;TAB(116%);"PAGE ";J%:PRINT #3% 510 PRINT #3%,TAB(8%);"VENDOR";TAB(33%);"FD P.O.";TAB(58%);"PO DATE DAYS"; TAB(78%);"1-30";TAB(89%);"31-60";TAB(101);"61-90";TAB(113%);"91-120"; TAB(122%);"121 DAYS" 515 PRINT #3%,TAB(8%);"NUMBER V E N D O R";TAB(33%);"NO NUMBER";TAB(48%); "AMOUNT MO-DY-YR OLD";TAB(78%);"DAYS";TAB(90%);"DAYS";TAB(102%); "DAYS";TAB(114%);"DAYS";TAB(122%);"AND OVER":PRINT #3%:RETURN 550 END