FFBC supports the following file types as broadcast lists:

ASCII files with one line per record, with 'comma-separated-value' (CSV) fields. Such files are also known as System Data Format (SDF) files. The list file can either be maintained in a text editor or can be exported from a database application. Almost all commercial database applications have the ability to export selected records and fields to CSV/SDF files. The 'comma' of the title actually represents the delimiter character defined in Windows regional settings. Fields with embedded blanks or delimiter characters must be quoted with double-quotes. The default file extension is '.LST'.

ASCII files with one line per record, with 'tab-separated-value' fields. FFBC requires a file extension of '.TLS', '.TAB' or '.TXT' to identify these files. Fields may contain embedded blanks, and fields may optionally be surrounded by a pair of double-quote characters, which will be removed.

Excel spreadsheets (.XLS or .XLSX) from Microsoft Office. By default, these files are read directly, you can also opt to read them with an installed copy of Excel 2007 or later.  For details, see the Using Excel Files topic.

dBASE-compatible files with extension '.DBF'.

Note that there is no accepted 'standard' for CSV or tab-separated-value files, and you need to test files from an unknown source which may be described in this way.

When the broadcast is generated a complete block of FS file numbers is acquired from the NEXTFS file, so that the FS numbers for a broadcast are always contiguous.

Preparing an ASCII list file

The list file is an ASCII file consisting of one line per record. Lines starting with a ';' or '/*', and blank lines, are ignored. There are two alternate formats for the list file. In the first the fields on each line must be separated by commas or spaces and delimited by double-quotes. The comma is overridden by the character specified as 'list separator' in your Windows regional settings. A pair of double-quote characters together in a quoted field are used to insert one double-quote character. It is recommended that a file of this type should not contain tab characters.

For example, given an input line:

12345678,"Stri,ng 1","Stri""ng 2",String 3,String4

FFBC will create six fields containing the following values:

Stri,ng 1
Stri"ng 2

Note that above conventions are designed to be compatible with most CSV files, and do not exactly match the CopiaFacts command-file conventions for quoted fields. This file format must not have file extension .TLS or .TAB or .TXT unless you use the control variable FORCE_CSV to specify that an extension is to be treated as a CSV file. The last two are the default file extension for exports from Microsoft Excel.  Note that CopiaFacts does not currently support newlines in double-quoted fields, which may be found in files saved from Excel.

In the second format for the list file, fields must be separated by a single TAB character. All characters except newline characters are then valid in a field, and none have any special purpose, except that a pair of double-quotes surrounding a field are removed. Consecutive TAB characters indicate an empty field. This type of file is designated by a .TLS file extension (tabbed list) or a .TAB or .TXT extension, or by an extension specified in the value of the FORCE_TAB control variable.

FFBC first scans the list file for the maximum and minimum number of fields on any line. It is thus able to provide some limited warning if fields are omitted. It does not currently make any checks for empty fields when more fields are present on the line, so broadcast items may still fail if the list file has errors.

Preparing an Excel File

All Excel data formats are mapped into string values. If you have the file open in Excel (on any node) while FFBC is attempting to read it, the broadcast may fail.

The default is now set to use a custom interface in CF8EXCEL.DLL to read Microsoft Excel files, so that Excel is no longer required to be installed on the machine that is using the list to launch a job. This interface does not support XLS files from Excel 95 or earlier. To force the use of Excel (2003 or later), assign a non-empty value to the template variable USE_EXCEL.

Preparing a dBASE File

Records in the dBASE file using the standard 'deleted record' convention will be ignored. Index files for the DBF are not used and all non-deleted records are used.

Using the list file fields

The first field on every line is reserved by default for the telephone number to be dialed. This number is placed on the $fax_phone, $voice_phone or $poll_phone command line as appropriate. You can also pick the telephone number from a different field as described in the FFBC Template File topic. This first field is also the default field for an e-mail address to be used in e-mail broadcasts.

For voice broadcasts, another field may be used for the infobox number to transfer to, if the interaction is to start with a different infobox for different called parties, in which case the second parameter on the $voice_phone command must be @BCFn or ?n. FFBC will stop if this field is missing on any records when no default infobox has been specified in the template file.

For poll broadcasts, another field may be used for the mail box number to receive the polled document, if the polling is to use different mail boxes for faxes from different called parties, in which case the second parameter on the $poll_phone command must be @BCFn or ?n. FFBC will stop if this field is missing on any records when no default mail box has been specified in the template file.

For normal fax broadcasts, the second field normally used for the recipient name. In addition, up to three following fields may be specified to be concatenated with the second field into the recipient name. This provides some compatibility with the legacy FAXBC and WBC programs which normally concatenate separate name elements into one recipient name. For details of how to concatenate fields in this way, see the description of the template command $fax_receiver in the FFBC Template File topic.

Remaining fields on the list file line are placed in $var_def commands in the generated FS files. The variable names used are of the form BCFn (broadcast field n). These variables work like MEMOn variables, in that they are left blank in the cover sheet if not defined, and they are not partially expanded (e.g. BCF3 is not used to expand @BCF30 if no BCF30 variable is defined). This allows FFBC to suppress the generation of the $var_def command if the variable is empty or not defined on the list file line.

When the OmitListHeader option is used additional variables are generated in each FS file, of the form BCX_column, where the name is taken from the list header row entry for the column.

Using the FFBC Broadcast List tab

The FFBC Broadcast List tab displays the selected broadcast list.  Editing the list is not supported.

The default list column headings are shown as the BCFn field numbers.  However when a column has been identified by the template $fax_phone, $voice_phone, $email_address or $fax_reciever command, the heading is shown as Phone, E-Mail or Recipient, and the column color is changed to red, green or yellow respectively.

You can use the right-click menu in the header area to cause a column to be selected as containing the fax number, voice number, e-mail address, or recipient details. The order in which you select to 'use' or 'add' recipient columns affects how they are added to the $fax_receiver command:

When FFBC_OPTION OMITLISTHEADER is enabled in the FFBC Template File or on the FFBC Broadcast Tab, and assuming your broadcast list has a header row, an alternate set of headers appears on the Broadcast List page:

In this case the header row values are shown, each prefixed by BCX_ and with spaces changed to underscores.  This prefixed value is the name which needs to be used (as @BCX_column) on the corresponding command in the template.  For lists of this type, selecting an item from the right-click menu will insert the variable as BCX_, not using the BCFn syntax, although the latter can still be used.