It is always dangerous when managers write code. They probably got promoted because they couldn't write code to start with... Anyway, the quick way to make this work when you need it is as follows. Before running anything that calls ^XPDR, do the following:
mumps -dir GTM>D ^%RSEL Routine: * ... <runs for a few seconds listing the routines> ... ZTMS0 ZTMS1 ZTMS2 ZTMS3 ZTMS4 ZTMS5 ZTMS7 ZTMSH ZTP1 ZTPP ZTPTCH ZTRDEL ZTRTHV ZU ZUA ZUDTM ZUMSM ZUMSQ ZUONT ZUSET ZUVXD Current total of 23149 routines. Routine: GTM> Now the local variable %ZR has an entry for each routine, thus: GTM>ZWR ... <output truncated for brevity> ... %ZR("ZUMSQ")="/usr/local/OpenVistA/r/" %ZR("ZUONT")="/usr/local/OpenVistA/r/" %ZR("ZUSET")="/usr/local/OpenVistA/r/" %ZR("ZUVXD")="/usr/local/OpenVistA/r/" GTM> So, instead of the line of code: .S XPDJ=XPDI D:$D(^$R(XPDJ)) F S XPDJ=$O(^$R(XPDJ)) Q:XPDJ=""!($P(XPDJ,XPDI)]"") D something like the following should work instead: .S XPDJ=XPDI D:$D(%ZR(XPDJ)) F S XPDJ=$O(%ZR(XPDJ)) Q:XPDJ=""!($P(XPDJ,XPDI)]"") D It should be fairly easy (but more than I can do in 5 minutes right now) to add a label to ^%RSEL that doesn't prompt for input but takes a string as a parameter, so that a construct like DO NOINT^%RSEL("*") could be used to populate %ZR instead of doing it interactively. Watch out for line breaks in the above. -- Bhaskar On Mon, 2005-07-25 at 15:05 -0500, Bhaskar, KS wrote: > You're right. The line of code: > > .S XPDJ=XPDI D:$D(^$R(XPDJ)) F S XPDJ=$O(^$R(XPDJ)) > Q:XPDJ=""!($P(XPDJ,XPDI)]"") D > > is not protected and cannot execute on GT.M. What are the semantics > of > ^$R(XPDJ)? Does it return the next routine in the list of routines? > It > should be a pretty quick fix. > > -- Bhaskar > > On Mon, 2005-07-25 at 14:41 -0500, Greg Woodhouse wrote: > > Look at UPDT^XPDR on your system. On mine, at least, the code to > > $ORDER > > through ^$ROUTINE isn't protected by any check to see if the > platform > > is GT.M. > > > > ------------------------------------------------------- > SF.Net email is sponsored by: Discover Easy Linux Migration > Strategies > from IBM. Find simple to follow Roadmaps, straightforward articles, > informative Webcasts and more! Get everything you need to get up to > speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click > _______________________________________________ > Hardhats-members mailing list > Hardhats-members@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/hardhats-members > ------------------------------------------------------- SF.Net email is sponsored by: Discover Easy Linux Migration Strategies from IBM. Find simple to follow Roadmaps, straightforward articles, informative Webcasts and more! Get everything you need to get up to speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click _______________________________________________ Hardhats-members mailing list Hardhats-members@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hardhats-members