EXtended File Descriptors (XFDs) are based on your COBOL File Descriptors (FDs). For this reason we call them extended FDs or XFDs. Each XFD describes all of the fields for one file.

XFD directives are optional comments that you can use in your FDs to control how things look on the database side. Many applications will use only the CREATEXFD directive. XFD directives are most commonly used when a site intends to do a lot of work with the relational database management system (RDBMS) outside of the COBOL application, and wants to control how the database table is built.

XFD directives are special comments placed into an FD in your COBOL source code. They guide the building of the XFDs, which in turn guide the building of the database table.

Each XFD directive includes the letters "XFD". These three letters indicate to the Compiler that the comment is to be used in XFD generation.

XFD directives offer you a great deal of control over how the database table is built. Among other things, they enable you to:

XFD directives are always placed within a COBOL FD. They do not affect Procedure Division I/O statements, and they do not change your COBOL fields in any way. Rather, they guide the building of the XFDs, giving you a measure of control over the way COBOL data is mapped to database fields.

You can build XFDs directly from your source code with only the CREATEXFD directive if the default mapping rules described in the chapters XFDs and New and Existing Databases are sufficient for your situation. If you would like to override the default mapping behavior or map a field to a different name, you must add additional XFD directives to your COBOL code.