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

BNIGVLP.m

Go to the documentation of this file.
  1. BNIGVLP ; IHS/CMI/LAB - print bni general retrieval ;
  1. ;;1.0;BNI CPHD ACTIVITY DATASYSTEM;;DEC 20, 2006
  1. START ;EP - Set up header line, dash line
  1. S BNIGFCNT=0
  1. S BNIIOSL=$S($G(BNIGUI):55,1:$G(IOSL))
  1. I BNIGCTYP="L" D DELIMIT^BNIGVLP8 Q
  1. S X=0,BNIGHEAD="" F S X=$O(^BNIRTMP(BNIGRPT,12,X)) Q:X'=+X S BNIGHDR=$P(^BNIGRI($P(^BNIRTMP(BNIGRPT,12,X,0),U),0),U,6),BNIGLENG=$P(^BNIRTMP(BNIGRPT,12,X,0),U,2),BNIGHDR=$E(BNIGHDR,1,BNIGLENG) D
  1. .S J=$L(BNIGHDR),BNIGHEAD=BNIGHEAD_BNIGHDR,K=$P(^BNIRTMP(BNIGRPT,12,X,0),U,2)+1 F I=J:1:K S BNIGHEAD=BNIGHEAD_" "
  1. .Q
  1. S BNIGDASH="",$P(BNIGDASH,"-",BNIGTCW)="-"
  1. D COVPAGE^BNIGVLP1 ;print cover page - note: if user ^'s out of cover page, processing continues
  1. PROC ;process printing of report
  1. I BNIGCTYP="T" G DONE ;--- if displaying only total, that was done in the cover page - go to done
  1. I BNIGCTYP="C" G DONE ;--- if doing a template, that's already done so goto done
  1. S BNIGPG=0 I '$D(^XTMP("BNIGVL",BNIGJOB,BNIGBTH)) G DONE
  1. S (BNIGSRTV,BNIGFRST)="" K BNIGQUIT
  1. D HEAD F S BNIGSRTV=$O(^XTMP("BNIGVL",BNIGJOB,BNIGBTH,"DATA HITS",BNIGSRTV)) Q:BNIGSRTV=""!($D(BNIGQUIT)) D V
  1. G:$D(BNIGQUIT) DONE
  1. I $Y>(BNIIOSL-4) D HEAD G:$D(BNIGQUIT) DONE
  1. I $D(BNIGRCNT) W !!!,"Total CPHAD Activity records: ",BNIGRCNT
  1. DONE ;
  1. D DONE^BNIGVLP2
  1. Q
  1. V ;GETS DATA HITS
  1. S BNIGSCNT=0
  1. ;get readable sort value
  1. K BNIGPRNT
  1. S BNIGSRTR="",BNIGVIEN=$O(^XTMP("BNIGVL",BNIGJOB,BNIGBTH,"DATA HITS",BNIGSRTV,0)) I BNIGVIEN]"" S BNIGCRIT=BNIGSORT D
  1. .I BNIGPTVS="R" S BNIGVREC=^BNIREC(BNIGVIEN,0) X:$D(^BNIGRI(BNIGSORT,3)) ^(3) S BNIGSRTR=BNIGPRNT
  1. I $G(BNIGSPAG)!($D(BNIGFRST)) D HEAD Q:$D(BNIGQUIT)
  1. K BNIGFRST
  1. S BNIGVIEN=0 F S BNIGVIEN=$O(^XTMP("BNIGVL",BNIGJOB,BNIGBTH,"DATA HITS",BNIGSRTV,BNIGVIEN)) Q:BNIGVIEN'=+BNIGVIEN!($D(BNIGQUIT)) D
  1. .I BNIGPTVS="R" S BNIGVREC=^BNIREC(BNIGVIEN,0) D PRINT Q
  1. .Q
  1. Q:$D(BNIGQUIT)
  1. I $Y>(BNIIOSL-3) D HEAD Q:$D(BNIGQUIT)
  1. I $G(BNIGSPAG) W !!,"SUB-TOTAL for ",BNIGSORV," ",BNIGSRTR,": ",BNIGSCNT I BNIGCTYP="S",(BNIGPTVS="R") W !,?10,$E(BNIGSRTR,1,30),?45,$J(BNIGSCNT,8)
  1. I BNIGCTYP="S" W !,?10,$E(BNIGSRTR,1,30),?45,$J(BNIGSCNT,8)
  1. Q
  1. PRINT ;
  1. S BNIGSCNT=BNIGSCNT+1 Q:BNIGCTYP="S"
  1. K ^XTMP("BNIGLINE",$J) S ^XTMP("BNIGLINE",$J,1)=""
  1. I $Y>(BNIIOSL-5) D HEAD Q:$D(BNIGQUIT)
  1. S BNIGI=0 F S BNIGI=$O(^BNIRTMP(BNIGRPT,12,BNIGI)) Q:BNIGI'=+BNIGI!($D(BNIGQUIT)) S BNIGCRIT=$P(^BNIRTMP(BNIGRPT,12,BNIGI,0),U) D
  1. .I '$P(^BNIGRI(BNIGCRIT,0),U,8) D SINGLE Q
  1. .D MULT
  1. .Q
  1. S BNIGX=0 F S BNIGX=$O(^XTMP("BNIGLINE",$J,BNIGX)) Q:BNIGX'=+BNIGX!($D(BNIGQUIT)) D
  1. .I $Y>(BNIIOSL-4) D HEAD Q:$D(BNIGQUIT)
  1. .W !,^XTMP("BNIGLINE",$J,BNIGX)
  1. Q
  1. SINGLE ;process single valued item
  1. K BNIGPRNT
  1. S BNIGX=0
  1. X:$D(^BNIGRI(BNIGCRIT,3)) ^(3)
  1. S BNIGLENG=$P(^BNIRTMP(BNIGRPT,12,BNIGI,0),U,2),BNIGPRNT=$E(BNIGPRNT,1,BNIGLENG) D
  1. .S J=$L(BNIGPRNT),^XTMP("BNIGLINE",$J,1)=^XTMP("BNIGLINE",$J,1)_BNIGPRNT,K=$P(^BNIRTMP(BNIGRPT,12,BNIGI,0),U,2)+1 F I=J:1:K S ^XTMP("BNIGLINE",$J,1)=^XTMP("BNIGLINE",$J,1)_" "
  1. .S X=1 F S X=$O(^XTMP("BNIGLINE",$J,X)) Q:X'=+X I $L(^XTMP("BNIGLINE",$J,X))<$L(^XTMP("BNIGLINE",$J,1)) S K=$L(^XTMP("BNIGLINE",$J,X))+1,J=$L(^XTMP("BNIGLINE",$J,1)) F I=K:1:J S ^XTMP("BNIGLINE",$J,X)=^XTMP("BNIGLINE",$J,X)_" "
  1. Q
  1. MULT ;
  1. K BNIGPRNT,BNIGPRNM,BNIGY S (BNIGX,BNIGPCNT)=0
  1. X:$D(^BNIGRI(BNIGCRIT,3)) ^(3)
  1. I '$D(BNIGPRNM) S BNIGPRNT="--" D
  1. .S BNIGLENG=$P(^BNIRTMP(BNIGRPT,12,BNIGI,0),U,2),BNIGPRNT=$E(BNIGPRNT,1,BNIGLENG) D
  1. ..S J=$L(BNIGPRNT),^XTMP("BNIGLINE",$J,1)=^XTMP("BNIGLINE",$J,1)_BNIGPRNT,K=$P(^BNIRTMP(BNIGRPT,12,BNIGI,0),U,2)+1 F I=J:1:K S ^XTMP("BNIGLINE",$J,1)=^XTMP("BNIGLINE",$J,1)_" "
  1. S X=0 F S X=$O(BNIGPRNM(X)) Q:X'=+X D
  1. .I X=1 D Q
  1. ..S BNIGLENG=$P(^BNIRTMP(BNIGRPT,12,BNIGI,0),U,2),BNIGPRNT=$E(BNIGPRNM(1),1,BNIGLENG) D
  1. ...S J=$L(BNIGPRNT),^XTMP("BNIGLINE",$J,1)=^XTMP("BNIGLINE",$J,1)_BNIGPRNT,K=$P(^BNIRTMP(BNIGRPT,12,BNIGI,0),U,2)+1 F I=J:1:K S ^XTMP("BNIGLINE",$J,1)=^XTMP("BNIGLINE",$J,1)_" "
  1. .S BNIGLENG=$P(^BNIRTMP(BNIGRPT,12,BNIGI,0),U,2),BNIGPRNT=$E(BNIGPRNM(X),1,BNIGLENG) D
  1. ..I '$D(^XTMP("BNIGLINE",$J,X)) S ^XTMP("BNIGLINE",$J,X)="",K=$P(^BNIRTMP(BNIGRPT,12,BNIGI,0),U,2)+1,$P(^XTMP("BNIGLINE",$J,X)," ",($L(^XTMP("BNIGLINE",$J,1))-K))=""
  1. ..S J=$L(BNIGPRNT),^XTMP("BNIGLINE",$J,X)=^XTMP("BNIGLINE",$J,X)_BNIGPRNT,K=$P(^BNIRTMP(BNIGRPT,12,BNIGI,0),U,2)+1 F I=J:1:K S ^XTMP("BNIGLINE",$J,X)=^XTMP("BNIGLINE",$J,X)_" "
  1. S X=1 F S X=$O(^XTMP("BNIGLINE",$J,X)) Q:X'=+X I $L(^XTMP("BNIGLINE",$J,X))<$L(^XTMP("BNIGLINE",$J,1)) S K=$L(^XTMP("BNIGLINE",$J,X))+1,J=$L(^XTMP("BNIGLINE",$J,1)) F I=K:1:J S ^XTMP("BNIGLINE",$J,X)=^XTMP("BNIGLINE",$J,X)_" "
  1. Q
  1. DIQ ;
  1. K BNIGPRNT,BNIGFILE,BNIGFIEL
  1. S BNIGFILE=$P($P(^BNIGRI(BNIGCRIT,0),U,4),","),BNIGFIEL=$P($P(^(0),U,4),",",2)
  1. S DIQ(0)="EN",DIQ="BNIGPRNT(",DIC=BNIGFILE,DR=BNIGFIEL D EN^DIQ1 K DIC,DR,DIQ
  1. I '$D(BNIGPRNT(BNIGFILE,DA,BNIGFIEL,"E")) S BNIGPRNT(BNIGFILE,DA,BNIGFIEL,"E")="--"
  1. S BNIGPRNT=BNIGPRNT(BNIGFILE,DA,BNIGFIEL,"E")
  1. Q
  1. D HEAD^BNIGVLP2
  1. Q