International character mapping makes use of three files: your map file of corresponding character codes (explained above), an XFD file that the compiler creates to describe the structure of data files, and a runtime configuration file that points to the location of both the map file and the XFD file. This section provides more details about each of these files. Note that file names are not translated, so remote files should use only standard ASCII characters in their file names.
Map File:Your map file of corresponding character codes may be stored on either the client or the server machine. One advantage of storing it on a server is that many clients can access the same map file. If it needs to be changed, a single update benefits all clients. To make a remote map file accessible to a client, you need to run the AcuServer remote file access product on the server.
XFD File: In order to determine whether a data item is alphanumeric, the mapping process for AcuServer and AcuODBC makes use of a data dictionary (also known as an XFD file). (AcuConnect does not require this file.) The XFD file stores the structure of the COBOL records in a format that the runtime can access. An XFD file must be created at compile-time for each program that will use the mapping process. It is created with the -Fx or -Fa compile-time option. The XFD files may be stored on either the client machine or the server machine. If they are located on the server, you must have the AcuServer product on that server, to enable client access. If an XFD file cannot be found, no error message is generated, but no character translation occurs.
Runtime Configuration File: The runtime configuration file on the client machine must identify the location of the character map file and the XFD files. Remote name notation can be used to specify remote locations.
Set XFD_DIRECTORY to specify the directory for the XFD files (the default is the current directory). AcuConnect does not require XFD files.
Set DEFAULT_MAP_FILE to specify the name and location of the character map file.
If you have more than one map file (because you have different types of servers), you can associate a map file with a particular server by using the configuration variable server_MAP_FILE to point to a map file on a particular server machine. For example, if you are using AcuServer to access remote files on a machine named sun3, you would use remote name notation to specify the directory that contains the data files. It might look like this:
@sun3:/user/acct/inventory
Then, use this configuration variable to point to the map file:
sun3-map-file @sun3:/user/acct/inventory/map.txt
If the map file is local, your value might look like this:
sun3-map-file C:\user\utility\map.txt
The runtime looks first for server-MAP-FILE. If that variable is not set, the runtime looks for DEFAULT-MAP-FILE. If that variable is also not set, no translation is done.