| 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 | ; | 
|---|