[613] | 1 | SPNLXMD ;ISCSF/RAH - LOAD Records INTO Mail AND Send ;1/12/96 10:27
|
---|
| 2 | V ;;2.0;Spinal Cord Dysfunction;**2**;01/02/1997
|
---|
| 3 | ;
|
---|
| 4 | EN1(SPNLTEXT,SPNLSUB,SPNLXMY,SPNLERR) ; Entry point.
|
---|
| 5 | D INIT
|
---|
| 6 | S SPNLERR=0,SPNLLN=0,SPNLV=0,SPNLSSN="",SPNLNX=0,SPNLTX=0,SPNLLMT=0,SPNLEX=""
|
---|
| 7 | D EDITCK I SPNLERR D CLR Q
|
---|
| 8 | D REFORM I SPNLERR D CLR Q
|
---|
| 9 | D LOADIT
|
---|
| 10 | D CLR
|
---|
| 11 | Q
|
---|
| 12 | EDITCK ; Verify proper data set up when called.
|
---|
| 13 | I '$D(SPNLTEXT) S SPNLERR="1^SPNLTEXT NOT DEFINED" W:'$D(ZTQUEUED) !!,"GLOBAL LOCATION REQUIRED!!!" Q
|
---|
| 14 | I '$D(SPNLSUB) S SPNLERR="2^SPNLSUB NOT DEFINED" W:'$D(ZTQUEUED) !!,"MESSAGE SUBJECT REQUIRED!!!" Q
|
---|
| 15 | I '$D(SPNLXMY) S SPNLERR="3^SPNLXMY NOT DEFINED" W:'$D(ZTQUEUED) !!,"MESSAGE DESTINATION REQUIRED!!!" Q
|
---|
| 16 | S:'$D(DUZ) SPNLDUZ=".5"
|
---|
| 17 | Q
|
---|
| 18 | REFORM ;
|
---|
| 19 | S SPNLX=1
|
---|
| 20 | F S SPNLSSN=$O(^TMP("SPNX",SPNLJ,SPNLSDT,SPNLFAC,SPNLSSN)) Q:SPNLSSN="" D
|
---|
| 21 | .S SPNLEX=.9 I $D(^TMP("SPNX",SPNLJ,SPNLSDT,SPNLFAC,SPNLSSN))#10 S SPNLTXT="^TMP(""SPNX"",SPNLJ,SPNLSDT,SPNLFAC,SPNLSSN)" D GLB2MAIL
|
---|
| 22 | .F S SPNLEX=$O(^TMP("SPNX",SPNLJ,SPNLSDT,SPNLFAC,SPNLSSN,SPNLEX)) Q:SPNLEX="" D
|
---|
| 23 | ..S SPNLNX=0
|
---|
| 24 | ..F S SPNLNX=$O(^TMP("SPNX",SPNLJ,SPNLSDT,SPNLFAC,SPNLSSN,SPNLEX,SPNLNX)) Q:SPNLNX'>0 D
|
---|
| 25 | ...S SPNLTXT="^TMP(""SPNX"",SPNLJ,SPNLSDT,SPNLFAC,SPNLSSN,SPNLEX,SPNLNX)" D GLB2MAIL
|
---|
| 26 | S SPNLTEXT(2)=SPNLTEXT_"""MAIL"""_",SPNLNX)",SPNLTEXT(1)=SPNLTEXT_"""XMD"""_",SPNLLN)"
|
---|
| 27 | I '$D(@(SPNLTEXT_"""MAIL"",1)")) S SPNLERR="4^NO RECORD CHANGES TO TRANSMIT" Q
|
---|
| 28 | Q
|
---|
| 29 | GLB2MAIL ;
|
---|
| 30 | S SPNLMN=@(SPNLTXT),SPNLMM=SPNLFAC_";"_SPNLSSN_";"_SPNLEX_";"_SPNLNX_"$"_SPNLMN
|
---|
| 31 | S ^TMP("SPNX",SPNLJ,"MAIL",SPNLX)="D$ "_SPNLMM,SPNLX=SPNLX+1
|
---|
| 32 | Q
|
---|
| 33 | LOADIT ;
|
---|
| 34 | S SPNLLN=2,MAXRECS=SPNXRECS+2
|
---|
| 35 | F S SPNLNX=$O(@(SPNLTEXT(2))) Q:SPNLNX="" D Q:SPNLERR
|
---|
| 36 | . S SPNLLN=SPNLLN+1
|
---|
| 37 | . I SPNLLN>MAXRECS D SENDMSG S SPNLLN=3
|
---|
| 38 | . S @SPNLTEXT(1)=@SPNLTEXT(2)
|
---|
| 39 | D SENDMSG
|
---|
| 40 | K MAXRECS
|
---|
| 41 | Q
|
---|
| 42 | SENDMSG ;
|
---|
| 43 | S SPNLLN=2 S @SPNLTEXT(1)="F$ "_^TMP("SPNX",SPNLJ,SPNLSDT,SPNLFAC)
|
---|
| 44 | S SPNLLN=1 S @SPNLTEXT(1)="H$ "_SPNLHDR
|
---|
| 45 | S SPNLV=SPNLV+1,XMSUB=SPNLSUB,XMDUZ=SPNLDUZ
|
---|
| 46 | ;S XMY(DUZ)=""
|
---|
| 47 | S XMY(SPNLXMY)=""
|
---|
| 48 | S XMTEXT=SPNLTEXT_"""XMD""," D ^XMD I '$D(XMZ) S SPNLERR="5^TRANSMIT ERROR" W:'$D(ZTQUEUED) !,"TRANSMISSION ERR" G XIT1
|
---|
| 49 | S SPNLXMZ=XMZ
|
---|
| 50 | K @(SPNLTEXT_"""XMD"")")
|
---|
| 51 | XIT1 ;
|
---|
| 52 | Q
|
---|
| 53 | CLR ;
|
---|
| 54 | K SPNLEX,SPNLII,SPNLJ,SPNLLMT,SPNLMM,SPNLMN,SPNLSSN,SPNLTX,SPNLTXT
|
---|
| 55 | K SPNLTY,SPNLX,SPNLXMZ,SPNLDUZ,SPNLLN,SPNLNX,SPNLV
|
---|
| 56 | K XMDUZ,XMSUB,XMTEXT,XMY,XMZ
|
---|
| 57 | Q
|
---|
| 58 | INIT ;
|
---|
| 59 | K XMSUB,XMTEXT,XMY,XMZ
|
---|
| 60 | S SPNLJ=$J
|
---|
| 61 | I DUZ'="" S SPNLDUZ=DUZ
|
---|
| 62 | E S SPNLDUZ=.5
|
---|
| 63 | Q
|
---|