| 1 | SD53A204 ;ALB/JAM;Part of post-install routine for patch 204;12/1/99@1105
 | 
|---|
| 2 |  ;;5.3;Scheduling;**204**;DEC 01, 1999
 | 
|---|
| 3 |  ;This post-install will check file 404.52 for invalid .03 field entries
 | 
|---|
| 4 |  ;and save to a mail message.
 | 
|---|
| 5 |  ;
 | 
|---|
| 6 | POST ;Post-init
 | 
|---|
| 7 |  N XSCSTOP
 | 
|---|
| 8 |  S XSCSTOP=""
 | 
|---|
| 9 |  D PROGCHK(.XSCSTOP)
 | 
|---|
| 10 |  I XSCSTOP Q
 | 
|---|
| 11 |  D MES^XPDUTL(" ")
 | 
|---|
| 12 |  D MES^XPDUTL("This installation will generate an e-mail message with")
 | 
|---|
| 13 |  D MES^XPDUTL("a list of invalid PRACTITIONER pointers (field #.03)")
 | 
|---|
| 14 |  D MES^XPDUTL("from file POSITION ASSIGMENT HISTORY FILE (#404.52)")
 | 
|---|
| 15 |  D MES^XPDUTL($$Q(DUZ))
 | 
|---|
| 16 |  Q
 | 
|---|
| 17 |         ;
 | 
|---|
| 18 | PR40452 ;Process file 404.52 for invalid entries in field .03 and 
 | 
|---|
| 19 |  ;create message text for mail message
 | 
|---|
| 20 |  ;
 | 
|---|
| 21 |  N XMY,XMDUZ,XMSUB,XMTEXT,FND
 | 
|---|
| 22 |  K ^TMP("PCMM PRACTITIONER",$J),^TMP("SCMSG",$J)
 | 
|---|
| 23 |  ;get list of invalid .03 field entries from file 404.52
 | 
|---|
| 24 |  S FND=$$LST^SCMCCV5()
 | 
|---|
| 25 |  D MAIL
 | 
|---|
| 26 |  S XMDUZ=.5,XMY(XMDUZ)=""
 | 
|---|
| 27 |  I $G(SCDUZ) S XMY(SCDUZ)=""
 | 
|---|
| 28 |  S XMSUB="PCMM PRACTITIONER INCONSISTENCY REPORT"
 | 
|---|
| 29 |  S XMTEXT="^TMP(""SCMSG"",$J,"
 | 
|---|
| 30 |  D ^XMD
 | 
|---|
| 31 |  K ^TMP("PCMM PRACTITIONER",$J),^TMP("SCMSG",$J)
 | 
|---|
| 32 |  Q
 | 
|---|
| 33 |  ;
 | 
|---|
| 34 | MAIL ; Queue report as a MailMan Message.
 | 
|---|
| 35 |  N NUM,TXT,I,SCDAT,SCDT,SCTP,SCSTA,SCPRAC,CNT,BL,X,Y
 | 
|---|
| 36 |  S NUM=0,$P(BL," ",20)="",CNT=1
 | 
|---|
| 37 |  D SET("This message was automatically generated by PCMM patch SD*5.3*204")
 | 
|---|
| 38 |  D SET(" ")
 | 
|---|
| 39 |  D SET("      INVALID PRACTITIONER POINTERS IN FILE 404.52 REPORT")
 | 
|---|
| 40 |  D SET(" ")
 | 
|---|
| 41 |  D SET(" ")
 | 
|---|
| 42 |  I 'FND D SET("No inconsistencies found.") Q
 | 
|---|
| 43 |  D SET("                              EFFECTIVE")
 | 
|---|
| 44 |  D SET("IEN #   TEAM POSITION           DATE          PRACT.     STATUS")
 | 
|---|
| 45 |  D SET("---------------------------------------------------------------")
 | 
|---|
| 46 |  F I=1:1 S NUM=$O(^TMP("PCMM PRACTITIONER",$J,NUM)) Q:'NUM  D
 | 
|---|
| 47 |  . S SCDAT=$G(^SCTM(404.52,NUM,0)),Y=$P(SCDAT,U,2) X ^DD("DD") S SCDT=Y
 | 
|---|
| 48 |  . S X=$P(SCDAT,U),SCTP=$P($G(^SCTM(404.57,X,0)),U)
 | 
|---|
| 49 |  . S SCSTA=$S($P(SCDAT,U,4):"Active",1:"Inactive"),SCPRAC=$P(SCDAT,U,3)
 | 
|---|
| 50 |  . S TXT=$E(NUM_BL,1,7)_$E(SCTP_BL,1,21)_" "_$E(SCDT_BL,1,15)
 | 
|---|
| 51 |  . S TXT=TXT_"  "_$E(SCPRAC_BL,1,9)_SCSTA
 | 
|---|
| 52 |  . D SET(TXT)
 | 
|---|
| 53 |  D SET(" ")
 | 
|---|
| 54 |  D SET("Total entries found = "_(I-1))
 | 
|---|
| 55 |  Q
 | 
|---|
| 56 |  ;
 | 
|---|
| 57 | SET(TXT) ;Build message array
 | 
|---|
| 58 |  S ^TMP("SCMSG",$J,CNT)=TXT
 | 
|---|
| 59 |  S CNT=CNT+1
 | 
|---|
| 60 |  Q
 | 
|---|
| 61 |  ;
 | 
|---|
| 62 | PROGCHK(XSCSTOP) ;checks for necessary programmer variables
 | 
|---|
| 63 |  ;
 | 
|---|
| 64 |  I '$G(DUZ)!($G(DUZ(0))'="@")!('$G(DT))!($G(U)'="^") D
 | 
|---|
| 65 |  . D BMES^XPDUTL("*****")
 | 
|---|
| 66 |  . D MES^XPDUTL("Your programming variables are not set up properly.")
 | 
|---|
| 67 |  . D MES^XPDUTL("Installation aborted.")
 | 
|---|
| 68 |  . D MES^XPDUTL("*****")
 | 
|---|
| 69 |  . S XSCSTOP=1
 | 
|---|
| 70 |  Q
 | 
|---|
| 71 |  ;
 | 
|---|
| 72 | Q(SCDUZ) ; run job in background
 | 
|---|
| 73 |  ; input  = user duz 
 | 
|---|
| 74 |  ; output = task #, report via mailman
 | 
|---|
| 75 |  N ZTRTN,ZTDESC,ZTDTH,ZTIO,ZTSAVE
 | 
|---|
| 76 |  S ZTRTN="PR40452^SD53A204"
 | 
|---|
| 77 |  S ZTDESC="PCMM PRACTITIONER INCONSISTENCY REPORT"
 | 
|---|
| 78 |  S ZTDTH=$H
 | 
|---|
| 79 |  S ZTIO=""
 | 
|---|
| 80 |  S ZTSAVE("SCDUZ")=""
 | 
|---|
| 81 |  D ^%ZTLOAD
 | 
|---|
| 82 |  Q $S(+ZTSK:": Queued - Task# "_ZTSK,1:": Not Queued!")
 | 
|---|
| 83 |  ;
 | 
|---|