DG53289M ;ALB/RMM DG*5.3*289 MT Workload Cleanup to Mailman Msg ; 23 Aug 2000 7:00 AM
;;5.3;Registration;**289,1015**;Aug 23, 2000;Build 21
;
; This routine will be run as part of the MT Workload Cleanup in
; patch DG*5.3*289.
;
; A mail message will be sent to the user when the cleanup process
; is complete.
;
;
MAIL ; Send a mailman msg to user with results
N DIFROM,%
N DATA,DATA1,FILE,FLD,IENX,IY,NODE,TEXT,I,X,XMDUZ,XMSUB,XMTEXT,XMY,Y,STA
K ^TMP("DG53289",$J)
S XMSUB="Means Test Workload Cleanup"
S XMDUZ="IVM Cleanup Package",XMY(DUZ)="",XMY(.5)=""
S XMTEXT="^TMP(""DG53289"",$J,"
D NOW^%DTC S Y=% D DD^%DT
S ^TMP("DG53289",$J,1)="Means Test Workload Cleanup"
S ^TMP("DG53289",$J,2)=" "
S TEXT="Income year"
S TEXT=$$BLDSTR("# of IVM MT Changed",TEXT,20,18)
S ^TMP("DG53289",$J,3)=TEXT
S ^TMP("DG53289",$J,4)=$$REPEAT^XLFSTR("=",$L(TEXT))
S IY=0,NODE=4
F S IY=$O(^XTMP("DG-MT-IY",IY)) Q:'IY D
. S DATA=^XTMP("DG-MT-IY",IY)
. S TEXT=IY+1700
. S DATA1=$J(+$P(DATA,U),6)
. S TEXT=$$BLDSTR(DATA1,TEXT,20,$L(DATA1))
. S NODE=NODE+1
. S ^TMP("DG53289",$J,NODE)=TEXT
F I=1:1:2 S NODE=NODE+1,^TMP("DG53289",$J,NODE)=" "
;
; add error reports to the mail message
I $O(^XTMP("DG-MT-ERR",0))'="" D
.S NODE=NODE+1
.S ^TMP("DG53289",$J,NODE)="Some records were not edited due to filing errors:"
.S NODE=NODE+1
.S ^TMP("DG53289",$J,NODE)=" "
.S TEXT="File #"
.S TEXT=$$BLDSTR("Record #",TEXT,12,8)
.S TEXT=$$BLDSTR("Node",TEXT,22,9)
.S TEXT=$$BLDSTR("Error Message",TEXT,32,13)
.S NODE=NODE+1
.S ^TMP("DG53289",$J,NODE)=TEXT
.S FILE=""
.F S FILE=$O(^XTMP("DG-MT-ERR",FILE)) Q:FILE="" D
..S TEXT=FILE
..S IENX=""
..F S IENX=$O(^XTMP("DG-MT-ERR",FILE,IENX)) Q:IENX="" D
...S FLD=""
...F S FLD=$O(^XTMP("DG-MT-ERR",FILE,IENX,FLD)) Q:FLD="" D
....S DATA=^XTMP("DG-MT-ERR",FILE,IENX,FLD)
....S TEXT=$$BLDSTR(IENX,TEXT,12,$L(IENX))
....S TEXT=$$BLDSTR(FLD,TEXT,22,$L(FLD))
....S TEXT=$$BLDSTR(DATA,TEXT,32,$L(DATA))
....S NODE=NODE+1
....S ^TMP("DG53289",$J,NODE)=TEXT
;
MAIL1 D ^XMD
K ^TMP("DG53289",$J)
Q
;
BLDSTR(NSTR,STR,COL,NSL) ; build a string
; Input:
; NSTR = a string to be added to STR
; STR = an existing string to which NSTR will be added
; COL = column location at which NSTR will be added to STR
; NSL = length of new string
; Output:
; returns STR with NSTR appended at the specified COL
;
Q $E(STR_$J("",COL-1),1,COL-1)_$E(NSTR_$J("",NSL),1,NSL)_$E(STR,COL+NSL,999)
DG53289M ;ALB/RMM DG*5.3*289 MT Workload Cleanup to Mailman Msg ; 23 Aug 2000 7:00 AM
+1 ;;5.3;Registration;**289,1015**;Aug 23, 2000;Build 21
+2 ;
+3 ; This routine will be run as part of the MT Workload Cleanup in
+4 ; patch DG*5.3*289.
+5 ;
+6 ; A mail message will be sent to the user when the cleanup process
+7 ; is complete.
+8 ;
+9 ;
MAIL ; Send a mailman msg to user with results
+1 NEW DIFROM,%
+2 NEW DATA,DATA1,FILE,FLD,IENX,IY,NODE,TEXT,I,X,XMDUZ,XMSUB,XMTEXT,XMY,Y,STA
+3 KILL ^TMP("DG53289",$JOB)
+4 SET XMSUB="Means Test Workload Cleanup"
+5 SET XMDUZ="IVM Cleanup Package"
SET XMY(DUZ)=""
SET XMY(.5)=""
+6 SET XMTEXT="^TMP(""DG53289"",$J,"
+7 DO NOW^%DTC
SET Y=%
DO DD^%DT
+8 SET ^TMP("DG53289",$JOB,1)="Means Test Workload Cleanup"
+9 SET ^TMP("DG53289",$JOB,2)=" "
+10 SET TEXT="Income year"
+11 SET TEXT=$$BLDSTR("# of IVM MT Changed",TEXT,20,18)
+12 SET ^TMP("DG53289",$JOB,3)=TEXT
+13 SET ^TMP("DG53289",$JOB,4)=$$REPEAT^XLFSTR("=",$LENGTH(TEXT))
+14 SET IY=0
SET NODE=4
+15 FOR
SET IY=$ORDER(^XTMP("DG-MT-IY",IY))
IF 'IY
QUIT
Begin DoDot:1
+16 SET DATA=^XTMP("DG-MT-IY",IY)
+17 SET TEXT=IY+1700
+18 SET DATA1=$JUSTIFY(+$PIECE(DATA,U),6)
+19 SET TEXT=$$BLDSTR(DATA1,TEXT,20,$LENGTH(DATA1))
+20 SET NODE=NODE+1
+21 SET ^TMP("DG53289",$JOB,NODE)=TEXT
End DoDot:1
+22 FOR I=1:1:2
SET NODE=NODE+1
SET ^TMP("DG53289",$JOB,NODE)=" "
+23 ;
+24 ; add error reports to the mail message
+25 IF $ORDER(^XTMP("DG-MT-ERR",0))'=""
Begin DoDot:1
+26 SET NODE=NODE+1
+27 SET ^TMP("DG53289",$JOB,NODE)="Some records were not edited due to filing errors:"
+28 SET NODE=NODE+1
+29 SET ^TMP("DG53289",$JOB,NODE)=" "
+30 SET TEXT="File #"
+31 SET TEXT=$$BLDSTR("Record #",TEXT,12,8)
+32 SET TEXT=$$BLDSTR("Node",TEXT,22,9)
+33 SET TEXT=$$BLDSTR("Error Message",TEXT,32,13)
+34 SET NODE=NODE+1
+35 SET ^TMP("DG53289",$JOB,NODE)=TEXT
+36 SET FILE=""
+37 FOR
SET FILE=$ORDER(^XTMP("DG-MT-ERR",FILE))
IF FILE=""
QUIT
Begin DoDot:2
+38 SET TEXT=FILE
+39 SET IENX=""
+40 FOR
SET IENX=$ORDER(^XTMP("DG-MT-ERR",FILE,IENX))
IF IENX=""
QUIT
Begin DoDot:3
+41 SET FLD=""
+42 FOR
SET FLD=$ORDER(^XTMP("DG-MT-ERR",FILE,IENX,FLD))
IF FLD=""
QUIT
Begin DoDot:4
+43 SET DATA=^XTMP("DG-MT-ERR",FILE,IENX,FLD)
+44 SET TEXT=$$BLDSTR(IENX,TEXT,12,$LENGTH(IENX))
+45 SET TEXT=$$BLDSTR(FLD,TEXT,22,$LENGTH(FLD))
+46 SET TEXT=$$BLDSTR(DATA,TEXT,32,$LENGTH(DATA))
+47 SET NODE=NODE+1
+48 SET ^TMP("DG53289",$JOB,NODE)=TEXT
End DoDot:4
End DoDot:3
End DoDot:2
End DoDot:1
+49 ;
MAIL1 DO ^XMD
+1 KILL ^TMP("DG53289",$JOB)
+2 QUIT
+3 ;
BLDSTR(NSTR,STR,COL,NSL) ; build a string
+1 ; Input:
+2 ; NSTR = a string to be added to STR
+3 ; STR = an existing string to which NSTR will be added
+4 ; COL = column location at which NSTR will be added to STR
+5 ; NSL = length of new string
+6 ; Output:
+7 ; returns STR with NSTR appended at the specified COL
+8 ;
+9 QUIT $EXTRACT(STR_$JUSTIFY("",COL-1),1,COL-1)_$EXTRACT(NSTR_$JUSTIFY("",NSL),1,NSL)_$EXTRACT(STR,COL+NSL,999)