XUXTADDILG ;ESL/JAC/CM - UTL Reusable FM DIALOG Calls #1 ; 06/26/2020@9:30
 ;;8.0;KERNEL;**807**;Oct 16, 2024;Build 56;
 ;
 ;
 ; External API'S
 ;
 ; XUXTAD API's
CENTER(AXUXTADTEXT,AXUXTADLF,AXUXTADRM,AXUXTADRVIDEO) D CENTER^XUXTADPRT1($G(AXUXTADTEXT),$G(AXUXTADLF),$G(AXUXTADRM),$G(AXUXTADRVIDEO)) Q
CONTINUE(AXUXTADLF,AXUXTADTYPE) D CONTINUE^XUXTADPRT1($G(AXUXTADLF),$G(AXUXTADTYPE)) Q
MSG(ADIFLGS,ADIOUT,ADIMARGIN,ADICOLUMN,ADIINNAME) D MSG^DIALOG($G(ADIFLGS),$G(ADIOUT),$G(ADIMARGIN),$G(ADICOLUMN),$G(ADIINNAME)) Q
 ;
 ;-- Integration Control Registrations
 ; Reference to MSG^DIALOG in ICR #2050
 ; Reference to CLEAN^DILF in ICR #2054
 ;
DIERR(XUXTADWIDTH,XUXTADLFTMAR,XUXTADMSGROOT,XUXTADFRMRTN,XUXTADNOPAUSE) ; Display DBS error messages.
 ; Call this subroutine after a database server API call.  If DIERR
 ; is not detected, the API will return XUXTADQUIT=0 and quit; otherwise
 ; the error message will be displayed.
 ;
 ;-- Input:
 ;   XUXTADWIDTH   ; Required ; Maximum line length or text width
 ;                        for formatting the text.
 ;   XUXTADLFTMAR    ; Required ; Starting position of left margin for writing
 ;                        the text of the error message.
 ;   XUXTADMSGROOT ; Optional ; Closed root of which the local input error
 ;                        message resides.
 ;   XUXTADFRMRTN ; Optional ; Calling entry point that generates this
 ;                        error.  For example: 'BUILD1^R2IVVUO1'.
 ;   XUXTADNOPAUSE ; Optional ; If 1 don't pause screen output for user
 ;                        response, continue processing.
 ;
 ;-- Output:
 ;   XUXTADQUIT ; 0 ; if everything is ok
 ;            1 ; when a required parameter is missing or a database
 ;                server error was detected.
 ;
 SET XUXTADQUIT=0 ; Initialize output flag XUXTADQUIT to successful (0).
 S XUXTADFRMRTN=$G(XUXTADFRMRTN)
 ;
 ; Check for required input parameters
 ;
 I '$G(XUXTADWIDTH)!('$G(XUXTADLFTMAR)) D  Q
 . I $E(IOST,1,2)="C-" D  ; Output message only to a display screen.
 . . NEW XUXTADERRMSG
 . . S XUXTADERRMSG="One or more required input parameters are missing "
 . . D CENTER(XUXTADERRMSG,2,IOM,1)
 . . I XUXTADFRMRTN]"" D  ;
 . . . S XUXTADERRMSG="in calling routine "_XUXTADFRMRTN
 . . . D CENTER(XUXTADERRMSG,1,IOM,1)
 . . S XUXTADERRMSG="to the DIERR^R2IVVOAU API call"
 . . D CENTER(XUXTADERRMSG,1,IOM,1)
 . . Q:$G(XUXTADNOPAUSE)  I $E(IOST,1,2)="C-" D CONTINUE(2,"R")
 . SET XUXTADQUIT=1 ; Set return flag to unsuccessful
 Q:'$G(DIERR)  ; Quit if no database server error message detected.
 ;
 ; Display database server error message & cleanup message array
 ;
 ;   Flags "WE":
 ;     (W)rite text to current device
 ;     (E)rror array text is processed
 ;
 I $E(IOST,1,2)="C-" D  ; Output message only to a display screen.
 . W !
 . I $G(XUXTADMSGROOT)]"" D MSG("WE",,XUXTADWIDTH,XUXTADLFTMAR,XUXTADMSGROOT)
 . I $G(XUXTADMSGROOT)']"" D MSG("WE","",XUXTADWIDTH,XUXTADLFTMAR)
 . I $G(XUXTADIENS)]"" W !,?XUXTADLFTMAR,"For IENS: ",XUXTADIENS D  ;
 . . Q:'$G(XUXTADFILE)  W " file #",XUXTADFILE
 . I $G(XUXTADIENS)]"" W !,?XUXTADLFTMAR,"For IENS: ",XUXTADIENS D  ;
 . . Q:'$G(XUXTADFILE)  W " file #",XUXTADFILE
 . I XUXTADFRMRTN]"" W !,?XUXTADLFTMAR,"Error generated from "_XUXTADFRMRTN_"."
 . Q:$G(XUXTADNOPAUSE)  I $E(IOST,1,2)="C-" D CONTINUE(2,"R")
 D CLEAN^DILF ; Kills standard ^TMP DBS global and local variables.
 I $G(XUXTADMSGROOT)]"" KILL @XUXTADMSGROOT ; Cleanup local message array
 SET XUXTADQUIT=1 ; Set return flag to unsuccessful
 Q  ; DIERR
 ;
 ;XUXTADDILG ;ESL/JAC/cm - UTL Reusable FM DIALOG Calls #1 ; 06/26/2020  09:30
 
