Every routines stores directly in database, so, you can't just open it as any file on your filesystem as well as you do it with csp files.
but you can open it with %RoutineMgr class, something like this
USER>zn "samples"
SAMPLES>set rtn=##class(%RoutineMgr).%OpenId("hello.mac")
SAMPLES>while 'rtn.Code.AtEnd { write !,rtn.Code.ReadLine()}
hello ; hello world routine
write !, "hello world"
write !, "bye"
end quit ; end
if you also need to get list of such files, you can use query StudioOpenDialog in %RoutineMgr class
SAMPLES>set st=##class(%SQL.Statement).%New()
SAMPLES>set sc=st.%PrepareClassQuery("%RoutineMgr","StudioOpenDialog")
SAMPLES>set rs=st.%Execute("*.mac")
SAMPLES>do rs.%Display()
Dumping result #1
Name IsDirectory Type Size Date Description IconType
DocBook . 9 0
badroutine.mac 0 62 2004-09-28 13:05:45 0
CinemaData.mac 0 10258 2016-05-10 22:32:04 0
compareloop.mac 0 1201 2004-12-02 18:23:57 0
datent.mac 0 3089 2002-01-03 12:05:01 0
datentobj.mac 0 2627 2002-09-06 00:15:23 0
dbconvert.mac 0 1532 2002-01-03 12:05:52 0
fibonacci.mac 0 365 2002-01-03 12:06:03 0
forexample.mac 0 502 2004-11-30 16:00:08 0
funcexample.mac 0 333 2002-01-03 12:06:30 0
hello.mac 0 251 2016-07-13 12:07:04.520803 0
LDAP.mac 0 68720 2013-12-16 11:48:09.962335 0
lookup.mac 0 8484 2008-08-21 19:17:48 0
lookup1.mac 0 1465 2002-01-03 12:07:15 0
lookup2.mac 0 5984 2002-01-07 18:08:46 0
lookupobj.mac 0 7857 2008-08-21 21:58:25 0
loopend.mac 0 242 2002-01-03 12:08:12 0
loopstart.mac 0 217 2002-01-03 12:08:21 0
nameloop.mac 0 552 2002-01-03 12:08:33 0
passbyref.mac 0 604 2002-01-07 12:01:47 0
postcond.mac 0 341 2002-01-03 12:08:51 0
procexample.mac 0 423 2002-01-03 12:08:59 0
publicvarsexample.mac 0 357 2002-01-03 12:09:09 0
RightTriangle.mac 0 1836 2011-02-24 18:56:29 0
root.mac 0 149 2004-11-30 15:57:29 0
simpleloop.mac 0 161 2002-01-03 12:09:59 0
SQLGatewayTest.mac 0 2480 2016-05-10 22:32:04 0
survivor.mac 0 179 2002-01-03 12:10:32 0
ZAUTHENTICATE.mac 0 37302 2015-03-10 10:48:43.589807 0
ZAUTHORIZE.mac 0 12120 2016-05-10 22:32:04 0
30 Rows(s) Affected- Log in to post comments



