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

XQTOC.m

Go to the documentation of this file.
  1. XQTOC ;SEA/MJM - Time Out/Continue/Jump Start ;01/10/13 13:42
  1. ;;8.0;KERNEL;**20,157,593,614**;Jul 10, 1995;Build 12
  1. ;Per VHA Directive 2004-038, this routine should not be modified.
  1. ;
  1. S ^XUTL("XQ",$J,1)=XQY_XQPSM_U_XQY0,^("T")=1
  1. Q:XQJS=0
  1. S %=^VA(200,DUZ,202.1) K ^(202.1) S $P(XQJS,U,2)=%,XQY=+%,XQPSM=$P(%,XQY,2,99),XQDIC=$S(XQPSM[",":$P(XQPSM,",",2),1:XQPSM)
  1. I '$D(^XUTL("XQO",XQDIC,"^",XQY)) D NOGO Q
  1. D
  1. .N %
  1. .S %=$G(^XUTL("XQO",XQDIC,"^",XQY))
  1. .I %="" S %=$G(^DIC(19,"AXQ",XQDIC,"^",XQY))
  1. .I %]"" S XQOPTN=$P(%,"^",1,99)
  1. .E D NOGO S XQFAIL=""
  1. .Q
  1. I $D(XQFAIL) K XQFAIL Q
  1. ;
  1. W !!,"You were last executing the '",$P(XQOPTN,U,3),"' menu option."
  1. ASK W !,"Do you wish to resume" S %=1 D YN^DICN I '% W !!,"If you wish to continue at the last option you were executing, enter 'Y',",! G ASK
  1. I %=1
  1. E D NOGO Q
  1. ;
  1. D
  1. .N %
  1. .S %=$G(^XUTL("XQO",XQDIC,"^",XQY))
  1. .I %="" S %=$G(^DIC(19,"AXQ",XQDIC,"^",XQY))
  1. .I %]"" S XQY0=$P(%,"^",2,99)
  1. .E D NOGO S XQFAIL=""
  1. .Q
  1. I $D(XQFAIL) K XQFAIL Q
  1. ;
  1. I $D(^XUTL("XQO",XQDIC,"^",XQY,0)) D
  1. .S XQ=^(0)
  1. .F XQI=1:1:XQ D
  1. ..N %
  1. ..S %=$G(^XUTL("XQO",XQDIC,"^",XQY,0,XQI))
  1. ..I %="" S %=$G(^DIC(19,"AXQ",XQDIC,"^",XQY,0,XQI))
  1. ..I %]"" S XQ(XQI)=%
  1. ..Q
  1. .Q
  1. E S XQ=0
  1. Q
  1. ;
  1. SET ;Set up variables to GO JUMP^XQ72. Enter from ASK1+1^XQ
  1. S %=^XUTL("XQ",$J,1),XQSV=+%_U_+%_U_$P(%,U,2,99)
  1. K XQJS
  1. Q
  1. ;
  1. LOOK ;Look up the Jump Start Entry
  1. F Q:XQUR'[U S XQUR=$P(XQUR,U,2)
  1. I '$L(XQUR) D NOGO Q
  1. D S^XQ75 I 'XQY D NOGO Q
  1. Q
  1. ;
  1. NOGO ;Continue fails: reset to primary menu
  1. S XQY=^XUTL("XQ",$J,"XQM"),XQA3="",XQA=0 K XQCON,XQRE,XQJS,XQUR,XQOPTN
  1. D S1^XQCHK ; Reconstruct XQY0
  1. S $P(^XUTL("XQ",$J,0),U,3)=$P(^(0),U,3)_", NOGO"
  1. Q
  1. ;
  1. ;
  1. CON ;Continue option logic. Enter from ASK^XQ on timeout.
  1. W !!,"Do you want to halt and continue with this option later? YES// " R XQUR:20 S:(XQUR="")!('$T) XQUR="Y"
  1. I "YyNn"'[$E(XQUR,1) W !!," If you enter 'Y' or 'RETURN' you will halt and continue here next time",!," you logon to the computer.",!," If you enter 'N' you will resume processing where you were." G CON
  1. I "Nn"[$E(XQUR,1) W ! S XQUR=0,Y=^XUTL("XQ",$J,"T"),Y=^(Y),XQY0=$P(Y,U,2,99),XQPSM=$P(Y,U,1),(XQY,XQDIC)=+XQPSM,XQPSM=$P(XQPSM,XQY,2,3),XQAA="Select "_$P(XQY0,U,2)_$G(DUZ("TEST"))_" Option: " G ASK^XQ
  1. S X=^XUTL("XQ",$J,^XUTL("XQ",$J,"T")),Y=^("XQM") I (+X'=+Y) S XQM="P"_+Y S XQPSM=$S($D(^XUTL("XQO",XQM,"^",+X)):XQM,$D(^XUTL("XQO","PXU","^",+X)):"PXU",1:"") D:XQPSM="" SS S:XQPSM'="" ^VA(200,DUZ,202.1)=+X_XQPSM
  1. S X=$P($H,",",2),X=(X>41400&(X<46800))
  1. W !!,$P("Great^OK^All right^Well certainly^Fine","^",$R(5)+1),". ",$P("See you later.^I'll be ready when you are.^Hurry back!^Have a nice lunch.","^",$R(3)+X+1)
  1. G H^XUS
  1. ;
  1. SS ;Search Secondaries for a particular option.
  1. Q:'$D(^VA(200,DUZ,203,0)) Q:$P(^VA(200,DUZ,203,0),U,4)<1
  1. S Y=0 F XQI=1:1 Q:XQPSM'="" S Y=$O(^VA(200,DUZ,203,Y)) Q:Y'>0 S %=+^(Y,0) I $D(^XUTL("XQO","P"_%,"^",+X)) S XQPSM="U"_DUZ_",P"_%
  1. Q