Mumpster
http://mumpster.org/

WorldVistA ZTMGRSET, modified for OpenVMS
http://mumpster.org/viewtopic.php?f=16&t=1634
Page 1 of 1

Author:  jollis [ Wed Aug 24, 2011 6:43 pm ]
Post subject:  WorldVistA ZTMGRSET, modified for OpenVMS

BACKGROUND

The ZTMGRSET routine, which is the starting place for configuring a VistA instance, has only limited support for GT.M on OpenVMS.

R^ZTMGRSET is the routine which parses GTM$ROUTINES (the OpenVMS equivalent of $gtmroutines on Linux).

Under Linux, you can specify gtmroutines=/object/directory(/routines/directory), which tells GT.M to source routines from /routines/directory and place their .o files in /object/directory.

Under OpenVMS, the same result can be achieved by setting GTM$ROUTINES to DEV:[OBJECT.DIRECTORY]/SRC=DEV:[ROUTINES.DIRECTORY].

However, R^ZTMGRSET is, by default, ignorant of the /SRC qualifier, as shown below: (GT.M on VMS is the platform when ZTOS=7)

Code:
R() ; routine directory for GT.M
 ;Q d(1) ;WVEHR/SO Commented out
 I ZTOS=7 Q $P($ZRO,",")
 I ZTOS=8 Q $P($S($ZRO["(":$P($P($ZRO,"(",2),")"),1:$ZRO)," ")_"/"
 E  Q ""
 ;


The offending line is:

Code:
I ZTOS=7 Q $P($ZRO,",")


I have modified it as follows:

Code:
R()     ; routine directory for GT.M
        ;Q d(1) ;WVEHR/SO Commented out
        N RTNS
        N RTNOUT
        I ZTOS=7 D
        .S RTNS=$P($ZRO,",")
        .I $L(RTNS,"/SRC=")>1 S RTNOUT=$P(RTNS,"/SRC=",2)
        I ZTOS=7 Q RTNOUT
        I ZTOS=8 Q $P($S($ZRO["(":$P($P($ZRO,"(",2),")"),1:$ZRO)," ")_"/"
        E  Q ""


This allows ZTMGRSET to successfully rename the platform-specific routines, as shown below:

Code:
ZTMGRSET Version 8.0 Patch level **34,36,69,94,121,127,136,191,275,355**
HELLO! I exist to assist you in correctly initializing the current account.

This is namespace or uci EHR,EHR.
Should I continue? N//Y
I think you are using GT.M (VMS)
Which MUMPS system should I install?

1 = VAX DSM(V6), VAX DSM(V7)
2 = MSM-PC/PLUS, MSM for NT or UNIX
3 = Cache (VMS, NT, Linux), OpenM-NT
4 = Datatree, DTM-PC, DT-MAX
5 =
6 =
7 = GT.M (VMS)
8 = GT.M (Unix)
System: 7// 7

I will now rename a group of routines specific to your operating system.
Routine: ZOSVGTM      Loaded, Saved as %ZOSV
Routine:
Routine: ZIS4GTM      Loaded, Saved as %ZIS4
Routine: ZISFGTM      Loaded, Saved as %ZISF
Routine: ZISHGTM      Loaded, Saved as %ZISH
Routine: XUCIGTM      Loaded, Saved as %XUCI
Routine: ZISETGTM     Missing
Routine: ZOSV2GTM     Loaded, Saved as %ZOSV2
Routine: ZISTCPS      Loaded, Saved as %ZISTCPS
Routine: ZTMDCL       Loaded, Saved as ZTMDCL


Any feedback/critiques/reviews are appreciated!

Page 1 of 1 All times are UTC - 8 hours [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/