--- Routine Detail   --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HXUXTADDILG   3679     printed  Sep 23, 2025@19:50:34                                                                                                                                                                                                  Page 2
XUXTADDILG ;ESL/JAC/CM - UTL Reusable FM DIALOG Calls #1 ; 06/26/2020@9:30
 +1       ;;8.0;KERNEL;**807**;Oct 16, 2024;Build 56;
 +2       ;
 +3       ;
 +4       ; External API'S
 +5       ;
 +6       ; XUXTAD API's
CENTER(AXUXTADTEXT,AXUXTADLF,AXUXTADRM,AXUXTADRVIDEO)  DO CENTER^XUXTADPRT1($GET(AXUXTADTEXT),$GET(AXUXTADLF),$GET(AXUXTADRM),$GET(AXUXTADRVIDEO))
           QUIT 
CONTINUE(AXUXTADLF,AXUXTADTYPE)  DO CONTINUE^XUXTADPRT1($GET(AXUXTADLF),$GET(AXUXTADTYPE))
           QUIT 
MSG(ADIFLGS,ADIOUT,ADIMARGIN,ADICOLUMN,ADIINNAME)  DO MSG^DIALOG($GET(ADIFLGS),$GET(ADIOUT),$GET(ADIMARGIN),$GET(ADICOLUMN),$GET(ADIINNAME))
           QUIT 
 +1       ;
 +2       ;-- Integration Control Registrations
 +3       ; Reference to MSG^DIALOG in ICR #2050
 +4       ; Reference to CLEAN^DILF in ICR #2054
 +5       ;
