|Contents:||Main||Chapter||See Also:||Getting Started Manual||Advanced User Manual|
Certain modules within VA FileMan are callable by other M routines. This is true of these Classic FileMan routines which are referred to as "Callable Routines" and are described in this chapter.
Database Server (DBS) calls are also callable by other M routines. However, these "silent" calls differ from the Classic FileMan routines in that they separate interaction with the database from interaction with the end-user. In Classic FileMan's roll and scroll mode, interaction with the end-user was closely tied to the code that actually changed the database, but, with FileMan's DBS calls, no Writes to the current device are done. Interaction with the user is managed by package developers from within their own code, calling FileMan whenever interaction with the database is needed. These DBS calls are described in the "Database Server (DBS)" chapter in this manual.
When using both the Classic FM callable routines and the DBS calls, you must keep in mind the variable-naming conventions listed below. If you have local variables that you wish to preserve by a call to any of the routines described here, you should be sure to give them multi-character names beginning with letters other than D.
It is your responsibility, as a programmer, to clean up (kill) documented input and output variables used in a FileMan call, when the call is finished. The few situations in which your input variables are killed during the FileMan call are mentioned in the following sections.
After making a programmer call, always check for failed calls. For example, when using ^DIC for lookups, always check for the error condition Y=-1 before doing anything else; when using the reader, always check DUOUT, DIRUT, and DTOUT before doing anything else. When a call provides a way to check for error conditions, it means that there are some circumstances where the call won't succeed! Checking for errors after such a call allows you to handle the errors gracefully.
Reviewed/Updated: March 4, 2007