XMJMSA ;ISC-SF/GMB-Send Anonymous User Suggestion Message ;04/17/2002  10:12
 ;;8.0;MailMan;;Jun 28, 2002
 ; Replaces ^XMANON (ISC-WASH/CAP)
 ; Entry points used by MailMan options (not covered by DBIA):
 ; SEND    XMSUGGESTION
 ; This routine allows a user to send an anonymous message to the
 ; SUGGESTION BOX basket of SHARED,MAIL.  If this basket doesn't exist,
 ; it will be created.
 ;
 ; MailMan masks (does not record) the actual identity of the sender.
 ;
 ; To use it, put the XMSUGGESTION option onto the appropriate menu.
 ; To stop a particular person from using it, put a 'Reverse/negative
 ; Lock' onto the XMSUGGESTION option and assign that key to the
 ; person you do not want to be able to use it.
SEND ;
 N XMSUBJ,XMABORT,XMFINISH,XMDIR,XMY,XMOPT,XMOX
 D SET^XMXSEC2("ES",37305,.XMOPT,.XMOX) ; Edit Subject
 D SET^XMXSEC2("ET",37306,.XMOPT,.XMOX) ; Edit Text
 D SET^XMXSEC2("T",37334,.XMOPT,.XMOX) ; Transmit now
 S XMDIR("A")=$$EZBLD^DIALOG(34067) ; Select Message option:
 S XMDIR("B")=XMOX("O","T")_":"_XMOPT("T") ; Transmit now
 S XMDIR("??")="@" ; no help screen
 S XMABORT=0
 ;D WARNING(.XMABORT) Q:XMABORT
 D ES Q:XMABORT  ; Edit the subject
 K ^TMP("XM",$J)
 D ET Q:XMABORT  ; Edit the text
 S XMFINISH=0
 F  D  Q:XMFINISH!XMABORT
 . D XMDIR^XMJDIR(.XMDIR,.XMOPT,.XMOX,.XMY,.XMABORT) Q:XMABORT
 . D @XMY
 K ^TMP("XM",$J)
 Q
ES ;
 D SUBJ^XMJMS(.XMSUBJ,.XMABORT)
 Q
ET ; Edit text
 N DIC
 S DWPK=1,DWLW=75,DIC="^TMP(""XM"",$J,"
 S DIWESUB=XMSUBJ
 D EN^DIWE
 I '$O(^TMP("XM",$J,0)) S XMABORT=1 Q
 Q
T ; Transmit the message
 N XMDUZ,DUZ,XMINSTR,XMZ
 S XMFINISH=1,(XMDUZ,DUZ)=.6
 S XMINSTR("FROM")=$$EZBLD^DIALOG(34665) ; Anonymous
 S XMINSTR("SHARE DATE")="3991231"
 S XMINSTR("SHARE BSKT")=$$EZBLD^DIALOG(34666) ; SUGGESTION BOX
 D CRE8XMZ^XMXSEND(XMSUBJ,.XMZ,1) Q:XMZ<1
 W $$EZBLD^DIALOG(34217,XMZ) ; Sending [|1|]...
 D MOVEBODY^XMXSEND(XMZ,"^TMP(""XM"",$J)")
 D ADDRNSND^XMXSEND(XMDUZ,XMZ,XMDUZ,.XMINSTR)
 W !,$$EZBLD^DIALOG(34213) ;  Sent
 Q
WARNING(XMABORT) ;
 ;                 * * * * *  ATTENTION  * * * * *
 ;      Anonymous messages may or may not be totally anonymous.
 ;                Please check with your local IRM
 ; to find out if your facility has methods in place to identify you.
 N XMTEXT
 W @IOF
 D BLD^DIALOG(34667,"","","XMTEXT","F")
 D MSG^DIALOG("WM","",79,"","XMTEXT")
 W !!
 D PAGE^XMXUTIL(.XMABORT)
 Q
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HXMJMSA   2426     printed  Sep 23, 2025@19:48:20                                                                                                                                                                                                      Page 2
XMJMSA    ;ISC-SF/GMB-Send Anonymous User Suggestion Message ;04/17/2002  10:12
 +1       ;;8.0;MailMan;;Jun 28, 2002
 +2       ; Replaces ^XMANON (ISC-WASH/CAP)
 +3       ; Entry points used by MailMan options (not covered by DBIA):
 +4       ; SEND    XMSUGGESTION
 +5       ; This routine allows a user to send an anonymous message to the
 +6       ; SUGGESTION BOX basket of SHARED,MAIL.  If this basket doesn't exist,
 +7       ; it will be created.
 +8       ;
 +9       ; MailMan masks (does not record) the actual identity of the sender.
 +10      ;
 +11      ; To use it, put the XMSUGGESTION option onto the appropriate menu.
 +12      ; To stop a particular person from using it, put a 'Reverse/negative
 +13      ; Lock' onto the XMSUGGESTION option and assign that key to the
 +14      ; person you do not want to be able to use it.