DIERR(XUXTADWIDTH,XUXTADLFTMAR,XUXTADMSGROOT,XUXTADFRMRTN,XUXTADNOPAUSE) ; Display DBS error messages.
 +1       ; Call this subroutine after a database server API call.  If DIERR
 +2       ; is not detected, the API will return XUXTADQUIT=0 and quit; otherwise
 +3       ; the error message will be displayed.
 +4       ;
 +5       ;-- Input:
 +6       ;   XUXTADWIDTH   ; Required ; Maximum line length or text width
 +7       ;                        for formatting the text.
 +8       ;   XUXTADLFTMAR    ; Required ; Starting position of left margin for writing
 +9       ;                        the text of the error message.
 +10      ;   XUXTADMSGROOT ; Optional ; Closed root of which the local input error
 +11      ;                        message resides.
 +12      ;   XUXTADFRMRTN ; Optional ; Calling entry point that generates this
 +13      ;                        error.  For example: 'BUILD1^R2IVVUO1'.
 +14      ;   XUXTADNOPAUSE ; Optional ; If 1 don't pause screen output for user
 +15      ;                        response, continue processing.
 +16      ;
 +17      ;-- Output:
 +18      ;   XUXTADQUIT ; 0 ; if everything is ok
 +19      ;            1 ; when a required parameter is missing or a database
 +20      ;                server error was detected.
 +21      ;
 +22      ; Initialize output flag XUXTADQUIT to successful (0).
           SET XUXTADQUIT=0
 +23       SET XUXTADFRMRTN=$GET(XUXTADFRMRTN)
 +24      ;
 +25      ; Check for required input parameters
 +26      ;
 +27       IF '$GET(XUXTADWIDTH)!('$GET(XUXTADLFTMAR))
               Begin DoDot:1
 +28      ; Output message only to a display screen.
                   IF $EXTRACT(IOST,1,2)="C-"
                       Begin DoDot:2
 +29                       NEW XUXTADERRMSG
 +30                       SET XUXTADERRMSG="One or more required input parameters are missing "
 +31                       DO CENTER(XUXTADERRMSG,2,IOM,1)
 +32      ;
                           IF XUXTADFRMRTN]""
                               Begin DoDot:3
 +33                               SET XUXTADERRMSG="in calling routine "_XUXTADFRMRTN
 +34                               DO CENTER(XUXTADERRMSG,1,IOM,1)
                               End DoDot:3
 +35                       SET XUXTADERRMSG="to the DIERR^R2IVVOAU API call"
 +36                       DO CENTER(XUXTADERRMSG,1,IOM,1)
 +37                       if $GET(XUXTADNOPAUSE)
                               QUIT 
                           IF $EXTRACT(IOST,1,2)="C-"
                               DO CONTINUE(2,"R")
                       End DoDot:2
 +38      ; Set return flag to unsuccessful
                   SET XUXTADQUIT=1
               End DoDot:1
               QUIT 
 +39      ; Quit if no database server error message detected.
           if '$GET(DIERR)
               QUIT 
 +40      ;
 +41      ; Display database server error message & cleanup message array
 +42      ;
 +43      ;   Flags "WE":
 +44      ;     (W)rite text to current device
 +45      ;     (E)rror array text is processed
 +46      ;
 +47      ; Output message only to a display screen.
           IF $EXTRACT(IOST,1,2)="C-"
               Begin DoDot:1
 +48               WRITE !
 +49               IF $GET(XUXTADMSGROOT)]""
                       DO MSG("WE",,XUXTADWIDTH,XUXTADLFTMAR,XUXTADMSGROOT)
 +50               IF $GET(XUXTADMSGROOT)']""
                       DO MSG("WE","",XUXTADWIDTH,XUXTADLFTMAR)
 +51      ;
                   IF $GET(XUXTADIENS)]""
                       WRITE !,?XUXTADLFTMAR,"For IENS: ",XUXTADIENS
                       Begin DoDot:2
 +52                       if '$GET(XUXTADFILE)
                               QUIT 
                           WRITE " file #",XUXTADFILE
                       End DoDot:2
 +53      ;
                   IF $GET(XUXTADIENS)]""
                       WRITE !,?XUXTADLFTMAR,"For IENS: ",XUXTADIENS
                       Begin DoDot:2
 +54                       if '$GET(XUXTADFILE)
                               QUIT 
                           WRITE " file #",XUXTADFILE
                       End DoDot:2
 +55               IF XUXTADFRMRTN]""
                       WRITE !,?XUXTADLFTMAR,"Error generated from "_XUXTADFRMRTN_"."
 +56               if $GET(XUXTADNOPAUSE)
                       QUIT 
                   IF $EXTRACT(IOST,1,2)="C-"
                       DO CONTINUE(2,"R")
               End DoDot:1
 +57      ; Kills standard ^TMP DBS global and local variables.
           DO CLEAN^DILF
 +58      ; Cleanup local message array
           IF $GET(XUXTADMSGROOT)]""
               KILL @XUXTADMSGROOT
 +59      ; Set return flag to unsuccessful
           SET XUXTADQUIT=1
 +60      ; DIERR
           QUIT 
 +61      ;
 +62      ;XUXTADDILG ;ESL/JAC/cm - UTL Reusable FM DIALOG Calls #1 ; 06/26/2020  09:30