Designating the Host File System

If you are opening an existing file, all file systems linked into the run time system are searched for the named file. If, however, you are creating a new file, you must tell the run time system which file system to use. You accomplish this with one of the following ACUCOBOL-GT run-time system configuration file variables.

DEFAULT_HOST filesystem

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

DEFAULT_HOST ORACLE

means that all new files are Oracle files unless otherwise specified by another ACUCOBOL-GT run-time system configuration file 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 use the designated file system, and not the one specified by DEFAULT_HOST. For example,

myfile_HOST ORACLE

means that myfile is under the Oracle file system.

You can use these ACUCOBOL-GT run-time system configuration file variables in combination to assign your new files in a default with exceptions manner. For example, this set of entries:

DEFAULT_HOST ORACLE
afile_HOST DB2
bfile_HOST DB2

means that all new files except afile and bfile are assigned to Oracle, and those two files are assigned to DB2.

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 ACUCOBOL-GT run-time system 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 indexed files. The Oracle equivalent of a data 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 COBOL data files.