SPNLXMD ;ISCSF/RAH - LOAD Records INTO Mail AND Send ;1/12/96 10:27 V ;;2.0;Spinal Cord Dysfunction;**2**;01/02/1997 ; EN1(SPNLTEXT,SPNLSUB,SPNLXMY,SPNLERR) ; Entry point. D INIT S SPNLERR=0,SPNLLN=0,SPNLV=0,SPNLSSN="",SPNLNX=0,SPNLTX=0,SPNLLMT=0,SPNLEX="" D EDITCK I SPNLERR D CLR Q D REFORM I SPNLERR D CLR Q D LOADIT D CLR Q EDITCK ; Verify proper data set up when called. I '$D(SPNLTEXT) S SPNLERR="1^SPNLTEXT NOT DEFINED" W:'$D(ZTQUEUED) !!,"GLOBAL LOCATION REQUIRED!!!" Q I '$D(SPNLSUB) S SPNLERR="2^SPNLSUB NOT DEFINED" W:'$D(ZTQUEUED) !!,"MESSAGE SUBJECT REQUIRED!!!" Q I '$D(SPNLXMY) S SPNLERR="3^SPNLXMY NOT DEFINED" W:'$D(ZTQUEUED) !!,"MESSAGE DESTINATION REQUIRED!!!" Q S:'$D(DUZ) SPNLDUZ=".5" Q REFORM ; S SPNLX=1 F S SPNLSSN=$O(^TMP("SPNX",SPNLJ,SPNLSDT,SPNLFAC,SPNLSSN)) Q:SPNLSSN="" D .S SPNLEX=.9 I $D(^TMP("SPNX",SPNLJ,SPNLSDT,SPNLFAC,SPNLSSN))#10 S SPNLTXT="^TMP(""SPNX"",SPNLJ,SPNLSDT,SPNLFAC,SPNLSSN)" D GLB2MAIL .F S SPNLEX=$O(^TMP("SPNX",SPNLJ,SPNLSDT,SPNLFAC,SPNLSSN,SPNLEX)) Q:SPNLEX="" D ..S SPNLNX=0 ..F S SPNLNX=$O(^TMP("SPNX",SPNLJ,SPNLSDT,SPNLFAC,SPNLSSN,SPNLEX,SPNLNX)) Q:SPNLNX'>0 D ...S SPNLTXT="^TMP(""SPNX"",SPNLJ,SPNLSDT,SPNLFAC,SPNLSSN,SPNLEX,SPNLNX)" D GLB2MAIL S SPNLTEXT(2)=SPNLTEXT_"""MAIL"""_",SPNLNX)",SPNLTEXT(1)=SPNLTEXT_"""XMD"""_",SPNLLN)" I '$D(@(SPNLTEXT_"""MAIL"",1)")) S SPNLERR="4^NO RECORD CHANGES TO TRANSMIT" Q Q GLB2MAIL ; S SPNLMN=@(SPNLTXT),SPNLMM=SPNLFAC_";"_SPNLSSN_";"_SPNLEX_";"_SPNLNX_"$"_SPNLMN S ^TMP("SPNX",SPNLJ,"MAIL",SPNLX)="D$ "_SPNLMM,SPNLX=SPNLX+1 Q LOADIT ; S SPNLLN=2,MAXRECS=SPNXRECS+2 F S SPNLNX=$O(@(SPNLTEXT(2))) Q:SPNLNX="" D Q:SPNLERR . S SPNLLN=SPNLLN+1 . I SPNLLN>MAXRECS D SENDMSG S SPNLLN=3 . S @SPNLTEXT(1)=@SPNLTEXT(2) D SENDMSG K MAXRECS Q SENDMSG ; S SPNLLN=2 S @SPNLTEXT(1)="F$ "_^TMP("SPNX",SPNLJ,SPNLSDT,SPNLFAC) S SPNLLN=1 S @SPNLTEXT(1)="H$ "_SPNLHDR S SPNLV=SPNLV+1,XMSUB=SPNLSUB,XMDUZ=SPNLDUZ ;S XMY(DUZ)="" S XMY(SPNLXMY)="" S XMTEXT=SPNLTEXT_"""XMD""," D ^XMD I '$D(XMZ) S SPNLERR="5^TRANSMIT ERROR" W:'$D(ZTQUEUED) !,"TRANSMISSION ERR" G XIT1 S SPNLXMZ=XMZ K @(SPNLTEXT_"""XMD"")") XIT1 ; Q CLR ; K SPNLEX,SPNLII,SPNLJ,SPNLLMT,SPNLMM,SPNLMN,SPNLSSN,SPNLTX,SPNLTXT K SPNLTY,SPNLX,SPNLXMZ,SPNLDUZ,SPNLLN,SPNLNX,SPNLV K XMDUZ,XMSUB,XMTEXT,XMY,XMZ Q INIT ; K XMSUB,XMTEXT,XMY,XMZ S SPNLJ=$J I DUZ'="" S SPNLDUZ=DUZ E S SPNLDUZ=.5 Q