84 lines
2.7 KiB
Mathematica
84 lines
2.7 KiB
Mathematica
SD53A204 ;ALB/JAM;Part of post-install routine for patch 204;12/1/99@1105
|
|
;;5.3;Scheduling;**204**;DEC 01, 1999
|
|
;This post-install will check file 404.52 for invalid .03 field entries
|
|
;and save to a mail message.
|
|
;
|
|
POST ;Post-init
|
|
N XSCSTOP
|
|
S XSCSTOP=""
|
|
D PROGCHK(.XSCSTOP)
|
|
I XSCSTOP Q
|
|
D MES^XPDUTL(" ")
|
|
D MES^XPDUTL("This installation will generate an e-mail message with")
|
|
D MES^XPDUTL("a list of invalid PRACTITIONER pointers (field #.03)")
|
|
D MES^XPDUTL("from file POSITION ASSIGMENT HISTORY FILE (#404.52)")
|
|
D MES^XPDUTL($$Q(DUZ))
|
|
Q
|
|
;
|
|
PR40452 ;Process file 404.52 for invalid entries in field .03 and
|
|
;create message text for mail message
|
|
;
|
|
N XMY,XMDUZ,XMSUB,XMTEXT,FND
|
|
K ^TMP("PCMM PRACTITIONER",$J),^TMP("SCMSG",$J)
|
|
;get list of invalid .03 field entries from file 404.52
|
|
S FND=$$LST^SCMCCV5()
|
|
D MAIL
|
|
S XMDUZ=.5,XMY(XMDUZ)=""
|
|
I $G(SCDUZ) S XMY(SCDUZ)=""
|
|
S XMSUB="PCMM PRACTITIONER INCONSISTENCY REPORT"
|
|
S XMTEXT="^TMP(""SCMSG"",$J,"
|
|
D ^XMD
|
|
K ^TMP("PCMM PRACTITIONER",$J),^TMP("SCMSG",$J)
|
|
Q
|
|
;
|
|
MAIL ; Queue report as a MailMan Message.
|
|
N NUM,TXT,I,SCDAT,SCDT,SCTP,SCSTA,SCPRAC,CNT,BL,X,Y
|
|
S NUM=0,$P(BL," ",20)="",CNT=1
|
|
D SET("This message was automatically generated by PCMM patch SD*5.3*204")
|
|
D SET(" ")
|
|
D SET(" INVALID PRACTITIONER POINTERS IN FILE 404.52 REPORT")
|
|
D SET(" ")
|
|
D SET(" ")
|
|
I 'FND D SET("No inconsistencies found.") Q
|
|
D SET(" EFFECTIVE")
|
|
D SET("IEN # TEAM POSITION DATE PRACT. STATUS")
|
|
D SET("---------------------------------------------------------------")
|
|
F I=1:1 S NUM=$O(^TMP("PCMM PRACTITIONER",$J,NUM)) Q:'NUM D
|
|
. S SCDAT=$G(^SCTM(404.52,NUM,0)),Y=$P(SCDAT,U,2) X ^DD("DD") S SCDT=Y
|
|
. S X=$P(SCDAT,U),SCTP=$P($G(^SCTM(404.57,X,0)),U)
|
|
. S SCSTA=$S($P(SCDAT,U,4):"Active",1:"Inactive"),SCPRAC=$P(SCDAT,U,3)
|
|
. S TXT=$E(NUM_BL,1,7)_$E(SCTP_BL,1,21)_" "_$E(SCDT_BL,1,15)
|
|
. S TXT=TXT_" "_$E(SCPRAC_BL,1,9)_SCSTA
|
|
. D SET(TXT)
|
|
D SET(" ")
|
|
D SET("Total entries found = "_(I-1))
|
|
Q
|
|
;
|
|
SET(TXT) ;Build message array
|
|
S ^TMP("SCMSG",$J,CNT)=TXT
|
|
S CNT=CNT+1
|
|
Q
|
|
;
|
|
PROGCHK(XSCSTOP) ;checks for necessary programmer variables
|
|
;
|
|
I '$G(DUZ)!($G(DUZ(0))'="@")!('$G(DT))!($G(U)'="^") D
|
|
. D BMES^XPDUTL("*****")
|
|
. D MES^XPDUTL("Your programming variables are not set up properly.")
|
|
. D MES^XPDUTL("Installation aborted.")
|
|
. D MES^XPDUTL("*****")
|
|
. S XSCSTOP=1
|
|
Q
|
|
;
|
|
Q(SCDUZ) ; run job in background
|
|
; input = user duz
|
|
; output = task #, report via mailman
|
|
N ZTRTN,ZTDESC,ZTDTH,ZTIO,ZTSAVE
|
|
S ZTRTN="PR40452^SD53A204"
|
|
S ZTDESC="PCMM PRACTITIONER INCONSISTENCY REPORT"
|
|
S ZTDTH=$H
|
|
S ZTIO=""
|
|
S ZTSAVE("SCDUZ")=""
|
|
D ^%ZTLOAD
|
|
Q $S(+ZTSK:": Queued - Task# "_ZTSK,1:": Not Queued!")
|
|
;
|