SEND      ;
 +1        NEW XMSUBJ,XMABORT,XMFINISH,XMDIR,XMY,XMOPT,XMOX
 +2       ; Edit Subject
           DO SET^XMXSEC2("ES",37305,.XMOPT,.XMOX)
 +3       ; Edit Text
           DO SET^XMXSEC2("ET",37306,.XMOPT,.XMOX)
 +4       ; Transmit now
           DO SET^XMXSEC2("T",37334,.XMOPT,.XMOX)
 +5       ; Select Message option:
           SET XMDIR("A")=$$EZBLD^DIALOG(34067)
 +6       ; Transmit now
           SET XMDIR("B")=XMOX("O","T")_":"_XMOPT("T")
 +7       ; no help screen
           SET XMDIR("??")="@"
 +8        SET XMABORT=0
 +9       ;D WARNING(.XMABORT) Q:XMABORT
 +10      ; Edit the subject
           DO ES
           if XMABORT
               QUIT 
 +11       KILL ^TMP("XM",$JOB)
 +12      ; Edit the text
           DO ET
           if XMABORT
               QUIT 
 +13       SET XMFINISH=0
 +14       FOR 
               Begin DoDot:1
 +15               DO XMDIR^XMJDIR(.XMDIR,.XMOPT,.XMOX,.XMY,.XMABORT)
                   if XMABORT
                       QUIT 
 +16               DO @XMY
               End DoDot:1
               if XMFINISH!XMABORT
                   QUIT 
 +17       KILL ^TMP("XM",$JOB)
 +18       QUIT 
ES        ;
 +1        DO SUBJ^XMJMS(.XMSUBJ,.XMABORT)
 +2        QUIT 
ET        ; Edit text
 +1        NEW DIC
 +2        SET DWPK=1
           SET DWLW=75
           SET DIC="^TMP(""XM"",$J,"
 +3        SET DIWESUB=XMSUBJ
 +4        DO EN^DIWE
 +5        IF '$ORDER(^TMP("XM",$JOB,0))
               SET XMABORT=1
               QUIT 
 +6        QUIT 
T         ; Transmit the message
 +1        NEW XMDUZ,DUZ,XMINSTR,XMZ
 +2        SET XMFINISH=1
           SET (XMDUZ,DUZ)=.6
 +3       ; Anonymous
           SET XMINSTR("FROM")=$$EZBLD^DIALOG(34665)
 +4        SET XMINSTR("SHARE DATE")="3991231"
 +5       ; SUGGESTION BOX
           SET XMINSTR("SHARE BSKT")=$$EZBLD^DIALOG(34666)
 +6        DO CRE8XMZ^XMXSEND(XMSUBJ,.XMZ,1)
           if XMZ<1
               QUIT 
 +7       ; Sending [|1|]...
           WRITE $$EZBLD^DIALOG(34217,XMZ)
 +8        DO MOVEBODY^XMXSEND(XMZ,"^TMP(""XM"",$J)")
 +9        DO ADDRNSND^XMXSEND(XMDUZ,XMZ,XMDUZ,.XMINSTR)
 +10      ;  Sent
           WRITE !,$$EZBLD^DIALOG(34213)
 +11       QUIT 
WARNING(XMABORT) ;
 +1       ;                 * * * * *  ATTENTION  * * * * *
 +2       ;      Anonymous messages may or may not be totally anonymous.
 +3       ;                Please check with your local IRM
 +4       ; to find out if your facility has methods in place to identify you.
 +5        NEW XMTEXT
 +6        WRITE @IOF
 +7        DO BLD^DIALOG(34667,"","","XMTEXT","F")
 +8        DO MSG^DIALOG("WM","",79,"","XMTEXT")
 +9        WRITE !!
 +10       DO PAGE^XMXUTIL(.XMABORT)
 +11       QUIT