1000 ON ERROR GOTO 4200 1010 DEFDBL F 1020 DEF FNR(E,C)=E-C*INT(E/C) 1030 DIM SO(7,24),LH(24),HR(24) 1040 CLS$=CHR$(26) 1050 CTY=1900:B=0 1060 F$=" ####":F1$=" #######k":F2$="###.##":F3$=" #####":F4$="####":F5$="##" 1070 F6$="#####":F7$="##.## ":F8$="## ":F9$="####.# ":F0$="##.#" 1080 LGO$="XFRTOOL v4 " 1090 CPT$="(c) AB17/HOST Systems" 1100 DED$=" to Abort Program" 1110 IFL$="KMD.LOG" 1120 OFL$="XFR.LOG" 1130 TYP$="[XfrLog]" 1140 PRINT CLS$:PRINT LGO$+TYP$:PRINT CPT$:PRINT DED$:PRINT:PRINT 1150 GOSUB 2240 1160 OPEN"I",#1,IFL$ 1170 IF INKEY$=CHR$(27) THEN CLOSE:STOP 1180 IF EOF(1) THEN 1560 1190 INPUT#1,A$ 1200 R=R+1 1210 BR$=LEFT$(A$,2) 1220 MI=VAL(MID$(A$,4,2)) 1230 SC=VAL(MID$(A$,7,2)) 1240 SK=VAL(MID$(A$,38,3)) 1250 MN=VAL(MID$(A$,43,2)) 'EDATE AREA 1260 ND=VAL(MID$(A$,46,2)) 1270 YR=VAL(MID$(A$,49,2)) 1280 HD=VAL(MID$(A$,52,2)) 1290 MD=VAL(MID$(A$,55,2)) 1300 YR=YR+CTY 1310 PRINT TAB(36)USING F5$;MN;:PRINT TAB(41)USING F5$;DD; 1320 PRINT TAB(46)USING F5$;YR-1900;:PRINT TAB(49)USING F3$;R;:PRINT CHR$(13); 1330 IF B=0 THEN MN1=MN:D1=ND:YR1=YR:B=-1 1340 SPD=VAL(RIGHT$(BR$,1)) 1350 BD(SPD)=BD(SPD)+1 1360 TK=TK+SK 1370 T$=LEFT$(BR$,1) 1380 IF T$="S" OR T$="L" OR T$="A" THEN ST=ST+1:TKSND=TKSND+SK 1390 IF T$="R" OR T$="P" THEN RV=RV+1:TKRCD=TKRCD+SK 1400 MS=MS+MI 1410 SS=SS+SC 1420 IF SS>60 THEN RMD=SS-60:MS=MS+1:SS=RMD 1430 IF MS>60 THEN RMD=MS-60:HRS=HRS+1:MS=RMD 1440 HR(HD)=HR(HD)+1 1450 YY=YR:YY=ABS(YY):MM=MN:MM=ABS(MM):DD=ND:DD=ABS(DD) 1460 IF MM>2 THEN 1490 1470 FTR =365*(YY)+DD+(31*(MM-1))+INT((YY-1)/4)-INT(.75*INT((YY-1)/100)+1) 1480 GOTO 1500 1490 FTR=365*(YY)+DD+31*(MM-1)-INT(.4*MM+2.3)+INT(YY/4)-INT(.75*INT(YY/100)+1) 1500 FR=FTR-(FTR*2) 1510 DY=FTR+INT(FR/7)*7 1520 DY=6+DY 1530 ND(DY)=ND(DY)+1 1540 HD=ND:HMN=MN:HYR=YR 1550 GOTO 1170 1560 CLOSE 1570 OPEN"O",#2,OFL$ 1580 PRINT #2,LEFT$(LGO$,11)+"(c) 1987";TAB(24)"-=*=- KMD LOG Summaries -=*=- "; 1590 PRINT #2,TAB(57);"1st date: ";RIGHT$(STR$(MN1),2);" ";RIGHT$(STR$(D1),2);" ";RIGHT$(STR$(YR1),2) 1600 PRINT #2,RIGHT$(CPT$,18);TAB(57);"Lst date: ";RIGHT$(STR$(HMN),2);" ";RIGHT$(STR$(HD),2);" ";RIGHT$(STR$(YR),2) 1610 GOSUB 2230 1620 PRINT #2,TAB(3)"Data Element";TAB(21)"Raw";TAB(28)"Percent"; 1630 PRINT #2,TAB(44)"Day Summaries";TAB(62)"Raw";TAB(71)"Percent" 1640 GOSUB 2230 1650 PRINT #2," Files Rcvd:";TAB(19) USING F$;RV; 1660 PRINT #2,TAB(28) USING F2$;(RV/R)*100;:PRINT #2," | | Monday"; 1670 PRINT #2,TAB(60) USING F$;ND(1);:PRINT#2,TAB(71) USING F2$;(ND(1)/R)*100 1680 PRINT #2," Files Sent:";TAB(19) USING F$;ST; 1690 PRINT #2,TAB(28) USING F2$;(ST/R)*100;:PRINT #2," | | Tuesday"; 1700 PRINT #2,TAB(60) USING F$;ND(2);:PRINT#2,TAB(71) USING F2$;(ND(2)/R)*100 1710 PRINT #2," 2400 Bps:";TAB(19) USING F$;BD(6); 1720 PRINT #2,TAB(28) USING F2$;(BD(6)/R)*100;:PRINT #2," | | Wednesday"; 1730 PRINT #2,TAB(60) USING F$;ND(3);:PRINT#2,TAB(71) USING F2$;(ND(3)/R)*100 1740 PRINT #2," 1200 Bps:";TAB(19) USING F$;BD(5); 1750 PRINT #2,TAB(28) USING F2$;(BD(5)/R)*100;:PRINT #2," | | Thursday"; 1760 PRINT #2,TAB(60) USING F$;ND(4);:PRINT#2,TAB(71) USING F2$;(ND(4)/R)*100 1770 PRINT #2," 300 Bps:";TAB(19) USING F$;BD(1); 1780 PRINT #2,TAB(28) USING F2$;(BD(1)/R)*100;:PRINT #2," | | Friday"; 1790 PRINT #2,TAB(60) USING F$;ND(5);:PRINT#2,TAB(71) USING F2$;(ND(5)/R)*100 1800 PRINT #2," Total Hrs:";TAB(19) USING F$;HRS; 1810 PRINT #2,TAB(27);" | | Saturday";TAB(60) USING F$;ND(6); 1820 PRINT #2,TAB(71) USING F2$;(ND(6)/R)*100 1830 PRINT #2," Total Mins:";TAB(19) USING F$;MS; 1840 PRINT #2,TAB(27) " | | Sunday";TAB(60) USING F$;ND(0); 1850 PRINT #2,TAB(71) USING F2$;(ND(0)/R)*100 1860 PRINT #2," Total Secs:";TAB(19) USING F$;SS; 1870 PRINT #2,TAB(27) " | | Weekdays"; 1880 PRINT #2,TAB(60) USING F$;ND(1)+ND(2)+ND(3)+ND(4)+ND(5); 1890 PRINT #2,TAB(71) USING F2$;((ND(1)+ND(2)+ND(3)+ND(4)+ND(5))/R)*100 1900 PRINT #2," Rcvd Kbs:";TAB(16) USING F1$;TKRCD; 1910 PRINT #2,TAB(28) USING F2$;(TKRCD/TK)*100;:PRINT #2," | | Weekends"; 1920 PRINT #2,TAB(60) USING F$;ND(6)+ND(0); 1930 PRINT #2,TAB(71) USING F2$;((ND(6)+ND(0))/R)*100 1940 PRINT #2," Sent Kbs:";TAB(16) USING F1$;TKSND; 1950 PRINT #2,TAB(28) USING F2$;(TKSND/TK)*100; 1960 PRINT #2," | | Total Sampled";TAB(60) USING F$;R 1970 GOSUB 2230 1980 PRINT #2,TAB(19)"-- Periodic Raw and Percentage Summaries --" 1990 GOSUB 2230 2000 PRINT #2, "00-03am";TAB(12)"03-06am"; 2010 PRINT #2,TAB(22)"06-09am";TAB(32)"09-12am";TAB(42)"12-03pm"; 2020 PRINT #2,TAB(52)"03-06pm";TAB(62)"06-09pm";TAB(72)"09-12pm" 2030 PRINT #2,TAB(3) USING F4$;HR(0)+HR(1)+HR(2); 2040 PRINT #2,TAB(14) USING F4$;HR(3)+HR(4)+HR(5); 2050 PRINT #2,TAB(24) USING F4$;HR(6)+HR(7)+HR(8); 2060 PRINT #2,TAB(34) USING F4$;HR(9)+HR(10)+HR(11); 2070 PRINT #2,TAB(44) USING F4$;HR(12)+HR(13)+HR(14); 2080 PRINT #2,TAB(54) USING F4$;HR(15)+HR(16)+HR(17); 2090 PRINT #2,TAB(64) USING F4$;HR(18)+HR(19)+HR(20); 2100 PRINT #2,TAB(74) USING F4$;HR(21)+HR(22)+HR(23) 2110 PRINT #2,USING F2$;((HR(0)+HR(1)+HR(2))/R)*100; 2120 PRINT #2,TAB(12) USING F2$;((HR(3)+HR(4)+HR(5))/R)*100; 2130 PRINT #2,TAB(22) USING F2$;((HR(6)+HR(7)+HR(8))/R)*100; 2140 PRINT #2,TAB(32) USING F2$;((HR(9)+HR(10)+HR(11))/R)*100; 2150 PRINT #2,TAB(42) USING F2$;((HR(12)+HR(13)+HR(14))/R)*100; 2160 PRINT #2,TAB(52) USING F2$;((HR(15)+HR(16)+HR(17))/R)*100; 2170 PRINT #2,TAB(62) USING F2$;((HR(18)+HR(19)+HR(20))/R)*100; 2180 PRINT #2,TAB(72) USING F2$;((HR(21)+HR(22)+HR(23))/R)*100 2190 CLOSE 2200 PRINT CLS$:PRINT LGO$+TYP$:PRINT CPT$:PRINT:PRINT:PRINT 2210 PRINT TAB(27)"Output = XFR.LOG":PRINT:PRINT TAB(27)"Loading RICLOG Module..." 2220 FOR I=1 TO 3000:NEXT:GOTO 2250 2230 PRINT #2,STRING$(79,45):RETURN 2240 PRINT TAB(22)"Processing: MM DD CY Record #":PRINT:RETURN 2250 OPEN"I",#1,"XFR.LOG" 2260 WHILE NOT EOF(1) 2270 LINE INPUT#1,A$ 2280 IF MID$(A$,3,11)="Total Hrs:" THEN GOSUB 2350 2290 IF MID$(A$,3,11)="Total Mins:" THEN GOSUB 2370 2300 IF MID$(A$,3,11)="Total Secs:" THEN 2330 2310 GOTO 2260 2320 WEND 2330 CLOSE #1 2340 GOTO 2400 2350 X=VAL(MID$(A$,19,5)) 2360 T1=X*60:RETURN 2370 X=VAL(MID$(A$,19,5)) 2380 T2=X 2390 XFRT=T1+T2:RETURN 2400 BD(1)=0:BD(5)=0:BD(6)=0 2410 MM=0:HR=0:DY=0:ND=0:FR=0 2420 IFL$="CALLERS" 2430 OFL$="RIC.LOG" 2440 TYP$="[RicLog]" 2450 PRINT CLS$:PRINT LGO$+TYP$:PRINT CPT$:PRINT DED$:PRINT:PRINT 2460 GOSUB 2240 2470 OPEN"I",#1,IFL$ 2480 FOR LP=1 TO 7:READ DY$(LP):NEXT 2490 FOR LP=1 TO 8:READ HD$(LP):NEXT 2500 WHILE NOT EOF(1) 2510 IF INKEY$=CHR$(27) THEN CLOSE:END 2520 IF CNT=1 THEN GOSUB 4060 2530 CNT=CNT+1 2540 LINE INPUT#1,B$ 2550 B$=LEFT$(B$,61) 'Size for your system... 2560 MM=VAL(LEFT$(B$,2)) 2570 ML=MM 2580 IF CNT=1 THEN GOSUB 4160 2590 DD=VAL(MID$(B$,4,2)) 2600 DL=DD 2610 IF CNT=1 THEN GOSUB 4170 2620 INHR=VAL(MID$(B$,7,2)) 2630 INMIN=VAL(MID$(B$,10,2)) 2640 OUTHR=VAL(MID$(B$,13,2)) 2650 OUTMIN=VAL(MID$(B$,16,2)) 2660 BD=VAL(MID$(B$,21,4)) 'Location for your system 2670 ST$=MID$(B$,59,2) 'Location for your system 2680 MM=ABS(MM) 2690 DD=ABS(DD) 2700 IF ST$="OH" THEN S=S+1:OS=(CNT-S) 'Location for your system 2710 IF MM>2 THEN 2740 2720 FCT=365*(YR)+DD+(31*(MM-1))+INT((YR-1)/4)-INT(.75*INT((YR-1)/100)+1) 2730 GOTO 2750 2740 FCT=365*(YR)+DD+31*(MM-1)-INT(.4*MM+2.3)+INT(YR/4)-INT(.75*INT(YR/100)+1) 2750 FACT=FCT-(FCT*2) 2760 DAY=FCT+INT(FACT/7)*7 2770 DAY=7+DAY 2780 IF BD=1200 THEN BD(5)=BD(5)+1 2790 IF BD=300 THEN BD(1)=BD(1)+1 2800 IF BD=2400 THEN BD(6)=BD(6)+1 2810 SO(DAY,INHR)=SO(DAY,INHR)+1:LH(INHR)=LH(INHR)+1 2820 TD(DAY)=TD(DAY)+1 2830 IF OUTHR2 THEN GOTO 4150 ELSE N=2 4110 IF E2=0 THEN GOTO 4130 ELSE R=FNR(E2,4) 4120 IF R<>0 THEN GOTO 4150 ELSE 4140 4130 IF FNR(E1,4)<>0 THEN 4150 4140 N=1 4150 C=INT(365.25*E2)+INT(30.56*M)+N+D:RETURN 4160 M1=MM:RETURN 4170 D1=DD:RETURN 4180 DATA Sun,Mon,Tue,Wed,Thu,Fri,Sat 4190 DATA 00-03am,03-06am,06-09am,09-12am,12-03pm,03-06pm,06-09pm,09-12pm 4200 IF ERR=9 THEN RESUME NEXT 4210 IF ERR=53 AND ERL=2250 THEN XFRT=1:RESUME 2420 4220 IF ERR THEN PRINT:PRINT"Error & Error-Line => ";ERR;ERL:RESUME 4230 4230 PRINT:PRINT:END