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

DVBAPEND.m

Go to the documentation of this file.
  1. DVBAPEND ;ALB/GTS-557/THM-PENDING REPORT ; 7/6/90 1:18 PM
  1. ;;2.7;AMIE;**17**;Apr 10, 1995
  1. ;
  1. D NOPARM^DVBAUTL2 G:$D(DVBAQUIT) KILL^DVBAUTIL
  1. TERM D HOME^%ZIS W @IOF,!,"Pending 7131 Report",!!! K NOASK,^TMP($J)
  1. S DVBADD=^DD("DD"),(RONUM,Y)=0 D SORT^DVBAUTIL G:Y<0 KILL
  1. D SORTDIV^DVBAPND1 G:Y<0 KILL S %ZIS="Q" D ^%ZIS K %ZIS G:POP KILL
  1. ;
  1. QUEUE I $D(IO("Q")) S ZTRTN="SETUP^DVBAPEND",ZTIO=ION,ZTDESC="AMIE PENDING REPORT",NOASK=1 F I="DIVNAM","SELDIV","DVBADD","RONUM","RO","NOASK","Y","DIVNUM" S ZTSAVE(I)=""
  1. I $D(IO("Q")) D ^%ZTLOAD W:$D(ZTSK) !!,"Request queued.",!! H 1 G KILL
  1. ;
  1. SETUP D STM^DVBCUTL4
  1. S FDT(0)=$$FMTE^XLFDT(DT,"5DZ"),(PG,DVBAQUIT)=0
  1. S HEAD="PENDING REQUEST REPORT FOR "_$P(^DVB(396.1,1,0),U,1)
  1. S HEAD2=$S(RO="Y":"FOR REGIONAL OFFICE "_RONUM,1:"ALL REGIONAL OFFICES")
  1. S HEAD2=HEAD2_$S(SELDIV="Y":", FOR DIVISION "_DIVNAM,1:", ALL DIVISIONS")
  1. S PROCDT="Processed on: "_FDT(0)
  1. S QQ=1,NODTA=0 U IO D HEADER^DVBAPND1
  1. DATA N REQDTE S REQDTE=""
  1. S:SELDIV="Y" ADIV=DIVNAM
  1. F J=0:0 S REQDTE=$O(^DVB(396,"E",REQDTE)) Q:REQDTE="" F DA=0:0 S DA=$O(^DVB(396,"E",REQDTE,DA)) Q:DA="" I $D(^DVB(396,DA,1)),($P(^DVB(396,DA,1),U,12)="") D:SELDIV="N" ADIV D MAKUTL
  1. S (ADIV,REQDTE)=""
  1. F L=0:0 S REQDTE=$O(^TMP($J,REQDTE)) Q:REQDTE="" D LVL2LP
  1. ;
  1. EXIT I NODTA=0 U IO W *7,"No pending requests found for parameters entered.",!!
  1. ;
  1. KILL S XRTN=$T(+0)
  1. D SPM^DVBCUTL4
  1. K ^TMP("DVBA","ADMIT",$J),^TMP($J),DVBAQUIT,SELDIV,DIVNUM,REQDTE
  1. K LPCNT1,PATDA,DIVNAM,XJ,XI,GDIVPTR,GDIVNUM,GINSTPT,GDIVNAM,GDIV
  1. D:$D(ZTQUEUED) KILL^%ZTLOAD G KILL^DVBAUTIL
  1. Q
  1. ;
  1. LVL2LP ; ** 2nd level of the 2nd loop in the DATA tag - search ADIV **
  1. F J=0:0 S ADIV=$O(^TMP($J,REQDTE,ADIV)) Q:ADIV="" D LPLVL3
  1. Q
  1. ;
  1. LPLVL3 ; ** 2nd level of the loop in the LVL2LP tag - search DA **
  1. F DA=0:0 S DA=$O(^TMP($J,REQDTE,ADIV,DA)) Q:DA="" D PRINT^DVBAPND1 S:DVBAQUIT=1 ADIV="ZZZZ",DA=999999999,REQDTE=9999999 S QQ=1
  1. Q
  1. ;
  1. MAKUTL ; ** Sort on Request Date to set up a temporary utility global **
  1. S REQDTE=$P(^DVB(396,DA,1),"^",1),PATDA=$P(^DVB(396,DA,0),"^",1)
  1. S CFLOC=$$STATION^DVBAUTL1(PATDA)
  1. S:CFLOC=-1 CFLOC=0
  1. I SELDIV="Y"&(RO="Y") I CFLOC=RONUM D CHKDIV D:$D(DVBAFND) SETARY
  1. I SELDIV="Y"&(RO="N") D CHKDIV D:$D(DVBAFND) SETARY
  1. I SELDIV="N"&(RO="Y") I CFLOC=RONUM D SETARY
  1. I SELDIV="N"&(RO="N") D SETARY
  1. K DVBAFND
  1. QUIT
  1. ;
  1. SETARY ; ** Set temporary utility global **
  1. S ^TMP($J,REQDTE,ADIV,DA)=""
  1. QUIT
  1. ;
  1. ADIV S ADIV=$S($D(^DVB(396,DA,2)):$P(^(2),U,9),1:"") S ADIV=$S($D(^DG(40.8,+ADIV,0)):$P(^(0),U,1),1:"Unknown Division")
  1. Q
  1. ;
  1. CHKDIV ;**Check for selected Div
  1. N FLDVAR
  1. I $D(^DVB(396,DA,6)) DO
  1. .F FLDVAR=7,9,11,13,15,17,19,21,23,26,28 Q:$D(DVBAFND) DO
  1. ..I ($P(^DVB(396,DA,6),U,FLDVAR)=DIVNUM) DO
  1. ...I FLDVAR=7 S:$P(^DVB(396,DA,1),U,FLDVAR)="P" DVBAFND=""
  1. ...I FLDVAR'=7 S:$P(^DVB(396,DA,0),U,FLDVAR)="P" DVBAFND=""
  1. I $D(^DVB(396,DA,2)),('$D(DVBAFND)) DO ;**Check Routing Loc Division
  1. .I $D(^DVB(396,DA,1)) DO
  1. ..I $P(^DVB(396,DA,2),U,9)=DIVNUM,($P(^DVB(396,DA,1),U,12)="") DO
  1. ...S DVBAFND=""
  1. Q