DVBAUDAO2 ;ALB/CP - List Audited Option Summary Print ; 3/26/18 5:03pm
;;2.7;AMIE;**256**;;Build 19
; Per VHA Directive 6402 this routine should not be modified
; $$UP^XLFSTR ; IA #10104
;
Q
PRINT ; Print the report from the sorted ^TMP global
;
; From option: List Audited Option Summary
; [AMIE LIST AUDITED OPTION SUM]
;
N @($$PRTVARS^DVBAUDPRT1())
N DVBC1,DVBC2,DVBC3,DVBC4,DVBC5,DVBC6,DVBC7,DVBC8,DVBC9
N DVBLC1,DVBLC2,DVBLC3,DVBLC4,DVBLC5,DVBLC6,DVBLC7,DVBLC8,DVBLC9
N DVBPREVSORT,DVBCNT,DVBSORT1,DVBSORTBY
; ZEXCEPT: DVBOPTION,DVBSORT
;
D PRINTINI
D PAGEBRK^DVBAUDPRT1($T(+0),.DVBPG,0) Q:DVBQUIT
I '$D(^TMP("AMIE",$J,DVBOPTION)) D G EXIT
. D NODATA^DVBAUDPRT1(2)
;
S (DVBPREVSORT,DVBSORT1)=""
F S DVBSORT1=$O(^TMP("AMIE",$J,DVBOPTION,DVBSORT1)) Q:DVBSORT1=""!DVBQUIT D ;
. N DVBSORT2
. S DVBSORT2=""
. F S DVBSORT2=$O(^TMP("AMIE",$J,DVBOPTION,DVBSORT1,DVBSORT2)) Q:DVBSORT2=""!DVBQUIT D ;
.. I DVBCNT("OPT")>0,DVBSORT1'=DVBPREVSORT,"2^3^4^5^6^"[DVBSORT D Q:DVBQUIT
... D PAGEBRK^DVBAUDPRT1($T(+0),.DVBPG,1) Q:DVBQUIT
... W !
.. N DVBIENSUM
.. S DVBIENSUM=""
.. F S DVBIENSUM=$O(^TMP("AMIE",$J,DVBOPTION,DVBSORT1,DVBSORT2,DVBIENSUM)) Q:DVBIENSUM=""!DVBQUIT D
... N DVBRPTDATA
... S DVBRPTDATA=^TMP("AMIE",$J,DVBOPTION,DVBSORT1,DVBSORT2,DVBIENSUM)
... D PAGEBRK^DVBAUDPRT1($T(+0),.DVBPG,1) Q:DVBQUIT
... W !
... W ?DVBC1,$E($P(DVBRPTDATA,U,1),1,DVBLC1) ; OPTION
... W ?DVBC2,$J($P(DVBRPTDATA,U,2),DVBLC2) ;.. OPTION IEN
... W ?DVBC3,$E($P(DVBRPTDATA,U,3),1,DVBLC3) ; DVBTYPE
... W ?DVBC4,$E($P(DVBRPTDATA,U,4),1,DVBLC4) ; ACTIVE?
... W ?DVBC5,$E($P(DVBRPTDATA,U,5),1,DVBLC5) ; AUDIT START DATE
... W ?DVBC6,$J($P(DVBRPTDATA,U,6),DVBLC6) ;.. AUDIT DAYS
... W ?DVBC7,$E($P(DVBRPTDATA,U,7),1,DVBLC7) ; EARLIEST AUDIT DATE/TIME
... W ?DVBC8,$E($P(DVBRPTDATA,U,8),1,DVBLC8) ; LATEST AUDIT DATE/TIME
... W ?DVBC9,$J($P(DVBRPTDATA,U,9),DVBLC9) ;.. USAGE COUNT
... S DVBPREVSORT=DVBSORT1 ; Save previous sort value to suppress printing later
... S DVBCNT("OPT")=DVBCNT("OPT")+1 ;.. Count number of Options reported
;
Q:DVBQUIT
D PAGEBRK^DVBAUDPRT1($T(+0),.DVBPG,1) Q:DVBQUIT
W !
D PAGEBRK^DVBAUDPRT1($T(+0),.DVBPG,1) Q:DVBQUIT
W !?1,"Number of options reported: ",DVBCNT("OPT")
;
Q:DVBQUIT
;
EXIT ; Exit PRINT^DVBAUDAO2
;
Q ; Quit PRINT^DVBAUDAO2
;
PRINTHD ; Print report header
;
N DVBCOL
; ZEXCEPT: DVBC1,DVBC2,DVBC3,DVBC4,DVBC5,DVBC6,DVBC7,DVBC7,DVBC8,DVBC9,IOF,IOM,IOST
; ZEXCEPT: DVBLC1,DVBLC10,DVBLC11,DVBLC2,DVBLC3,DVBLC4,DVBLC5,DVBLC6,DVBLC7,DVBLC8,DVBLC9
; ZEXCEPT: DVBASKDT,DVBDAYS,DVBDT,DVBDTBEG,DVBDTEND,DVBFLAG1
; ZEXCEPT: DVBFTBEG,DVBFTEND
; ZEXCEPT: DVBLINED,DVBLINEE,DVBNTIMES,DVBOPT,DVBPG,DVBPKG,DVBRPT,DVBSORT
; ZEXCEPT: DVBREFCNT,DVBSORTBY,DVBTYPE,DVBUSERNAME
; ZEXCEPT: IOF,DVBOPTION,DVBPG
;
W:$E(IOST,1,2)="C-" @IOF
S DVBCOL=(IOM-7)-$L(DVBPG) ;.... Calculate page number column position
D CENTER^DVBAUDPRT1(DVBOPTION) ; Report title
I DVBRPT=1 D ;
. D CENTER^DVBAUDPRT1("List All Options Audited")
I DVBRPT=2 D ;
. D CENTER^DVBAUDPRT1("Audited Options Never Utilized")
I DVBRPT=3 D ;
. D CENTER^DVBAUDPRT1("OPTIONS USED LESS THAN "_DVBNTIMES_" TIMES")
I DVBRPT=4 D ;
. D CENTER^DVBAUDPRT1("OPTIONS USED MORE THAN "_DVBNTIMES_" TIMES")
I DVBRPT=5 D ;
. D CENTER^DVBAUDPRT1("OPTIONS ADDED TO THE AUDIT LIST WITHIN THE LAST "_DVBDAYS_" DAYS")
I DVBRPT=6 D ;
. D CENTER^DVBAUDPRT1("AUDITED OPTIONS NOT USED WITHIN "_DVBDAYS_" DAYS")
I DVBRPT=7 D ;
. D CENTER^DVBAUDPRT1("AUDITED OPTIONS USED WITHIN "_DVBDAYS_" DAYS")
I DVBRPT=8 D ;
. D CENTER^DVBAUDPRT1("Option Range: "_DVBFTBEG_" to "_DVBFTEND)
I DVBRPT=9 D ;
. D CENTER^DVBAUDPRT1("For Package Namespace: "_DVBPKG)
I DVBRPT=10 D ; Report selection is by package namespace
. D CENTER^DVBAUDPRT1("AUDITED OPTIONS THAT ARE REGULARLY RECURRING TASKS")
I DVBRPT=11 D ; Report selection is by package namespace
. D CENTER^DVBAUDPRT1("ALL AUDITED OPTIONS WITH RECORDED USAGE")
D CENTER^DVBAUDPRT1(DVBOPT) ; Active, inactive, or both active & inactive
;
I DVBASKDT="YES" D ; If report is limited by date range
. N DVBRANGE
. S DVBRANGE=DVB2DTBEG("E")_" to "_DVB2DTEND("E")
. ; If sorting by AUDIT START DATE (DVBSORT=3)
. I DVBSORT=3 D CENTER^DVBAUDPRT1("AUDIT START DATE range: "_DVBRANGE) Q
. ; If not sorting by AUDIT START DATE, use DATE LAST AUDITED
. D CENTER^DVBAUDPRT1("DATE LAST AUDITED range: "_DVBRANGE)
I DVBASKDT="NO" D ; If report is NOT limited by date range
. D CENTER^DVBAUDPRT1("NO SPECIFIC LAST AUDIT DATE RANGE LIMIT WAS SPECIFIED")
;
W !?DVBC1,DVBDT ;............... Reporting date
D CENTER^DVBAUDPRT1("Sorted by: "_DVBSORTBY,0) ; Include sorting method
W ?DVBCOL,"PAGE: ",DVBPG ;...... Display page number
W !,DVBLINEE ;............... Draw a line before displaying column hdr
;
PRINTHD1 ; Print column headers
;
W ! ;....................... Column header line 1
W ?DVBC2,$J("OPTION",DVBLC2)
W ?DVBC5,"AUDIT"
W ?DVBC6,$J("AUDIT",DVBLC6)
W ?DVBC7,"EARLIEST"
W ?DVBC8,"LAST"
W ?DVBC9,$J("USAGE",DVBLC9)
;
W ! ;....................... Column header line 2
W ?DVBC1,"OPTION NAME"
W ?DVBC2,$J("IEN",DVBLC2)
W ?DVBC3,"OPTION TYPE"
W ?DVBC4,"ACTIVE?"
W ?DVBC5,"START"
W ?DVBC6,$J("DAYS",DVBLC6)
W ?DVBC7,"AUDIT"
W ?DVBC8,"AUDIT"
W ?DVBC9,$J("COUNT",DVBLC9)
;
W ! ;....................... Draw a line under each column header
W ?DVBC1,$E(DVBLINED,1,DVBLC1)
W ?DVBC2,$E(DVBLINED,1,DVBLC2)
W ?DVBC3,$E(DVBLINED,1,DVBLC3)
W ?DVBC4,$E(DVBLINED,1,DVBLC4)
W ?DVBC5,$E(DVBLINED,1,DVBLC5)
W ?DVBC6,$E(DVBLINED,1,DVBLC6)
W ?DVBC7,$E(DVBLINED,1,DVBLC7)
W ?DVBC8,$E(DVBLINED,1,DVBLC8)
W ?DVBC9,$E(DVBLINED,1,DVBLC9)
;
;K DVBDT,DVBLINED,DVBLINEE
Q ; Quit PRINTHD & PRINTHD1
;
PRINTINI ; Initialize variables, set column positions and length of columns
;
; ZEXCEPT: DVBC1,DVBC10,DVBC11,DVBC2,DVBC3,DVBC4,DVBC5,DVBC6,DVBC7,DVBC8,DVBC9
; ZEXCEPT: DVBLC1,DVBLC10,DVBLC11,DVBLC2,DVBLC3,DVBLC4,DVBLC5,DVBLC6,DVBLC7,DVBLC8,DVBLC9
; ZEXCEPT: DVBCNT,DVBOPT,DVBRPT,DVBSORT,DVBULIMIT,DVBSORTBY
; ZEXCEPT: DVBSORTBY
;
D INITPRT^DVBAUDPRT1
; Init DVBCOL pos's & length
S DVBC1=1,DVBC2=33,DVBC3=43,DVBC4=60,DVBC5=69,DVBC6=79,DVBC7=87,DVBC8=97,DVBC9=124
S DVBLC1=30,DVBLC2=8,DVBLC3=15,DVBLC4=7,DVBLC5=8,DVBLC6=6,DVBLC7=8,DVBLC8=25,DVBLC9=8
;
S DVBSORTBY=$$UP^XLFSTR(DVBSORT)
I DVBSORTBY="" S DVBSORTBY=$$UP^XLFSTR(DVBSORT(DVBSORT))
S DVBCNT("OPT")=0 ; Number of unique options printed
I DVBOPT=1 S DVBOPT="INCLUDE BOTH ACTIVE AND INACTIVE OPTIONS"
I DVBOPT=2 S DVBOPT="INCLUDE ONLY ACTIVE OPTIONS"
I DVBOPT=3 S DVBOPT="INCLUDE ONLY INACTIVE OPTIONS"
;
Q ; Quit PRINTINI
--- Routine Detail --- with STRUCTURED ROUTINE LISTING ---[H[J[2J[HDVBAUDAO2 6796 printed Sep 17, 2026@20:27:12 Page 2
DVBAUDAO2 ;ALB/CP - List Audited Option Summary Print ; 3/26/18 5:03pm
+1 ;;2.7;AMIE;**256**;;Build 19
+2 ; Per VHA Directive 6402 this routine should not be modified
+3 ; $$UP^XLFSTR ; IA #10104
+4 ;
+5 QUIT
PRINT ; Print the report from the sorted ^TMP global
+1 ;
+2 ; From option: List Audited Option Summary
+3 ; [AMIE LIST AUDITED OPTION SUM]
+4 ;
+5 NEW @($$PRTVARS^DVBAUDPRT1())
+6 NEW DVBC1,DVBC2,DVBC3,DVBC4,DVBC5,DVBC6,DVBC7,DVBC8,DVBC9
+7 NEW DVBLC1,DVBLC2,DVBLC3,DVBLC4,DVBLC5,DVBLC6,DVBLC7,DVBLC8,DVBLC9
+8 NEW DVBPREVSORT,DVBCNT,DVBSORT1,DVBSORTBY
+9 ; ZEXCEPT: DVBOPTION,DVBSORT
+10 ;
+11 DO PRINTINI
+12 DO PAGEBRK^DVBAUDPRT1($TEXT(+0),.DVBPG,0)
if DVBQUIT
QUIT
+13 IF '$DATA(^TMP("AMIE",$JOB,DVBOPTION))
Begin DoDot:1
+14 DO NODATA^DVBAUDPRT1(2)
End DoDot:1
GOTO EXIT
+15 ;
+16 SET (DVBPREVSORT,DVBSORT1)=""
+17 ;
FOR
SET DVBSORT1=$ORDER(^TMP("AMIE",$JOB,DVBOPTION,DVBSORT1))
if DVBSORT1=""!DVBQUIT
QUIT
Begin DoDot:1
+18 NEW DVBSORT2
+19 SET DVBSORT2=""
+20 ;
FOR
SET DVBSORT2=$ORDER(^TMP("AMIE",$JOB,DVBOPTION,DVBSORT1,DVBSORT2))
if DVBSORT2=""!DVBQUIT
QUIT
Begin DoDot:2
+21 IF DVBCNT("OPT")>0
IF DVBSORT1'=DVBPREVSORT
IF "2^3^4^5^6^"[DVBSORT
Begin DoDot:3
+22 DO PAGEBRK^DVBAUDPRT1($TEXT(+0),.DVBPG,1)
if DVBQUIT
QUIT
+23 WRITE !
End DoDot:3
if DVBQUIT
QUIT
+24 NEW DVBIENSUM
+25 SET DVBIENSUM=""
+26 FOR
SET DVBIENSUM=$ORDER(^TMP("AMIE",$JOB,DVBOPTION,DVBSORT1,DVBSORT2,DVBIENSUM))
if DVBIENSUM=""!DVBQUIT
QUIT
Begin DoDot:3
+27 NEW DVBRPTDATA
+28 SET DVBRPTDATA=^TMP("AMIE",$JOB,DVBOPTION,DVBSORT1,DVBSORT2,DVBIENSUM)
+29 DO PAGEBRK^DVBAUDPRT1($TEXT(+0),.DVBPG,1)
if DVBQUIT
QUIT
+30 WRITE !
+31 ; OPTION
WRITE ?DVBC1,$EXTRACT($PIECE(DVBRPTDATA,U,1),1,DVBLC1)
+32 ;.. OPTION IEN
WRITE ?DVBC2,$JUSTIFY($PIECE(DVBRPTDATA,U,2),DVBLC2)
+33 ; DVBTYPE
WRITE ?DVBC3,$EXTRACT($PIECE(DVBRPTDATA,U,3),1,DVBLC3)
+34 ; ACTIVE?
WRITE ?DVBC4,$EXTRACT($PIECE(DVBRPTDATA,U,4),1,DVBLC4)
+35 ; AUDIT START DATE
WRITE ?DVBC5,$EXTRACT($PIECE(DVBRPTDATA,U,5),1,DVBLC5)
+36 ;.. AUDIT DAYS
WRITE ?DVBC6,$JUSTIFY($PIECE(DVBRPTDATA,U,6),DVBLC6)
+37 ; EARLIEST AUDIT DATE/TIME
WRITE ?DVBC7,$EXTRACT($PIECE(DVBRPTDATA,U,7),1,DVBLC7)
+38 ; LATEST AUDIT DATE/TIME
WRITE ?DVBC8,$EXTRACT($PIECE(DVBRPTDATA,U,8),1,DVBLC8)
+39 ;.. USAGE COUNT
WRITE ?DVBC9,$JUSTIFY($PIECE(DVBRPTDATA,U,9),DVBLC9)
+40 ; Save previous sort value to suppress printing later
SET DVBPREVSORT=DVBSORT1
+41 ;.. Count number of Options reported
SET DVBCNT("OPT")=DVBCNT("OPT")+1
End DoDot:3
End DoDot:2
End DoDot:1
+42 ;
+43 if DVBQUIT
QUIT
+44 DO PAGEBRK^DVBAUDPRT1($TEXT(+0),.DVBPG,1)
if DVBQUIT
QUIT
+45 WRITE !
+46 DO PAGEBRK^DVBAUDPRT1($TEXT(+0),.DVBPG,1)
if DVBQUIT
QUIT
+47 WRITE !?1,"Number of options reported: ",DVBCNT("OPT")
+48 ;
+49 if DVBQUIT
QUIT
+50 ;
EXIT ; Exit PRINT^DVBAUDAO2
+1 ;
+2 ; Quit PRINT^DVBAUDAO2
QUIT
+3 ;
PRINTHD ; Print report header
+1 ;
+2 NEW DVBCOL
+3 ; ZEXCEPT: DVBC1,DVBC2,DVBC3,DVBC4,DVBC5,DVBC6,DVBC7,DVBC7,DVBC8,DVBC9,IOF,IOM,IOST
+4 ; ZEXCEPT: DVBLC1,DVBLC10,DVBLC11,DVBLC2,DVBLC3,DVBLC4,DVBLC5,DVBLC6,DVBLC7,DVBLC8,DVBLC9
+5 ; ZEXCEPT: DVBASKDT,DVBDAYS,DVBDT,DVBDTBEG,DVBDTEND,DVBFLAG1
+6 ; ZEXCEPT: DVBFTBEG,DVBFTEND
+7 ; ZEXCEPT: DVBLINED,DVBLINEE,DVBNTIMES,DVBOPT,DVBPG,DVBPKG,DVBRPT,DVBSORT
+8 ; ZEXCEPT: DVBREFCNT,DVBSORTBY,DVBTYPE,DVBUSERNAME
+9 ; ZEXCEPT: IOF,DVBOPTION,DVBPG
+10 ;
+11 if $EXTRACT(IOST,1,2)="C-"
WRITE @IOF
+12 ;.... Calculate page number column position
SET DVBCOL=(IOM-7)-$LENGTH(DVBPG)
+13 ; Report title
DO CENTER^DVBAUDPRT1(DVBOPTION)
+14 ;
IF DVBRPT=1
Begin DoDot:1
+15 DO CENTER^DVBAUDPRT1("List All Options Audited")
End DoDot:1
+16 ;
IF DVBRPT=2
Begin DoDot:1
+17 DO CENTER^DVBAUDPRT1("Audited Options Never Utilized")
End DoDot:1
+18 ;
IF DVBRPT=3
Begin DoDot:1
+19 DO CENTER^DVBAUDPRT1("OPTIONS USED LESS THAN "_DVBNTIMES_" TIMES")
End DoDot:1
+20 ;
IF DVBRPT=4
Begin DoDot:1
+21 DO CENTER^DVBAUDPRT1("OPTIONS USED MORE THAN "_DVBNTIMES_" TIMES")
End DoDot:1
+22 ;
IF DVBRPT=5
Begin DoDot:1
+23 DO CENTER^DVBAUDPRT1("OPTIONS ADDED TO THE AUDIT LIST WITHIN THE LAST "_DVBDAYS_" DAYS")
End DoDot:1
+24 ;
IF DVBRPT=6
Begin DoDot:1
+25 DO CENTER^DVBAUDPRT1("AUDITED OPTIONS NOT USED WITHIN "_DVBDAYS_" DAYS")
End DoDot:1
+26 ;
IF DVBRPT=7
Begin DoDot:1
+27 DO CENTER^DVBAUDPRT1("AUDITED OPTIONS USED WITHIN "_DVBDAYS_" DAYS")
End DoDot:1
+28 ;
IF DVBRPT=8
Begin DoDot:1
+29 DO CENTER^DVBAUDPRT1("Option Range: "_DVBFTBEG_" to "_DVBFTEND)
End DoDot:1
+30 ;
IF DVBRPT=9
Begin DoDot:1
+31 DO CENTER^DVBAUDPRT1("For Package Namespace: "_DVBPKG)
End DoDot:1
+32 ; Report selection is by package namespace
IF DVBRPT=10
Begin DoDot:1
+33 DO CENTER^DVBAUDPRT1("AUDITED OPTIONS THAT ARE REGULARLY RECURRING TASKS")
End DoDot:1
+34 ; Report selection is by package namespace
IF DVBRPT=11
Begin DoDot:1
+35 DO CENTER^DVBAUDPRT1("ALL AUDITED OPTIONS WITH RECORDED USAGE")
End DoDot:1
+36 ; Active, inactive, or both active & inactive
DO CENTER^DVBAUDPRT1(DVBOPT)
+37 ;
+38 ; If report is limited by date range
IF DVBASKDT="YES"
Begin DoDot:1
+39 NEW DVBRANGE
+40 SET DVBRANGE=DVB2DTBEG("E")_" to "_DVB2DTEND("E")
+41 ; If sorting by AUDIT START DATE (DVBSORT=3)
+42 IF DVBSORT=3
DO CENTER^DVBAUDPRT1("AUDIT START DATE range: "_DVBRANGE)
QUIT
+43 ; If not sorting by AUDIT START DATE, use DATE LAST AUDITED
+44 DO CENTER^DVBAUDPRT1("DATE LAST AUDITED range: "_DVBRANGE)
End DoDot:1
+45 ; If report is NOT limited by date range
IF DVBASKDT="NO"
Begin DoDot:1
+46 DO CENTER^DVBAUDPRT1("NO SPECIFIC LAST AUDIT DATE RANGE LIMIT WAS SPECIFIED")
End DoDot:1
+47 ;
+48 ;............... Reporting date
WRITE !?DVBC1,DVBDT
+49 ; Include sorting method
DO CENTER^DVBAUDPRT1("Sorted by: "_DVBSORTBY,0)
+50 ;...... Display page number
WRITE ?DVBCOL,"PAGE: ",DVBPG
+51 ;............... Draw a line before displaying column hdr
WRITE !,DVBLINEE
+52 ;
PRINTHD1 ; Print column headers
+1 ;
+2 ;....................... Column header line 1
WRITE !
+3 WRITE ?DVBC2,$JUSTIFY("OPTION",DVBLC2)
+4 WRITE ?DVBC5,"AUDIT"
+5 WRITE ?DVBC6,$JUSTIFY("AUDIT",DVBLC6)
+6 WRITE ?DVBC7,"EARLIEST"
+7 WRITE ?DVBC8,"LAST"
+8 WRITE ?DVBC9,$JUSTIFY("USAGE",DVBLC9)
+9 ;
+10 ;....................... Column header line 2
WRITE !
+11 WRITE ?DVBC1,"OPTION NAME"
+12 WRITE ?DVBC2,$JUSTIFY("IEN",DVBLC2)
+13 WRITE ?DVBC3,"OPTION TYPE"
+14 WRITE ?DVBC4,"ACTIVE?"
+15 WRITE ?DVBC5,"START"
+16 WRITE ?DVBC6,$JUSTIFY("DAYS",DVBLC6)
+17 WRITE ?DVBC7,"AUDIT"
+18 WRITE ?DVBC8,"AUDIT"
+19 WRITE ?DVBC9,$JUSTIFY("COUNT",DVBLC9)
+20 ;
+21 ;....................... Draw a line under each column header
WRITE !
+22 WRITE ?DVBC1,$EXTRACT(DVBLINED,1,DVBLC1)
+23 WRITE ?DVBC2,$EXTRACT(DVBLINED,1,DVBLC2)
+24 WRITE ?DVBC3,$EXTRACT(DVBLINED,1,DVBLC3)
+25 WRITE ?DVBC4,$EXTRACT(DVBLINED,1,DVBLC4)
+26 WRITE ?DVBC5,$EXTRACT(DVBLINED,1,DVBLC5)
+27 WRITE ?DVBC6,$EXTRACT(DVBLINED,1,DVBLC6)
+28 WRITE ?DVBC7,$EXTRACT(DVBLINED,1,DVBLC7)
+29 WRITE ?DVBC8,$EXTRACT(DVBLINED,1,DVBLC8)
+30 WRITE ?DVBC9,$EXTRACT(DVBLINED,1,DVBLC9)
+31 ;
+32 ;K DVBDT,DVBLINED,DVBLINEE
+33 ; Quit PRINTHD & PRINTHD1
QUIT
+34 ;
PRINTINI ; Initialize variables, set column positions and length of columns
+1 ;
+2 ; ZEXCEPT: DVBC1,DVBC10,DVBC11,DVBC2,DVBC3,DVBC4,DVBC5,DVBC6,DVBC7,DVBC8,DVBC9
+3 ; ZEXCEPT: DVBLC1,DVBLC10,DVBLC11,DVBLC2,DVBLC3,DVBLC4,DVBLC5,DVBLC6,DVBLC7,DVBLC8,DVBLC9
+4 ; ZEXCEPT: DVBCNT,DVBOPT,DVBRPT,DVBSORT,DVBULIMIT,DVBSORTBY
+5 ; ZEXCEPT: DVBSORTBY
+6 ;
+7 DO INITPRT^DVBAUDPRT1
+8 ; Init DVBCOL pos's & length
+9 SET DVBC1=1
SET DVBC2=33
SET DVBC3=43
SET DVBC4=60
SET DVBC5=69
SET DVBC6=79
SET DVBC7=87
SET DVBC8=97
SET DVBC9=124
+10 SET DVBLC1=30
SET DVBLC2=8
SET DVBLC3=15
SET DVBLC4=7
SET DVBLC5=8
SET DVBLC6=6
SET DVBLC7=8
SET DVBLC8=25
SET DVBLC9=8
+11 ;
+12 SET DVBSORTBY=$$UP^XLFSTR(DVBSORT)
+13 IF DVBSORTBY=""
SET DVBSORTBY=$$UP^XLFSTR(DVBSORT(DVBSORT))
+14 ; Number of unique options printed
SET DVBCNT("OPT")=0
+15 IF DVBOPT=1
SET DVBOPT="INCLUDE BOTH ACTIVE AND INACTIVE OPTIONS"
+16 IF DVBOPT=2
SET DVBOPT="INCLUDE ONLY ACTIVE OPTIONS"
+17 IF DVBOPT=3
SET DVBOPT="INCLUDE ONLY INACTIVE OPTIONS"
+18 ;
+19 ; Quit PRINTINI
QUIT