Thanks to those who responded, especially Brian. I tried the program below... Getting mixed results... The first time it worked... Then it did not.
So... Instead of this I will poll our configuration management database to get the needed data. The downside of this approach is that there may be legacy subs that it finds that are not under configuration control. --Bill Brutzman -----Original Message----- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Brian Leach Sent: Wednesday, September 23, 2009 2:52 PM To: 'U2 Users List' Subject: Re: [U2] Reading the Global Catalog Bill There is a very cludgy routine below to get it for UniVerse. However, on some revisions of UniVerse there was a bug that prevented the catalog path being written to the catdir object, so your luck may vary. Brian --- cut here --- PROGRAM GetCatdirPath $OPTIONS PICK Get(Arg.) ProgName Else Crt "Program Name :":; input ProgName if ProgName = "" then GoSub Usage STOP End End OpenSeq "GLOBAL.CATDIR", ProgName To FL Else Crt "Cant open it" STOP End Status FStat From FL Else Crt "Cannot status ":ProgName CloseSeq FL STOP End ObjectLength = FStat<6> ReadBlk Object From FL, ObjectLength Else Crt "Cannot read ":ProgName CloseSeq FL STOP End CloseSeq FL L = ObjectLength Loop While Object[L,1] = Char(0) Do L -= 1 Repeat Path = "" Loop While Object[L,1] <> Char(0) Do Path = Object[L,1]: Path L -= 1 Repeat Crt Path STOP *----------------------------------------------------------------------- ---- * Usage *----------------------------------------------------------------------- ---- Usage: Crt "GetCatdirPath" Crt "=============" Crt Crt "Get original path name from Global catalog entry." Crt Crt "Syntax:" Crt Crt "GetCatdirPath *MyProg" Crt Return --- end cut --- -----Original Message----- From: u2-users-boun...@listserver.u2ug.org [mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Brutzman, Bill Sent: 23 September 2009 19:11 To: U2 Users List Subject: [U2] Reading the Global Catalog Is there a way to programatically... [1] read the global catalog? [2] determine the original path (file folder) of a cataloged (compiled) SubRoutine? In other words, is it possible to do something like... read R.Catalog from F.Catalog, MY.SUB.NAME else R.Catalog = '' My.Sub.Path = R.Catalog<2> Suggestions would be appreciated. --Bill Brutzman _______________________________________________ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users _______________________________________________ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users _______________________________________________ U2-Users mailing list U2-Users@listserver.u2ug.org http://listserver.u2ug.org/mailman/listinfo/u2-users