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

VALM2.m

Go to the documentation of this file.
  1. VALM2 ;ALB/MJK - List Manager Utilities;08:52 PM 17 Jan 1993
  1. ;;1;List Manager;;Aug 13, 1993
  1. ;
  1. SEL ; -- select w/XQORNOD(0) defined
  1. D EN(XQORNOD(0)) Q
  1. ;
  1. EN(VALMNOD,VALMDIR) ; -- generic selector
  1. ; input passed: VALMNOD := var in XQORNOD(0) format
  1. K VALMY
  1. I '$D(VALMDIR) N VALMDIR S VALMDIR=""
  1. S BG=+$O(@VALMAR@("IDX",VALMBG,0))
  1. S LST=+$O(@VALMAR@("IDX",VALMLST,0))
  1. I BG,BG=LST,$P($P(VALMNOD,U,4),"=",2)="",VALMDIR'["O" S VALMY(BG)="" G ENQ ; -- only one entry
  1. I 'BG W !!,*7,"There are no '",VALM("ENTITY"),"s' to select.",! S DIR(0)="E" D ^DIR K DIR D OUT G ENQ
  1. S Y=$$PARSE(.VALMNOD,.BG,.LST)
  1. I 'Y S DIR(0)=$S(VALMDIR'["S":"L",1:"N")_$S(VALMDIR["O":"O",1:"")_"^"_BG_":"_LST,DIR("A")="Select "_VALM("ENTITY")_$S(VALMDIR["S":"",1:"(s)") D ^DIR K DIR I $D(DIRUT) D OUT G ENQ
  1. ;
  1. ; -- check was valid entries
  1. S VALMERR=0
  1. F I=1:1 S X=$P(Y,",",I) Q:'X D
  1. .I '$O(@VALMAR@("IDX",X,0))!(X<BG)!(X>LST) D
  1. ..W !,*7,">>> Selection '",X,"' is not a valid choice."
  1. ..S VALMERR=1
  1. I VALMERR D PAUSE^VALM1 G ENQ
  1. ;
  1. F I=1:1 S X=$P(Y,",",I) Q:'X S VALMY(X)=""
  1. ENQ K Y,X,BG,VALMERR,LST,DIRUT,DTOUT,DUOUT,DIROUT Q
  1. ;
  1. PARSE(VALMNOD,BEG,END) ; -- split out pre-answers from user
  1. N Y,J,L,X
  1. S Y=$TR($P($P(VALMNOD,U,4),"=",2),"/\; .",",,,,,")
  1. I Y["-" S X=Y,Y="" F I=1:1 S J=$P(X,",",I) Q:J']"" I +J>(BEG-1),+J<(END+1) S:J'["-" Y=Y_J_"," I J["-",+J,+J<+$P(J,"-",2) F L=+J:1:+$P(J,"-",2) I L>(BEG-1),L<(END+1) S Y=Y_L_","
  1. Q Y
  1. ;
  1. OUT ; -- set variables to quit
  1. S VALMBCK=$S(VALMCC:"",1:"R")
  1. Q
  1. ;
  1. N VALMX
  1. S VALMX=$G(^DISV($S($D(DUZ)#2:DUZ,1:0),"VALMMENU",VALM("PROTOCOL"))) S:VALMX="" (VALMX,^(VALM("PROTOCOL")))=1
  1. W ! S DIR(0)="Y",DIR("A")="Do you wish to turn auto-display "_$S(VALMX:"'OFF'",1:"'ON'")_" for this menu",DIR("B")="NO" D ^DIR K DIR
  1. I Y S (VALMMENU,^DISV($S($D(DUZ)#2:DUZ,1:0),"VALMMENU",VALM("PROTOCOL")))='VALMX
  1. D FINISH^VALM4
  1. Q
  1. ;
  1. HELP ; -- help entry point
  1. N VALMANS,VALMHLP
  1. S VALMANS=X N X ; save answer
  1. S VALMHLP=$G(^TMP("VALM DATA",$J,VALMEVL,"HLP")),X=VALMANS
  1. I VALMHLP]"" X VALMHLP
  1. I VALMHLP="",VALM("TYPE")=2 S VALMANS="??"
  1. I VALMHLP="",VALM("TYPE")'=2 S X="?" D DISP^XQORM1,PAUSE^VALM1
  1. I $P($G(VALMKEY),U,2)]"",VALMANS["??" D FULL^VALM1,KEYS,PAUSE^VALM1 S VALMBCK="R"
  1. D:$G(VALMBCK)="R" REFRESH^VALM K VALMBCK
  1. D:VALMCC RESET^VALM4
  1. D SHOW^VALM W !
  1. Q
  1. ;
  1. KEYS ; -- hidden key help
  1. W !,"The following actions are also available:"
  1. N XQORM,ORULT S XQORM=$O(^ORD(101,"B",$P(VALMKEY,U,2),0))_";ORD(101,"
  1. I '$D(^XUTL("XQORM",XQORM)) D XREF^XQORM K ORULT ; build ^XUTL nodes
  1. D DISP^XQORM1:XQORM
  1. Q