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

XUTMRP1.m

Go to the documentation of this file.
  1. XUTMRP1 ;SFISC/RWF,BOSTON/MEF - REQUEUE ALL TASKS FOR A DEVICE PART TWO ;06/11/2001 11:12
  1. ;;8.0;KERNEL;**2,86,120,169**;Jul 10, 1995
  1. ;called by XUTMRP
  1. W !
  1. WTSK I WAIT S ZTDH="" F S ZTDH=$O(^%ZTSCH("IO",OLDLTA,ZTDH)),ZTSK="" Q:ZTDH="" F S ZTSK=$O(^%ZTSCH("IO",OLDLTA,ZTDH,ZTSK)) Q:ZTSK="" D
  1. . L +^%ZTSK(ZTSK) S DEVNAM=$P($P(^%ZTSK(ZTSK,.2),";"),U)
  1. . D CONF:'$D(CONFDEV(DEVNAM)),REQ S:$G(REPNT) ^TMP($J,ZTSK)=""
  1. . L -^%ZTSK(ZTSK) Q
  1. S WAIT=0
  1. ;
  1. FTSK I FUT S TT="" F S TT=$O(^%ZTSCH(TT)) Q:TT=""!($E(TT)'?1N) F ZTSK=0:0 S ZTSK=$O(^%ZTSCH(TT,ZTSK)) Q:'ZTSK L +^%ZTSK(ZTSK) D L -^%ZTSK(ZTSK)
  1. . D WT
  1. . I $D(^%ZTSK(ZTSK,0))#2 S DEVNAM=$P($P($G(^(.2)),";"),U) I DEVNAM]"",$D(OLDDEV(DEVNAM)) I $$DATCK D
  1. .. S ZTDTH=$P(^(0),U,6)
  1. .. D CONF:'$D(CONFDEV(DEVNAM))
  1. .. I $G(REPNT) Q:$D(^TMP($J,ZTSK)) ;Already requeued
  1. .. D REQ
  1. .. Q
  1. . Q
  1. ;
  1. OPT I $G(OPT) S TT="" F S TT=$O(^DIC(19.2,TT)) Q:TT'>0 D
  1. . S T1=$G(^DIC(19.2,TT,0)),DEVNAM=$P($P(T1,U,3),";")
  1. . Q:DEVNAM="" Q:'$D(OLDDEV(DEVNAM)) L +^DIC(19.2,TT,0)
  1. . S X=NEWDEV(DEVNAME)_";"_$P($P(T1,U,3),";",2,99)
  1. . S $P(^DIC(19.2,TT,0),U,3)=X
  1. . L -^DIC(19.2,TT,0)
  1. . Q
  1. ;
  1. END Q ;return to XUTMRP
  1. ;
  1. WT S FLAG=1+$G(FLAG)#10 W:'FLAG "."
  1. Q
  1. ;
  1. REQ Q:'$D(CONFDEV(DEVNAM))
  1. I $G(XUTMDTH) S ZTDTH=XUTMDTH
  1. S ZTIO=NEWDEV(CONFDEV(DEVNAM)) D REQ^%ZTLOAD K ZTDTH
  1. Q:'ZTSK(0)
  1. W !!,"Requeued ",$S(WAIT:"waiting ",1:""),"task #",ZTSK," to device ",CONFDEV(DEVNAM),!
  1. Q
  1. ;
  1. CONF ;Build the CONFDEV array
  1. S DEV="" F S DEV=$O(NEWDEV(DEV)) Q:DEV="" D
  1. . I $D(OLDDEV(DEVNAM)),$P(OLDDEV(DEVNAM),";",3,4)=$P(NEWDEV(DEV),";",3,4) S CONFDEV(DEVNAM)=DEV
  1. . Q
  1. Q:$D(CONFDEV(DEVNAM))>0 ;Have a mapping
  1. ;Get user input
  1. D ASKD Q:Y'>0
  1. S CONFDEV(DEVNAM)=DEV,IOP=DEV D D0^XUTMRP S NEWDEV(DEV)=ZTIO,II=""
  1. F S II=$O(OLDDEV(II)) Q:II="" D
  1. . Q:'$D(OLDDEV(DEVNAM))
  1. . I $P(OLDDEV(DEVNAM),";",3,4)=$P(OLDDEV(II),";",3,4),$D(CONFDEV(DEVNAM)) S CONFDEV(II)=CONFDEV(DEVNAM)
  1. ;
  1. Q
  1. ASKD ;For devices that don't match ask user
  1. W !!,"I can't find a printer for task #",ZTSK,!," with old device ",DEVNAM," with the correct parameters."
  1. I $D(OLDDEV(DEVNAM)) W !," (MARGIN= ",$P(OLDDEV(DEVNAM),";",3),"/ PAGE LENGTH= ",$P(OLDDEV(DEVNAM),";",4)," )."
  1. W !,"Where should I print it?",! D ASKD^XUTMRP(),DTSK:Y'>0
  1. Q
  1. DTSK D LIST Q:'$G(ZTC)
  1. ASK W !!,"You didn't select a device. Do you want to delete the task"
  1. S %=2 D YN^DICN I %'>0 S XQH="XUTM DELETE TASK" D ^XQH G ASK
  1. S DEL=(%=1) I 'DEL D
  1. . S DIR(0)="Y",DIR("A")="Do you want another chance to select a device"
  1. . S DIR("B")="Yes" D ^DIR K DIR
  1. . Q:$D(DIRUT) Q:'Y
  1. . D ASKD^XUTMRP()
  1. Q:'DEL
  1. D DQ^%ZTLOAD
  1. I ZTSK(0) W !,"Task #",ZTSK," deleted."
  1. Q
  1. DATCK() N X S X=$$HTFM^XLFDT($P(^%ZTSK(ZTSK,0),U,6))
  1. Q X'<SDT&(X'>EDT)
  1. ;
  1. LIST ;List a task.
  1. N DIR,DIRUT,DTOUT,DUOUT
  1. S ZTC=0 I $D(^%ZTSK(ZTSK)) D EN^XUTMTP(ZTSK) S ZTC=1
  1. I 'ZTC W !!?5,"That task is not defined in this volume set's Task File."
  1. Q