Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: GMPLP37I

GMPLP37I.m

Go to the documentation of this file.
  1. GMPLP37I ; SLC/MKB/KER -- Save Problem List data ; 10/01/2008
  1. ;;2.0;Problem List;**37**;Aug 25, 1994;Build 1
  1. ;
  1. ; External References
  1. ;
  1. FIND(ACTION) ;
  1. N ARRAY,CNT,DAT,IEN,PL,PRI,PT,STAT
  1. S CNT=0
  1. S PT=0 F S PT=$O(^PXRMINDX(9000011,"PSPI",PT)) Q:PT'>0 D
  1. .S STAT=""
  1. .F S STAT=$O(^PXRMINDX(9000011,"PSPI",PT,STAT)) Q:STAT="" D
  1. ..I '$D(^PXRMINDX(9000011,"PSPI",PT,STAT,0)) Q
  1. ..S PL=0
  1. ..F S PL=$O(^PXRMINDX(9000011,"PSPI",PT,STAT,0,PL)) Q:PL'>0 D
  1. ...S DAT=0
  1. ...F S DAT=$O(^PXRMINDX(9000011,"PSPI",PT,STAT,0,PL,DAT)) Q:DAT'>0 D
  1. ....S IEN=0
  1. ....F S IEN=$O(^PXRMINDX(9000011,"PSPI",PT,STAT,0,PL,DAT,IEN)) Q:IEN'>0 D
  1. .....S CNT=CNT+1
  1. .....I ACTION=1 S ARRAY(CNT)=IEN
  1. I ACTION=1 D UPD(.ARRAY)
  1. Q CNT
  1. ;
  1. POST ;
  1. N ZTDESC,ZTDTH,ZTRTN,ZTSAVE,ZTIO,TEXT,ZTSK
  1. S ZTDESC="Correction to the Priority field in the PROBLEM file"
  1. S TEXT=ZTDESC_" has been queued, task number "
  1. S ZTRTN="QUEUED^GMPLP37I"
  1. S ZTIO=""
  1. S ZTDTH=$$NOW^XLFDT
  1. S ZTREQ="@"
  1. D ^%ZTLOAD
  1. I $D(ZTSK) S TEXT=TEXT_ZTSK D MES^XPDUTL(.TEXT)
  1. Q
  1. QUEUED ;
  1. N ARRAY,AFTER,BEFORE,CHANGE,CNT
  1. S CNT=0
  1. S BEFORE=$$FIND(0)
  1. I BEFORE=0 D G SEND
  1. .S CNT=CNT+1,ARRAY(CNT,0)="No invalid entries found in the PROBLEM file."
  1. S CNT=CNT+1,ARRAY(CNT,0)="Initial count of invalid entries in the PROBLEM file."
  1. S CNT=CNT+1,ARRAY(CNT,0)=" "_BEFORE_" Invalid entries in the PROBLEM file."
  1. S CNT=CNT+1,ARRAY(CNT,0)=" "
  1. S CHANGE=$$FIND(1)
  1. S CNT=CNT+1,ARRAY(CNT,0)="Number of entries that were change."
  1. S CNT=CNT+1,ARRAY(CNT,0)=" "_CHANGE_" entries in the PROBLEM file corrected."
  1. S CNT=CNT+1,ARRAY(CNT,0)=" "
  1. S AFTER=$$FIND(0)
  1. S CNT=CNT+1,ARRAY(CNT,0)="Count of entries that are still invalid."
  1. S CNT=CNT+1,ARRAY(CNT,0)=" "_AFTER_" Invalid entries in the PROBLEM file."
  1. ;
  1. SEND ;mailman
  1. N NL,XMDUZ,XMY,XMZ
  1. S XMSUB="Correction of invalid entries in the PROBLEM file"
  1. S XMDUZ=0.5
  1. ;
  1. RETRY ;Get the message number.
  1. D XMZ^XMA2
  1. I XMZ<1 G RETRY
  1. ;
  1. ;Load the message
  1. M ^XMB(3.9,XMZ,2)=ARRAY
  1. S NL=$O(^XMB(3.9,XMZ,2,""),-1)
  1. S ^XMB(3.9,XMZ,2,0)="^3.92^"_+NL_U_+NL_U_DT
  1. ;
  1. ;Send message to USER
  1. S XMY(DUZ)="" D ENT1^XMD Q
  1. Q
  1. ;
  1. UPD(ARRAY) ;
  1. N CNT,DA,DIE,DR
  1. S DIE="^AUPNPROB(",DR="1.14///@"
  1. S CNT=0 F S CNT=$O(ARRAY(CNT)) Q:CNT'>0 D
  1. .S DA=ARRAY(CNT)
  1. .D ^DIE
  1. Q