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

AUTVDUP.m

Go to the documentation of this file.
  1. AUTVDUP ; IHS/DIR/JDM/DFM - SEARCH FOR DUP EIN NUMBERS IN VENDOR FILE ; [ 06/28/1999 2:24 PM ]
  1. ;;98.1;IHS DICTIONARIES (POINTERS);**2**;MAR 04, 1998;Build 6
  1. ; IHS/ASDST/GTH AUT*98.1*2 - Y2K Fix, display 4-digit year.
  1. ;
  1. I '$G(DUZ) W !,"DUZ UNDEFINED OR 0." Q
  1. D HOME^%ZIS,DT^DICRW
  1. W !!,$$CTR("This report will generate a list of VENDORS whose",80),!,$$CTR("file contains either a DUPLICATE or MISSING EIN.",80)
  1. DEVICE ;Device Selection
  1. W *7,!!,$$CTR("Since this report may take awhile to compile",80),!,$$CTR("it is recommended that you QUEUE to a PRINTER.",80)
  1. K DIR S %ZIS="PQ" W ! D ^%ZIS I POP W !,"NO DEVICE SELECTED - REQUEST ABORTED" S DIR(0)="E" D ^DIR S IOP=$I D ^%ZIS G END:Y=0,DEVICE:Y=1
  1. I '$D(IO("Q")) G CALC
  1. ;
  1. S ZTRTN="CALC^AUTVDUP",ZTDESC="DUPLICATE EIN REPORT"
  1. D ^%ZTLOAD K IO("Q"),ZTSK D HOME^%ZIS
  1. END ;
  1. K DIR,DTOUT,DIROUT,DUOUT,DIRUT,C,I,^TMP($J)
  1. D ^%ZISC S:$D(ZTQUEUED) ZTREQ="@"
  1. Q
  1. CALC ;EP - From TaskMan
  1. NEW AUTBAD,AUTDAT,AUTEIN,AUTPAGE,AUTSKIP,AUTTIM,AUTVNDR
  1. I '$D(ZTQUEUED),'$D(IO("S")) U IO(0) D WAIT^DICD U IO
  1. K ^TMP($J),E,V ; E is EIN, V is IEN
  1. S V=0
  1. F S V=$O(^AUTTVNDR(V)) Q:'V I $D(^AUTTVNDR(V,11)) S ^TMP($J,"DUP",$S($P(^AUTTVNDR(V,11),U):$P(^AUTTVNDR(V,11),U)_$P(^AUTTVNDR(V,11),U,2),1:"NOT ON FILE"),V)=""
  1. I '$D(^TMP($J,"DUP")) G PRINT
  1. S E=0
  1. CHECK1 ; Check EIN.
  1. S E=$O(^TMP($J,"DUP",E))
  1. I E="" K E,V,^TMP($J,"DUP") G PRINT
  1. S V=""
  1. VNDR ; Check vendor(s) with this EIN.
  1. S V=$O(^TMP($J,"DUP",E,V))
  1. G:V="" CHECK1
  1. I '$O(^TMP($J,"DUP",E,V)),'$D(^TMP($J,E)) K ^TMP($J,"DUP",E) G VNDR
  1. S ^TMP($J,E,V)=$S($D(^AUTTVNDR(V,0)):$P(^(0),U),1:"UNKNOWN")
  1. G VNDR
  1. PRINT ;
  1. S (AUTEIN,AUTPAGE,AUTSKIP)=0
  1. D NOW^%DTC,YX^%DTC S AUTDAT=$P(Y,"@",1),AUTTIM=$P(Y,"@",2)
  1. D HEADER,HDR S C=0
  1. I '$D(^TMP($J)) G END
  1. P1 S AUTEIN=$O(^TMP($J,AUTEIN))
  1. G TOTL:'AUTEIN S AUTVNDR=""
  1. I AUTSKIP'=AUTEIN W !
  1. P2 S AUTVNDR=$O(^TMP($J,AUTEIN,AUTVNDR))
  1. G:AUTVNDR="" P1
  1. W !,?12,AUTEIN,?30,$E($P(^TMP($J,AUTEIN,AUTVNDR),U),1,30) S C=C+1
  1. D LSTUSED(AUTVNDR)
  1. I IOST["P-"&($Y>(IOSL-10)) D HEADER,HDR
  1. I IOST["C-",'$D(IO("S"))&($Y>(IOSL-4)) K DIR S DIR(0)="E" W !! D ^DIR Q:Y=0 D HEADER,HDR
  1. S AUTSKIP=AUTEIN
  1. G P2
  1. TOTL W !!,?1,"TOTAL",?30,C
  1. I IOST["C-",'$D(IO("S")) K DIR S DIR(0)="E" W !! D ^DIR Q:Y=0
  1. BADEIN ; Print list of Vendors with no EIN on file
  1. S AUTPAGE=0
  1. D BADHEAD
  1. I '$D(^TMP($J,"NOT ON FILE")) W !!,"Good for YOU!! All VENDORS in your file have EIN's!" G END
  1. S %=0 F S %=$O(^TMP($J,"NOT ON FILE",%)) Q:'$D(^AUTTVNDR(%)) S ^TMP($J,"NOT ON FILE",$P(^AUTTVNDR(%,0),U))="" K ^TMP($J,"NOT ON FILE",%)
  1. W !! S AUTBAD="",C=0
  1. BAD1 S AUTBAD=$O(^TMP($J,"NOT ON FILE",AUTBAD))
  1. G BADTOTL:AUTBAD=""
  1. W !,?12,AUTBAD S C=C+1
  1. I IOST["P-"&($Y>(IOSL-10)) D BADHEAD
  1. I IOST["C-",'$D(IO("S"))&($Y>(IOSL-4)) K DIR S DIR(0)="E" W !! D ^DIR Q:Y=0 D BADHEAD
  1. G BAD1
  1. BADTOTL ;
  1. W !!,?1,"TOTAL",?12,C
  1. I IOST["C-",'$D(IO("S")) K DIR S DIR(0)="E" W !! D ^DIR Q:Y=0
  1. W @IOF
  1. G END
  1. S AUTPAGE=AUTPAGE+1
  1. W @IOF,!,"*",AUTDAT,$$CTR($$LOC,(80-(2*$X))),?80-$L(AUTTIM_"*"),AUTTIM,"*",!,"*User: ",$$USR,$$CTR("DUPLICATE VENDOR EIN - Page "_AUTPAGE,(80-(2*$X))),?80-$L("Device:"_IO_"*"),"Device:",IO,"*",!,$$DUP("*",80)
  1. Q
  1. HDR ;
  1. W !!?12,"VENDOR EIN",?30,"VENDOR NAME",?66,"LAST USED CHS",!,$$DUP("~",80),!
  1. Q
  1. ;
  1. BADHEAD ; Prints heading of missing EIN's
  1. D HEADER
  1. W !!,$$CTR("The following do(es) not have an EIN entry in the VENDOR FILE.",80),!,$$CTR("PLEASE validate and correct.",80),!,$$DUP("~",80),!
  1. Q
  1. ;
  1. LSTUSED(V) ; Checks last used date in ^ACHSF(,"VB"
  1. NEW D,I,L ; I = IEN, L = Location, V = Vendor ien
  1. S L=0
  1. ; begin IHS/ASDST/GTH AUT*98.1*2 - Y2K Fix, display 4-digit year.
  1. ; F S L=$O(^ACHSF(L)) Q:'L S I=0 F S I=$O(^ACHSF(L,"VB",V,I)) Q:'I S D=I
  1. ; Q:'$D(D)
  1. ; S %=$P($G(^ACHSF(I,"D",D,0)),U,2)
  1. ; W ?65,$E(%,4,5),"-",$E(%,6,7),"-",$E(%,2,3)
  1. ;
  1. F Q:'$O(^ACHSF(L)) S L=$O(^ACHSF(L)) S I=0 F S I=$O(^ACHSF(L,"VB",V,I)) Q:'I S D(L)=I
  1. Q:'$D(D)
  1. S %=0
  1. F S %=$O(D(%)) Q:'% S D(%)=$P($G(^ACHSF(%,"D",D(%),0)),U,2)
  1. S (%,D)=0
  1. F S %=$O(D(%)) Q:'% I D(%)>D S D=D(%)
  1. W ?66,$$FMTE^XLFDT(D,5)
  1. ; end IHS/ASDST/GTH AUT*98.1*2 - Y2K Fix, display 4-digit year.
  1. ;
  1. Q
  1. ;
  1. LOC() Q $S($G(DUZ(2)):$S($D(^DIC(4,DUZ(2),0)):$P(^(0),U),1:"UNKNOWN"),1:"DUZ(2) UNDEFINED OR 0")
  1. USR() Q $S($G(DUZ):$S($D(^VA(200,DUZ,0)):$P(^(0),U),1:"UNKNOWN"),1:"DUZ UNDEFINED OR 0")
  1. CTR(X,Y) ; Center X in field of length Y.
  1. S %=$S($D(Y):Y,$D(IOM):IOM,1:80)
  1. Q $J("",%-$L(X)\2)_X
  1. DUP(X,Y) ; Duplicate X for Y times.
  1. S %="",$P(%,X,Y+1)=""
  1. Q %