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

XTERSUM3.m

Go to the documentation of this file.
  1. XTERSUM3 ;ISF/RWF - Transport and save Error summaries ;03/10/11
  1. ;;8.0;KERNEL;**431**;Jul 10, 1995;Build 38
  1. ;Per VHA Directive 2004-038, this routine should not be modified.
  1. Q
  1. ;
  1. SEND ;Send summary to consolidation site.
  1. N XMZ,XMY,XMTEXT,XTI,XT1,XT2,XT3,XTFG,FDA,XTNOW
  1. Q:'$P(^XTV(8989.3,1,"ZTER"),U,2) ;Check if we should send
  1. S XT1=0,XTNOW=$$NOW^XLFDT
  1. L +^%ZTER(3.077,0):15 E Q ;Quit if don't get lock
  1. F S XT1=$O(^%ZTER(3.077,XT1)) Q:'XT1 D
  1. . S XT2=$G(^(XT1,0)) I $P(XT2,"^",1)="" D REMOVE(XT1) Q
  1. . I $P(XT2,U,7)<$P(XT2,U,3) D SND1(XT1) ;Send if UPLOAD < MOST RECENT
  1. L -^%ZTER(3.077,0)
  1. Q
  1. ;
  1. SND1(XT1) ;Send one entry
  1. N XTX,IEN K ^TMP($J),FDA
  1. D ADD("$DATA"),ADD("~~ERROR TRAP SUMMARY^3.077"),ADD("$FILE:3.077")
  1. S IEN=XT1_","
  1. D GETS^DIQ(3.077,IEN,".01;1;2;3;6;20;7","IN","XTX") ;Fields to get
  1. S XTI=0
  1. F S XTI=$O(XTX(3.077,IEN,XTI)) Q:'XTI D ADD("~"_XTI_":"_XTX(3.077,IEN,XTI,"I"))
  1. S XT2=0
  1. F S XT2=$O(^%ZTER(3.077,XT1,1,XT2)) Q:'XT2 D
  1. . I $P(^%ZTER(3.077,XT1,1,XT2,0),U,5) Q
  1. . K XTX S IEN=XT2_","_XT1_","
  1. . D GETS^DIQ(3.07701,IEN,".01;1;2;3;13;6","IN","XTX")
  1. . S FDA(3.07701,IEN,19)=1 ;Mark as sent.
  1. . S XTI=0 D ADD("$SUB:3.07701")
  1. . F S XTI=$O(XTX(3.07701,IEN,XTI)) Q:'XTI D ADD("~"_XTI_":"_XTX(3.07701,IEN,XTI,"I"))
  1. . D ADD("$END")
  1. . Q
  1. D ADD("$SAVE")
  1. S FDA(3.077,XT1_",",8)=XTNOW D FILE^DIE("K","FDA") ;Mark as sent.
  1. Q:'$O(^TMP($J,0))
  1. N XMDUZ,XMSUB,XMTEXT,XMY,XMSTRIP,XMMG,XMZ
  1. S XMTEXT="^TMP($J,",XMSUB="ERROR SUMMARY - "_XTNOW
  1. S XMY("G.XTER SUMMARY LOAD")=""
  1. D ^XMD
  1. Q
  1. ;
  1. ADD(TXT) ;
  1. S C=$G(^TMP($J)),C=C+1,^TMP($J)=C,^TMP($J,C,0)=TXT
  1. Q
  1. ;
  1. ;This is the server code.
  1. LOAD ;Load Summary
  1. N XT1,XT2,XT3,FDA,XTF,XTE,XI1,XI2,XTS,XTER,DONE
  1. S XMER=0,XT1=0,DONE=0,XI1=1,XI2=1,XTS=0
  1. X XMREC I XMRG'="$DATA" D FORWARD(XMZ) Q ;Not correct start.
  1. X XMREC I $E(XMRG,1,4)'="~~ER" D FORWARD(XMZ) Q
  1. F X XMREC Q:XMER D Q:DONE ;XMRG has line from msg
  1. . I $E(XMRG,1,5)="$FILE" S XTF=+$P(XMRG,":",2),XTS=0 Q
  1. . I $E(XMRG,1,4)="$SUB" S XTF=+$P(XMRG,":",2),XTS=1,XI2=XI2+1 Q
  1. . I $E(XMRG,1)="~",$L($P(XMRG,":",2)) S FDA(XTF,$$IEN(XI1,XI2,XTS),+$P(XMRG,"~",2))=$P(XMRG,":",2,99) Q
  1. . I $E(XMRG,1,5)="$SAVE" S DONE=1 Q
  1. . I $E(XMRG,1,4)="$END" S XTS=0 Q
  1. . Q
  1. S XT1=$G(FDA(3.077,$$IEN(1,,0),.01)),XT2=0 S:$L(XT1) XT2=$O(^%ZTER(3.077,"B",XT1,0)) ;See if error allready record.
  1. I XT2 K FDA(3.077,$$IEN(1,,0),1) ;Remove First seen so don't over write
  1. I $D(FDA)>2 D UPDATE^DIE("","FDA","XTE","XTER") I $D(XTER) D FORWARD(XMZ)
  1. Q
  1. ;
  1. IEN(V1,V2,V3) ;Build an ien
  1. Q $S('V3:"?+"_V1_",",1:"?+"_V2_",?+"_V1_",")
  1. ;
  1. FORWARD(XMZ) ;Forward to group to look at error
  1. N XMY,XMDUZ
  1. S XMY("G.XTER SUMMARY ERROR")=""
  1. D ENT1^XMD
  1. Q
  1. ;
  1. REMOVE(XTA) ;Remove a dangling count record
  1. N XTB
  1. K ^%ZTER(3.077,XTA)
  1. S XTB=""
  1. F S XTB=$O(^%ZTER(3.077,"B",XTB)) Q:XTB="" I $D(^%ZTER(3.077,"B",XTB,XTA)) K ^%ZTER(3.077,"B",XTB)
  1. Q
  1. ;
  1. TESTL ;
  1. N XMCNT,XMER,XMREC,XMRG
  1. R !,"Msg#: ",XMZ:DTIME Q:'XMZ
  1. S XMCNT=.9,XMER=0
  1. S XMREC="S XMCNT=$O(^XMB(3.9,XMZ,2,XMCNT)) S:'XMCNT XMER=1 Q:XMER S XMRG=^(XMCNT,0)"
  1. D LOAD
  1. Q