ContentsIndexPreviousNext

C.2.7 Acu4GL for Oracle: Designating the Host File System

If you are opening an existing file, all file systems linked into the runtime are searched for the named file. If, however, you are creating a new file, you must tell the runtime which file system to use. You accomplish this with one of two configuration file variables; the first is:

     DEFAULT_HOST filesystem

This designates the file system to be used for newly created files which are not individually assigned. For example,

     DEFAULT_HOST ORACLE

means that all new files will be Oracle files unless otherwise specified by the second configuration variable, which is:

     filename_HOST filesystem

where filename is the file name, without any extension, named in the ASSIGN TO clause of your SELECT statement. This configuration variable is used to assign an individual data file to a file system. Any file so assigned will use the designated file system, and not the one specified by DEFAULT_HOST. For example,

     myfile_HOST VISION

means that myfile will be under the Vision file system.

You can use these configuration file entries in combination to assign your new files in a default with exceptions manner; for example, this set of entries:

     DEFAULT_HOST ORACLE
     afile_HOST VISION
     bfile_HOST VISION

means that all new files except afile and bfile will be assigned to Oracle, and those two files will be assigned to Vision.

You can change the values of these variables during program execution by including in your code:

SET ENVIRONMENT "filename_HOST" TO filesystem

or

SET ENVIRONMENT "DEFAULT_HOST" TO filesystem

This enables you to change file systems during the execution of your program. (This is not the typical way to specify a file system; normally it is designated in the runtime configuration file and is not changed in the COBOL program.)


Note: Acu4GL for Oracle allows you to create a table with an OPEN OUTPUT statement, just as you can create Vision indexed files. The Oracle equivalent of a Vision file is a table, not a database. You must create a database for your Oracle tables before you run the COBOL program that creates the tables, just as you must create a directory for your files before you run a COBOL program that creates Vision files.