Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: DVBAUDAO2

DVBAUDAO2.m

Go to the documentation of this file.
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