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

BLRERRTR.m

Go to the documentation of this file.
  1. BLRERRTR ; IHS/MSC/MKK - IHS Lab ERRor Trap Report ; September 2, 2011
  1. ;;5.2;IHS LABORATORY;**1031**;NOV 01, 1997
  1. ;
  1. EEP ; EP -- Ersatz Entry Point
  1. D EEP^BLRGMENU
  1. Q
  1. ;
  1. PEP ; EP
  1. EP ; EP
  1. NEW BLRMMENU,BLRVERN
  1. ;
  1. D SETMENU
  1. ;
  1. ; Main Menu driver
  1. D MENUDRFM^BLRGMENU("RPMS Lab Module","Error Trap Report Routines")
  1. ;
  1. ; The temp global data are deleted to prevent reports being
  1. ; generated by "old" data.
  1. K ^TMP("BLRERRTR",$J)
  1. Q
  1. ;
  1. SETMENU ; EP -- Main Menu
  1. S BLRVERN=$P($P($T(+1),";")," ")
  1. ;
  1. D ADDTMENU^BLRGMENU("COMPMENU^BLRERRTR","Compilation...")
  1. D ADDTMENU^BLRGMENU("REPTMENU^BLRERRTR","Reports...")
  1. ;
  1. Q
  1. ;
  1. COMPMENU ; EP - Compilation Sub-Menu
  1. NEW BLRMMENU,BLRVERN,MENU3
  1. ;
  1. D CSETMENU
  1. ;
  1. ; Main Menu driver
  1. S MENU3=$$CJ^XLFSTR("Compilation of Data",IOM)
  1. D MENUDRFM^BLRGMENU("RPMS Lab Module","Error Trap Routines",MENU3)
  1. ;
  1. Q
  1. ;
  1. CSETMENU ; EP
  1. S BLRVERN=$P($P($T(+1),";")," ")
  1. ;
  1. D ADDTMENU^BLRGMENU("COMPILE^BLRERRTR","Compile ALL Errors For Reports")
  1. D ADDTMENU^BLRGMENU("COMPDATE^BLRERRTR","Compile Date Range Errors For Reports")
  1. Q
  1. ;
  1. REPTMENU ; EP - Reports Sub-Menu
  1. NEW BLRMMENU,BLRVERN,MENU3
  1. ;
  1. D RSETMENU
  1. ;
  1. ; Main Menu driver
  1. S MENU3=$$CJ^XLFSTR("Reports",IOM)
  1. D MENUDRFM^BLRGMENU("RPMS Lab Module","Error Trap Routines",MENU3)
  1. ;
  1. Q
  1. ;
  1. RSETMENU ; EP
  1. S BLRVERN=$P($P($T(+1),";")," ")
  1. ;
  1. D ADDTMENU^BLRGMENU("DETAILED^BLRERRTR","Date/Time Errors Report")
  1. D ADDTMENU^BLRGMENU("NODATES^BLRERRTR","Non Date Specific Errors Report")
  1. D ADDTMENU^BLRGMENU("LABDET^BLRERRTR","Lab Only Date/Time Errors Report")
  1. D ADDTMENU^BLRGMENU("LNODATES^BLRERRTR","Lab Only Non Date Specific Errors Report")
  1. Q
  1. ;
  1. COMPILE ; EP - Compilation of data
  1. NEW ERROR,ERRDATE,ERRDNUM,HDT,LINETAG,LRLDT,LRSDT,PACKAGE,PKGIEN,PKGNAME,ROUTINE,STR
  1. NEW HD1,HEADER,LINES,MAXLINES,PG,QFLG
  1. ;
  1. D INITVARS
  1. ;
  1. D HEADERDT^BLRGMENU
  1. W !,?4
  1. ;
  1. K ^TMP("BLRERRTR",$J)
  1. ;
  1. F S HDT=$O(^%ZTER(1,HDT)) Q:HDT<1 D
  1. . S:$G(^TMP("BLRERRTR",$J,-1))="" ^TMP("BLRERRTR",$J,-1)=HDT
  1. . S ^TMP("BLRERRTR",$J,-2)=HDT
  1. . D STORERRS
  1. ;
  1. D PRESSKEY^BLRGMENU(4)
  1. Q
  1. ;
  1. INITVARS ; EP - Initialize variables
  1. S (HDT,ERRDNUM)=0
  1. S HEADER(1)="Error Trap Report"
  1. S HEADER(2)="Compilation"
  1. ;
  1. Q
  1. ;
  1. STORERRS ; EP - Store Errors into ^TMP global
  1. S ERRDNUM=0
  1. F S ERRDNUM=$O(^%ZTER(1,HDT,1,ERRDNUM)) Q:ERRDNUM<1 D
  1. . S STR=$P($G(^%ZTER(1,HDT,1,ERRDNUM,"ZE"))," ")
  1. . W "." W:$X>74 !,?4
  1. . Q:$L(STR)<1
  1. . ;
  1. . S ERROR=$P(STR,">")_">"
  1. . S STR=$P(STR,">",2) ; Reset STR to make it more manageable
  1. . S LINETAG=$P(STR,"^")
  1. . S:$L(LINETAG)<1 LINETAG="<NO LINETAG>"
  1. . S ROUTINE=$$TRIM^XLFSTR($P(STR,"^",2),"LR"," ")
  1. . S:$L(ROUTINE)<1 ROUTINE="<UNK>"
  1. . ;
  1. . ; Get Package Name
  1. . S PACKAGE=$$TRIM^XLFSTR($P($G(^ROUTINE(ROUTINE,0,2)),";",4),"LR"," ")
  1. . I $L(PACKAGE)>0,$L(PACKAGE)<4 D
  1. .. Q:ROUTINE["UNK"
  1. .. S PKGIEN=+$O(^DIC(9.4,"C",PACKAGE,0))
  1. .. I PKGIEN>0 S PKGNAME=$P($G(^DIC(9.4,PKGIEN,0)),"^")
  1. .. S:$L(PKGNAME) PACKAGE=PKGNAME
  1. . S:$L(PACKAGE)<1 PACKAGE="<NO PACKAGE>"
  1. . ;
  1. . ; Store data
  1. . S ^TMP("BLRERRTR",$J,"NODETAIL",PACKAGE,ERROR,LINETAG,ROUTINE)=1+$G(^TMP("BLRERRTR",$J,"NODETAIL",PACKAGE,ERROR,LINETAG,ROUTINE))
  1. . S ^TMP("BLRERRTR",$J,"DETAILED",HDT,PACKAGE,ERROR,LINETAG,ROUTINE)=1+$G(^TMP("BLRERRTR",$J,"DETAILED",HDT,PACKAGE,ERROR,LINETAG,ROUTINE))
  1. . ;
  1. . ; Store Lab data
  1. . I $E(ROUTINE,1,2)="LR"!($E(ROUTINE,1,2)="LA")!($E(ROUTINE,1,3)="BLR") D
  1. .. S ^TMP("BLRERRTR",$J,"LAB","NODETAIL",PACKAGE,ERROR,LINETAG,ROUTINE)=1+$G(^TMP("BLRERRTR",$J,"LAB","NODETAIL",PACKAGE,ERROR,LINETAG,ROUTINE))
  1. .. S ^TMP("BLRERRTR",$J,"LAB","DETAILED",HDT,PACKAGE,ERROR,LINETAG,ROUTINE)=1+$G(^TMP("BLRERRTR",$J,"LAB","DETAILED",HDT,PACKAGE,ERROR,LINETAG,ROUTINE))
  1. Q
  1. ;
  1. COMPDATE ; EP - Compilation of data
  1. NEW ERROR,ERRDATE,ERRDNUM,HDT,LINETAG,LRLDT,LRSDT,PACKAGE,ROUTINE,STR
  1. NEW HD1,HEADER,LINES,MAXLINES,PG,QFLG
  1. ;
  1. Q:$$DRINITVS()="Q"
  1. ;
  1. D HEADERDT^BLRGMENU
  1. W !,?4
  1. ;
  1. S HDT=LRSDT-1
  1. F S HDT=$O(^%ZTER(1,HDT)) Q:HDT<1!(HDT>LRLDT) D
  1. . D STORERRS
  1. ;
  1. D PRESSKEY^BLRGMENU(4)
  1. Q
  1. ;
  1. DRINITVS() ; EP - Initialize variables
  1. S (HDT,ERRDNUM)=0
  1. S HEADER(1)="Error Trap Report"
  1. S HEADER(2)="Compilation"
  1. ;
  1. D HEADERDT^BLRGMENU
  1. D B^LRU
  1. ;
  1. I +$G(LRSDT)<1!(+$G(LRLDT)<1) D Q "Q"
  1. . W !,?4,"Invalid/No Date Range Entered. Compilation Ends.",!
  1. . D PRESSKEY^BLRGMENU(9)
  1. ;
  1. S HEADER(3)=$$CJ^XLFSTR("Date Range:"_$$FMTE^XLFDT(LRSDT,"2Z")_" thru "_$$FMTE^XLFDT(LRLDT,"2Z"),IOM)
  1. ;
  1. S LRSDT=$P($$FMTH^XLFDT(LRSDT),",")
  1. S LRLDT=$P($$FMTH^XLFDT(LRLDT),",")
  1. ;
  1. K ^TMP("BLRERRTR",$J)
  1. S ^TMP("BLRERRTR",$J,-1)=LRSDT
  1. S ^TMP("BLRERRTR",$J,-2)=LRLDT
  1. ;
  1. Q "OK"
  1. ;
  1. DETAILED ; EP - Report
  1. NEW ERROR,ERRDATE,ERRDNUM,ERRTOT,HDT,LINETAG,LRLDT,LRSDT,PACKAGE,ROUTINE,STR,TOTAL
  1. NEW HD1,HEADER,LINES,MAXLINES,PG,QFLG
  1. ;
  1. Q:$$ISDATA()="Q"
  1. ;
  1. D DETVINIT
  1. ;
  1. F S HDT=$O(^TMP("BLRERRTR",$J,"DETAILED",HDT),-1) Q:HDT<1!(QFLG="Q") D
  1. . F S PACKAGE=$O(^TMP("BLRERRTR",$J,"DETAILED",HDT,PACKAGE)) Q:PACKAGE=""!(QFLG="Q") D
  1. .. F S ERROR=$O(^TMP("BLRERRTR",$J,"DETAILED",HDT,PACKAGE,ERROR)) Q:ERROR=""!(QFLG="Q") D
  1. ... F S LINETAG=$O(^TMP("BLRERRTR",$J,"DETAILED",HDT,PACKAGE,ERROR,LINETAG)) Q:LINETAG=""!(QFLG="Q") D
  1. .... F S ROUTINE=$O(^TMP("BLRERRTR",$J,"DETAILED",HDT,PACKAGE,ERROR,LINETAG,ROUTINE)) Q:ROUTINE=""!(QFLG="Q") D
  1. ..... D DETLINER
  1. ;
  1. W:QFLG'="Q" !!,?10,"Total Number of Errors = ",TOTAL,!!
  1. ;
  1. D ^%ZISC
  1. ;
  1. Q:QFLG="Q"
  1. ;
  1. D PRESSKEY^BLRGMENU(4)
  1. Q
  1. ;
  1. ISDATA() ; EP - Report Data Exists
  1. I $D(^TMP("BLRERRTR",$J))>0 Q "OK"
  1. ;
  1. W !,?4,"No Data Exists. Need to compile first."
  1. D PRESSKEY^BLRGMENU(9)
  1. Q "Q"
  1. ;
  1. DETVINIT ; EP - Report Variables Initialization
  1. NEW BEGDT,ENDDT
  1. ;
  1. K HEADER
  1. S HEADER(1)="Error Trap Report"
  1. ;
  1. S BEGDT=$$HTE^XLFDT($G(^TMP("BLRERRTR",$J,-1)),"5DZ")
  1. S ENDDT=$$HTE^XLFDT($G(^TMP("BLRERRTR",$J,-2)),"5DZ")
  1. ;
  1. S HEADER(2)="Date Range: "_BEGDT_" thru "_ENDDT
  1. ;
  1. D OPENIO
  1. ;
  1. S HEADER(3)=" "
  1. S $E(HEADER(4),68)="Error"
  1. S $E(HEADER(4),78)="#"
  1. S HEADER(5)="Package"
  1. S $E(HEADER(5),30)="Routine"
  1. S $E(HEADER(5),40)="Error"
  1. S $E(HEADER(5),55)="Line Tag"
  1. S $E(HEADER(5),68)="Date"
  1. S $E(HEADER(5),77)="Errs"
  1. ;
  1. S (HDT,PACKAGE,HDT,ERROR,LINETAG,ROUTINE)=""
  1. Q
  1. ;
  1. DETLINER ; EP - Output line of data
  1. I LINES>MAXLINES D HEADERPG^BLRGMENU(.PG,.QFLG,HD1) Q:QFLG="Q"
  1. ;
  1. S ERRTOT=$G(^TMP("BLRERRTR",$J,"DETAILED",HDT,PACKAGE,ERROR,LINETAG,ROUTINE))
  1. S TOTAL=TOTAL+ERRTOT
  1. ;
  1. W $E($$TRIM^XLFSTR(PACKAGE,"LR"," "),1,27)
  1. W ?29,$E(ROUTINE,1,8)
  1. W ?39,$E(ERROR,1,13)
  1. W ?54,$E(LINETAG,1,11)
  1. W ?67,$$HTE^XLFDT(HDT,"2DZ")
  1. W ?77,$J(ERRTOT,3)
  1. W !
  1. S LINES=LINES+1
  1. Q
  1. ;
  1. OPENIO ; EP
  1. D HEADERDT^BLRGMENU
  1. D HEADONE(.HD1)
  1. W !
  1. ;
  1. D ^%ZIS
  1. U IO
  1. ;
  1. S MAXLINES=IOSL-4
  1. S LINES=MAXLINES+10
  1. S QFLG="NO"
  1. S (HDT,PG,TOTAL)=0
  1. S (PACKAGE,ERROR,LINETAG,ROUTINE)=""
  1. ;
  1. Q
  1. ;
  1. HEADONE(HD1) ; EP -- Asks if user wants only 1 header line
  1. D ^XBFMK
  1. S DIR("A")="One Header Line ONLY"
  1. S DIR("B")="NO"
  1. S DIR(0)="YO"
  1. D ^DIR
  1. S HD1=$S(+$G(Y)=1:"YES",1:"NO")
  1. Q
  1. ;
  1. NODATES ; EP - No Date Report
  1. NEW ERROR,ERRDATE,ERRDNUM,ERRTOT,HDT,LINETAG,LRLDT,LRSDT,PACKAGE,ROUTINE,STR,TOTAL
  1. NEW HD1,HEADER,LINES,MAXLINES,PG,QFLG
  1. ;
  1. Q:$$ISDATA()="Q"
  1. ;
  1. D NODVINIT
  1. ;
  1. F S PACKAGE=$O(^TMP("BLRERRTR",$J,"NODETAIL",PACKAGE)) Q:PACKAGE=""!(QFLG="Q") D
  1. . F S ERROR=$O(^TMP("BLRERRTR",$J,"NODETAIL",PACKAGE,ERROR)) Q:ERROR=""!(QFLG="Q") D
  1. .. F S LINETAG=$O(^TMP("BLRERRTR",$J,"NODETAIL",PACKAGE,ERROR,LINETAG)) Q:LINETAG=""!(QFLG="Q") D
  1. ... F S ROUTINE=$O(^TMP("BLRERRTR",$J,"NODETAIL",PACKAGE,ERROR,LINETAG,ROUTINE)) Q:ROUTINE=""!(QFLG="Q") D
  1. .... D NODLINER
  1. ;
  1. W:QFLG'="Q" !!,?10,"Total Number of Errors = ",TOTAL,!!
  1. ;
  1. D ^%ZISC
  1. ;
  1. Q:QFLG="Q"
  1. ;
  1. D PRESSKEY^BLRGMENU(4)
  1. Q
  1. ;
  1. NODVINIT ; EP - Report Variables Initialization
  1. NEW BEGDT,ENDDT
  1. ;
  1. K HEADER
  1. S HEADER(1)="Error Trap Report"
  1. ;
  1. S BEGDT=$$HTE^XLFDT($G(^TMP("BLRERRTR",$J,-1)),"5DZ")
  1. S ENDDT=$$HTE^XLFDT($G(^TMP("BLRERRTR",$J,-2)),"5DZ")
  1. ;
  1. S HEADER(2)="Date Range: "_BEGDT_" thru "_ENDDT
  1. ;
  1. D OPENIO
  1. ;
  1. S HEADER(3)=" "
  1. S HEADER(4)="Package"
  1. S $E(HEADER(4),30)="Routine"
  1. S $E(HEADER(4),40)="Error"
  1. S $E(HEADER(4),55)="Line Tag"
  1. S $E(HEADER(4),75)="# Errs"
  1. ;
  1. Q
  1. ;
  1. NODLINER ; EP - Output line of data
  1. I LINES>MAXLINES D HEADERPG^BLRGMENU(.PG,.QFLG,HD1) Q:QFLG="Q"
  1. ;
  1. S ERRTOT=$G(^TMP("BLRERRTR",$J,"NODETAIL",PACKAGE,ERROR,LINETAG,ROUTINE))
  1. S TOTAL=TOTAL+ERRTOT
  1. ;
  1. W $E($$TRIM^XLFSTR(PACKAGE,"LR"," "),1,28)
  1. W ?29,ROUTINE
  1. W ?39,ERROR
  1. W ?54,LINETAG
  1. W ?74,$J(ERRTOT,6)
  1. W !
  1. S LINES=LINES+1
  1. Q
  1. ;
  1. LABDET ; EP - Lab Only Detailed Report
  1. NEW ERROR,ERRDATE,ERRDNUM,ERRTOT,HDT,LINETAG,LRLDT,LRSDT,PACKAGE,ROUTINE,STR,TOTAL
  1. NEW HD1,HEADER,LINES,MAXLINES,PG,QFLG
  1. ;
  1. Q:$$ISDATA()="Q"
  1. ;
  1. D LDETVINI
  1. ;
  1. F S HDT=$O(^TMP("BLRERRTR",$J,"LAB","DETAILED",HDT),-1) Q:HDT<1!(QFLG="Q") D
  1. . F S PACKAGE=$O(^TMP("BLRERRTR",$J,"LAB","DETAILED",HDT,PACKAGE)) Q:PACKAGE=""!(QFLG="Q") D
  1. .. F S ERROR=$O(^TMP("BLRERRTR",$J,"LAB","DETAILED",HDT,PACKAGE,ERROR)) Q:ERROR=""!(QFLG="Q") D
  1. ... F S LINETAG=$O(^TMP("BLRERRTR",$J,"LAB","DETAILED",HDT,PACKAGE,ERROR,LINETAG)) Q:LINETAG=""!(QFLG="Q") D
  1. .... F S ROUTINE=$O(^TMP("BLRERRTR",$J,"LAB","DETAILED",HDT,PACKAGE,ERROR,LINETAG,ROUTINE)) Q:ROUTINE=""!(QFLG="Q") D
  1. ..... D LDETLINR
  1. ;
  1. W:QFLG'="Q" !!,?10,"Total Number of Errors = ",TOTAL,!!
  1. ;
  1. D ^%ZISC
  1. ;
  1. Q:QFLG="Q"
  1. ;
  1. D PRESSKEY^BLRGMENU(4)
  1. Q
  1. ;
  1. LDETVINI ; EP - Lab Only - Detailed Report Variables Initialization
  1. NEW BEGDT,ENDDT
  1. ;
  1. K HEADER
  1. S HEADER(1)="Error Trap Report"
  1. ;
  1. S BEGDT=$$HTE^XLFDT($G(^TMP("BLRERRTR",$J,-1)),"5DZ")
  1. S ENDDT=$$HTE^XLFDT($G(^TMP("BLRERRTR",$J,-2)),"5DZ")
  1. ;
  1. S HEADER(2)="Date Range: "_BEGDT_" thru "_ENDDT
  1. S HEADER(3)=$$CJ^XLFSTR("LAB ONLY Errors",IOM)
  1. ;
  1. D OPENIO
  1. ;
  1. S $E(HEADER(4),68)="Error"
  1. S $E(HEADER(4),78)="#"
  1. S HEADER(5)="Package"
  1. S $E(HEADER(5),30)="Routine"
  1. S $E(HEADER(5),40)="Error"
  1. S $E(HEADER(5),55)="Line Tag"
  1. S $E(HEADER(5),68)="Date"
  1. S $E(HEADER(5),77)="Errs"
  1. ;
  1. S (HDT,PACKAGE,HDT,ERROR,LINETAG,ROUTINE)=""
  1. Q
  1. ;
  1. LDETLINR ; EP - Lab only - Output line of data
  1. I LINES>MAXLINES D HEADERPG^BLRGMENU(.PG,.QFLG,HD1) Q:QFLG="Q"
  1. ;
  1. S ERRTOT=$G(^TMP("BLRERRTR",$J,"LAB","DETAILED",HDT,PACKAGE,ERROR,LINETAG,ROUTINE))
  1. S TOTAL=TOTAL+ERRTOT
  1. ;
  1. W $E($$TRIM^XLFSTR(PACKAGE,"LR"," "),1,27)
  1. W ?29,ROUTINE
  1. W ?39,ERROR
  1. W ?54,LINETAG
  1. W ?67,$$HTE^XLFDT(HDT,"2DZ")
  1. W ?77,$J(ERRTOT,3)
  1. W !
  1. S LINES=LINES+1
  1. Q
  1. ;
  1. LNODATES ; EP - Lab Only - No Date Report
  1. NEW ERROR,ERRDATE,ERRDNUM,ERRTOT,HDT,LINETAG,LRLDT,LRSDT,PACKAGE,ROUTINE,STR,TOTAL
  1. NEW HD1,HEADER,LINES,MAXLINES,PG,QFLG
  1. ;
  1. Q:$$ISDATA()="Q"
  1. ;
  1. D LNODVINI
  1. ;
  1. F S PACKAGE=$O(^TMP("BLRERRTR",$J,"LAB","NODETAIL",PACKAGE)) Q:PACKAGE=""!(QFLG="Q") D
  1. . F S ERROR=$O(^TMP("BLRERRTR",$J,"LAB","NODETAIL",PACKAGE,ERROR)) Q:ERROR=""!(QFLG="Q") D
  1. .. F S LINETAG=$O(^TMP("BLRERRTR",$J,"LAB","NODETAIL",PACKAGE,ERROR,LINETAG)) Q:LINETAG=""!(QFLG="Q") D
  1. ... F S ROUTINE=$O(^TMP("BLRERRTR",$J,"LAB","NODETAIL",PACKAGE,ERROR,LINETAG,ROUTINE)) Q:ROUTINE=""!(QFLG="Q") D
  1. .... D LNODLINR
  1. ;
  1. W:QFLG'="Q" !!,?10,"Total Number of Errors = ",TOTAL,!!
  1. ;
  1. D ^%ZISC
  1. ;
  1. Q:QFLG="Q"
  1. ;
  1. D PRESSKEY^BLRGMENU(4)
  1. Q
  1. ;
  1. LNODVINI ; EP - Lab Only - No Date - Report Variables Initialization
  1. NEW BEGDT,ENDDT
  1. ;
  1. K HEADER
  1. S HEADER(1)="Error Trap Report"
  1. ;
  1. S BEGDT=$$HTE^XLFDT($G(^TMP("BLRERRTR",$J,-1)),"5DZ")
  1. S ENDDT=$$HTE^XLFDT($G(^TMP("BLRERRTR",$J,-2)),"5DZ")
  1. ;
  1. S HEADER(2)="Date Range: "_BEGDT_" thru "_ENDDT
  1. S HEADER(3)=$$CJ^XLFSTR("LAB ONLY",IOM)
  1. S HEADER(4)=" "
  1. ;
  1. D HEADERDT^BLRGMENU
  1. D HEADONE(.HD1)
  1. ;
  1. S HEADER(5)="Package"
  1. S $E(HEADER(5),30)="Routine"
  1. S $E(HEADER(5),40)="Error"
  1. S $E(HEADER(5),55)="Line Tag"
  1. S $E(HEADER(5),75)="# Errs"
  1. ;
  1. D ^%ZIS
  1. U IO
  1. S MAXLINES=IOSL-4
  1. S LINES=MAXLINES+10
  1. S QFLG="NO"
  1. ;
  1. S (HDT,PG,TOTAL)=0
  1. S (PACKAGE,ERROR,LINETAG,ROUTINE)=""
  1. Q
  1. ;
  1. LNODLINR ; EP - Output line of data
  1. I LINES>MAXLINES D HEADERPG^BLRGMENU(.PG,.QFLG,HD1) Q:QFLG="Q"
  1. ;
  1. S ERRTOT=$G(^TMP("BLRERRTR",$J,"LAB","NODETAIL",PACKAGE,ERROR,LINETAG,ROUTINE))
  1. S TOTAL=TOTAL+ERRTOT
  1. ;
  1. W $E($$TRIM^XLFSTR(PACKAGE,"LR"," "),1,28)
  1. W ?29,ROUTINE
  1. W ?39,ERROR
  1. W ?54,LINETAG
  1. W ?74,$J(ERRTOT,6)
  1. W !
  1. S LINES=LINES+1
  1. Q