It is currently Thu Nov 23, 2017 7:40 am


All times are UTC - 8 hours [ DST ]




Post new topic Reply to topic  [ 1 post ] 
Author Message
 Post subject: WorldVistA ZTMGRSET, modified for OpenVMS
PostPosted: Wed Aug 24, 2011 6:43 pm 
User avatar

Joined: Mon Nov 01, 2010 1:39 pm
Posts: 47
Real Name: John Willis
Began Programming in MUMPS: 01 Apr 2010
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!

_________________
John Willis, Founder
Coherent Logic Development
http://youngmumpster.wordpress.com/
jwillis@coherent-logic.com


Top
Offline Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 1 post ] 

All times are UTC - 8 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Theme created StylerBB.net