XMCSIZE ;(WASH ISC)/AML-Message Stats Tool (shareware) ;04/17/2002 08:26
;;8.0;MailMan;;Jun 28, 2002
R !,"Message number: ",XMZ:$S($D(DTIME):DTIME,1:300) Q:'$T W !,"WORKING..." S Y=0
S I=0 F X=0:0 S X=$O(^XMB(3.9,XMZ,2,X)) Q:X="" S I=I+1,Y=Y+$L(^(X,0)) I I#100=0 W "." I $X>70 W !
W !,I," Lines "," ",Y," Bytes ",!
TT R !,"Transmission time in seconds: ",%:$S($D(DTIME):DTIME,1:300) Q:%=""!(%["^")!'$T
I %'?1.N!'% W $C(7),!," Enter a non-zero number of seconds, please.",! G TT
W !,$J(I-1/%,15,2)," Lines/sec ",$J(Y/%,20,2)," Bytes/sec",!
Q
COMP ;COMPARE TWO MESSAGES
R !,"First message to compare: ",XMZ1:$S($D(DTIME):DTIME,1:300) Q:XMZ1=""
R !,"Second message to compare: ",XMZ2:$S($D(DTIME):DTIME,1:300) Q:XMZ2=""
K ^TMP($J) F O=0:1 Q:'$D(^XMB(3.9,XMZ1,2,O+1,0)) S ^TMP($J,1,O+1,0)=^(0)
F F=0:1 Q:'$D(^XMB(3.9,XMZ2,2,F+1,0)) S ^TMP($J,2,F+1,0)=^(0)
;
D ^XMPC
Q
;F I=1:1 Q:'$D(^XMB(3.9,XMZ1,2,I,0)) S X=^(0),Y=^XMB(3.9,XMZ2,2,I,0) D:X'=Y CHK
;Q
CHK ;COMPARE DIFFERENCES
W !,X,!!,Y Q
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HXMCSIZE 1037 printed Nov 22, 2024@17:21:26 Page 2
XMCSIZE ;(WASH ISC)/AML-Message Stats Tool (shareware) ;04/17/2002 08:26
+1 ;;8.0;MailMan;;Jun 28, 2002
+2 READ !,"Message number: ",XMZ:$SELECT($DATA(DTIME):DTIME,1:300)
if '$TEST
QUIT
WRITE !,"WORKING..."
SET Y=0
+3 SET I=0
FOR X=0:0
SET X=$ORDER(^XMB(3.9,XMZ,2,X))
if X=""
QUIT
SET I=I+1
SET Y=Y+$LENGTH(^(X,0))
IF I#100=0
WRITE "."
IF $X>70
WRITE !
+4 WRITE !,I," Lines "," ",Y," Bytes ",!
TT READ !,"Transmission time in seconds: ",%:$SELECT($DATA(DTIME):DTIME,1:300)
if %=""!(%["^")!'$TEST
QUIT
+1 IF %'?1.N!'%
WRITE $CHAR(7),!," Enter a non-zero number of seconds, please.",!
GOTO TT
+2 WRITE !,$JUSTIFY(I-1/%,15,2)," Lines/sec ",$JUSTIFY(Y/%,20,2)," Bytes/sec",!
+3 QUIT
COMP ;COMPARE TWO MESSAGES
+1 READ !,"First message to compare: ",XMZ1:$SELECT($DATA(DTIME):DTIME,1:300)
if XMZ1=""
QUIT
+2 READ !,"Second message to compare: ",XMZ2:$SELECT($DATA(DTIME):DTIME,1:300)
if XMZ2=""
QUIT
+3 KILL ^TMP($JOB)
FOR O=0:1
if '$DATA(^XMB(3.9,XMZ1,2,O+1,0))
QUIT
SET ^TMP($JOB,1,O+1,0)=^(0)
+4 FOR F=0:1
if '$DATA(^XMB(3.9,XMZ2,2,F+1,0))
QUIT
SET ^TMP($JOB,2,F+1,0)=^(0)
+5 ;
+6 DO ^XMPC
+7 QUIT
+8 ;F I=1:1 Q:'$D(^XMB(3.9,XMZ1,2,I,0)) S X=^(0),Y=^XMB(3.9,XMZ2,2,I,0) D:X'=Y CHK
+9 ;Q
CHK ;COMPARE DIFFERENCES
+1 WRITE !,X,!!,Y
QUIT