How to obtain a list of procedure names


#1

What is the simplest way of generating a list of a database’s procedure names? I can do it via the exportallprocedures statement but I’m sure there’s a more direct way.


#2

For the current database, use:

dbinfo("procedures","")

For any other open database, make the second parameter the database name.


Tip: It’s super easy to get at the source of any statement written in Panorama code, which includes exportallprocedures. Since you knew exportallprocedures does what you want, you could look at the source to answer your question. (Of course, then everybody else wouldn’t get to find out the answer! But if you’re in a rush, this tip might help someone find the answer even faster than posting here.)

First, press Command-Shift-O, which is *View>Open View.

Next, make sure +Libraries is selected (at the top of Open View).

Start typing in the statement name. In this case, typing exporta is enough. Then just double click on ExportAllProcedures and voila!, the source code appears. It’s really much faster than even reading my description. Now you can easily see that this statement is using dbinfo( to get this list.

Even if you aren’t planning to change a custom statement, it still can be valuable to peek inside and take a look, and also as inspiration for your own code.


#3

For some reason, I can never remember the dbinfo( function. Also, your tip is very helpful - thanks.

A perennial problem I’ve had with OpenView is that, if I make the window larger (to display more listings), I get the dreaded beachball, usually to the extent that I have to force quit Panorama X. Can anybody else replicate this behaviour?


#4

It works ok for me. However, if you turn on the Full Source option it definitely gets a lot slower, and if you also have +Libraries on, you may see beachballs. It’s just searching a lot of stuff! Sometimes if I want to do a full source search I will leave that option off, type in my search and then turn on Full Source, so it only does the full source search once, and not for every key.


#5

If I exclude libraries, I can expand the window instantly and choosing libraries fills instantly. Doing it in the reverse order gives me a beachball for a very long time. I have never chosen Full Source.

It’s not a big problem.