The following are some answers to common questions that can apply to any relational database management system (RDBMS) data source supported by the Database Connectors family of interfaces.
[XFH-DEFAULT] IDXFORMAT=8 [FOLDER:C:\\files\\db2] IDXFORMAT=20 [FOLDER:C:\\files\\oracle] IDXFORMAT=19
See Configuring the File Handler for more information.
If you have sent the errors to an output file with the FILE_TRACE ACUFH configuration variable, the run time system also attempts to include text that explains the errors. See the example in the section Runtime System Errors in the chapter Performance and Troubleshooting.
To enable special values such as these to be processed, use the BINARY XFD directive in front of the key field. This allows data of any classification to be processed. Either designate an individual field as binary, or specify USE GROUP, BINARY in front of a group of fields.
The method of storing variables declared as binary is database-specific. For example, for Oracle databases, variables declared as binary are stored as raw fields. Refer to your database documentation for information specific to your data source or RDBMS.
Suppose your COBOL application has a SELECT with a variable ASSIGN name, such as customer-file. This variable assumes different values (such as CUST0001 and CUST0002) during program execution.
Before compiling the application, you would use the FILE XFD directive to provide a base name for the XFD. Suppose you provide CUST as the base. The Compiler would then generate an XFD named cust.xfd. (The Compiler always converts XFD names to lower case.)
To ensure that all customer files, each having a unique name, use this same XFD, enter the following in your configuration file:
XFD_MAP CUST* = CUST
The asterisk (*) in the example is a wildcard that matches any number of characters. The extension .xfd should not be included in the map. This statement would cause the XFD cust.xfd to be used for all files whose names begin with CUST.
The XFD_MAP variable has this syntax:
XFD_MAP [pattern = base-xfd-name] ...
* | matches any number of characters |
? | matches a single occurrence of any character |
CUST???? | matches CUST0001 and CUSTOMER;
does not match CUST001 or CUST00001 |
CUST* | matches all of the above |
CUST*1 | matches CUST001 and CUST0001 and CUST00001;
does not match CUSTOMER |
*OMER | matches CUSTOMER;
does not match CUST001 or CUST0001 |