| 1 | XMA2 ;ISC-SF/GMB-Create Message Stub API ;04/19/2002  12:35
 | 
|---|
| 2 |  ;;8.0;MailMan;;Jun 28, 2002
 | 
|---|
| 3 |  ; Was (WASH ISC)/CAP/THM
 | 
|---|
| 4 |  ;
 | 
|---|
| 5 |  ; Entry points (DBIA 10066):
 | 
|---|
| 6 |  ; GET  get a message number
 | 
|---|
| 7 |  ; XMZ  get a message number
 | 
|---|
| 8 | XMZ ; Create stub/return error
 | 
|---|
| 9 |  ; In:
 | 
|---|
| 10 |  ; XMDUZ  User's DUZ or free text
 | 
|---|
| 11 |  ; XMSUB  Message subject
 | 
|---|
| 12 |  ; Out:
 | 
|---|
| 13 |  ; XMZ    Message number (-1 if error)
 | 
|---|
| 14 |  D MAKESTUB($G(XMDUZ),XMSUB,.XMZ,1)
 | 
|---|
| 15 |  Q
 | 
|---|
| 16 | GET ; Create stub
 | 
|---|
| 17 |  ; In:
 | 
|---|
| 18 |  ; XMDUZ  User's DUZ or free text
 | 
|---|
| 19 |  ; XMSUB  Message subject
 | 
|---|
| 20 |  ; Out:
 | 
|---|
| 21 |  ; XMZ    Message number (HALT if error)
 | 
|---|
| 22 |  D MAKESTUB($G(XMDUZ),XMSUB,.XMZ)
 | 
|---|
| 23 |  Q
 | 
|---|
| 24 | MAKESTUB(XMDUZ,XMSUBJ,XMZ,XMRETURN) ;
 | 
|---|
| 25 |  N XMZREC,XMSENDR
 | 
|---|
| 26 |  I '$G(DUZ) N DUZ D DUZ^XUP(.5)
 | 
|---|
| 27 |  I XMDUZ=0!(XMDUZ="") S XMDUZ=DUZ
 | 
|---|
| 28 |  I $L(XMSUBJ)>65 S XMSUBJ=$E(XMSUBJ,1,65)
 | 
|---|
| 29 |  I $L(XMSUBJ)<3 S XMSUBJ=XMSUBJ_"..."
 | 
|---|
| 30 |  D VSUBJ^XMXPARM(.XMSUBJ)
 | 
|---|
| 31 |  I $D(XMERR) D  Q
 | 
|---|
| 32 |  . S XMZ=-1
 | 
|---|
| 33 |  . D:'$D(ZTQUEUED) SHOW^XMJERR
 | 
|---|
| 34 |  . I '$G(XMRETURN) G ABORT
 | 
|---|
| 35 |  D CRE8XMZ^XMXSEND(XMSUBJ,.XMZ,1)
 | 
|---|
| 36 |  I XMZ<1 D  Q
 | 
|---|
| 37 |  . I '$G(XMRETURN) G ABORT
 | 
|---|
| 38 |  . K XMERR,^TMP("XMERR",$J)
 | 
|---|
| 39 |  S XMZREC=^XMB(3.9,XMZ,0)
 | 
|---|
| 40 |  I XMDUZ=.6 S XMDUZ=DUZ,XMSENDR=.6
 | 
|---|
| 41 |  E  S XMSENDR=DUZ
 | 
|---|
| 42 |  I XMDUZ=.5,XMSENDR'=.5 S $P(XMZREC,U,12)="y" ;Info Only / sent by Postmaster
 | 
|---|
| 43 |  S $P(XMZREC,U,2,4)=XMDUZ_U_$$NOW^XLFDT()_U_$S(XMDUZ'=XMSENDR&+XMDUZ:XMSENDR,1:"")
 | 
|---|
| 44 |  S ^XMB(3.9,XMZ,0)=XMZREC
 | 
|---|
| 45 |  Q
 | 
|---|
| 46 | ABORT ;
 | 
|---|
| 47 |  S X=^TMP("XMERR",$J,1,"TEXT",1)
 | 
|---|
| 48 |  K XMERR,^TMP("XMERR",$J)
 | 
|---|
| 49 |  X X
 | 
|---|
| 50 |  Q
 | 
|---|