Conversion Toolkits - BBx
BBX Conversion Toolkit Graphical converison tool *conv.bbx/gui_cv
   
Overview The GUI_CV utility has been designed to convert BBx1/2/3/4, Pro/5 and Vpro5 programs and files to PxPlus and/or ProvideX, without the need for a BBx executable on the computer that will be performing the conversion.

GUI_CV will convert all BBx data files that were available in BBx/4 (DIRECT, SORT, MKEYED, INDEXED and STRING). Data files that were added to later BASIS products cannot be converted to ProvideX by means of this program. XKEYED files and +2GB files should be converted using the ProvideX *conv.bbx/CV program (which does require a working BASIS executable).

Although GUI_CV will convert all program levels up to BBj (but not including BBj), special care has to be taken when converting TAOS generated program (see Program Options folder tab).

Settings on the opening screen

  • Test for errors without converting
  • Input programs / files
  • Output directory
  • Path & name of log file

Log file Options folder tab

  • Log name of converted file
  • Log pgm lines that contain $0A$
  • Log files with non-ascii characters
  • Log record with non-ascii characters
  • Append to log file
  • Log item(s)

File Options folder tab

  • VARIABLE length record files
  • No maximum record count
  • Don't convert STRING files
  • Create files with $0A$ separator
  • Oem to Ansi conversion in data files
  • Add indices after conversion
  • Use direct BBx file access if available
  • Convert SORT files to KEYED files

Program Options folder tab

  • Oem to Ansi conversion in programs
  • Add '-' in front of 'window' title
  • Prefix reserved variables with the prefix below
  • Variable prefix
  • Remove BBx ERR=20 from source pgm lines
  • Program specifics
   
Opening screen The following settings can be made on the opening screen:
  • Test for errors without converting

By selecting "Test for errors without converting", you can step through the entire conversion process to produce an exception report (log file) in advance without actually converting any of the programs or files. The exception report can then be analysed to determine if there will be any compatibility issues.

  • Input programs / files

Enter the parent directory for the BBx programs & data files. You can then click the [Resolve] button to force GUI_CV to scan that directory and all subdirectories for all files. Once these are displayed in the listbox, you can select individual files and remove them from the list of programs/files to convert by clicking the [Remove] button.

  • Output directory

Enter the (ProvideX) output directory here. You must select a directory different from the input directory (the conversion program will not allow the input and output directory to be the same). GUI_CV will re-create the entire tree structure like it exists in the input directory.

  • Path & name of log file

The log file is useful to determine the overall status of the conversion. It is a flat ASCII file that can be accessed with any text editor or word processor. The log will contain any error or warning messages generated by the conversion. It can also provide a complete list of all files & programs converted. If you don't want the converter to write a log file, you must leave this field empty.

   
Log file Options The following are the conversion logging settings that can be set in the Log File Options folder tab:
  • Log name of converted file

This will store all names of the converted programs/files into the log file.

  • Log pgm lines that contain $0A$

Will list each and every program line that contains $0A$ into the log file.

  • Log files with non-ascii characters

Will write the name of the data file into the log file when a non-ascii character was found in any of the records of that file. Non-ascii in this context are all characters with a value less than a space or greater than a tilde in the ASCII table (all characters below 0x20 and above 0x7E).

  • Log record with non-ascii characters

See 'Log files with non-ascii characters'. The difference here is that each and every RECORD that contains non-ascii data will be written to the log file.

  • Append to log file

Will append error and warning messages to the end of the log file. Not selecting this setting will cause an existing log file to be overwritten.

  • Log item(s)

You can select individual program functions/directives that should be written into the log file in case the converter encounters them.

   
File Options The following are the data file conversion options that can be set in the File Options folder tab:
  • VARIABLE length record files

The conversion will create all of the KEYED files using variable length records which will reduce disk space requirements and increase file performance.

  • No maximum record count

Will create all KEYED files with no preset limit to the number of records in a file.

  • Don't convert STRING files

All STRING (non-BBx files) will be skipped during conversion.

  • Create files with $0A$ separator

All KEYED files will be created with a $0A$ field separator instead if the standard $8A$ separator and GUI_CV will no longer replace $0A$ in data records by $8A$ (the data records will remain unchanged). Also select the 'Use $0A$ in Direct/Mkeyed/Indexed' setting on the 'Program Options' tab in order to change the BBx file creation verbs to create files with a $0A$ field separator.

  • Oem to Ansi conversion in data files

Setting this option will cause the converter to replace DOS characters with Windows characters. DO NOT SET THIS OPTION if you know your data contains either binary or high-ascii (umlaut) data.

  • Add indices after conversion

All multi-keyed files will be created with the primary key only. Only after converting all data will GUI_CV add the secondary keys to the file. This will result in a huge performance gain when converting larger files or files with a large number of secondary keys.

  • Use direct BBx file access if available

If the ProvideX executable is activated to use package 20010 (BBx Keyed File Read), GUI_CV will access the BBx data through this interface and no longer analyse the binary contents of the BBx data. This may result in a performance gain during conversion.

  • Convert SORT files to KEYED files
   
Program Options The following are the Program Options that can be set in the Program Options folder tab:
  • Oem to Ansi conversion in programs

Setting this option will cause the converter to replace DOS characters with Windows characters.

  • Add '-' in front of 'window' title

The conversion will insert a '-' character in front of a window title so that the title position is compatible with BBx (this to prevent misalignment with data in the window).

  • Prefix reserved variables with the prefix below

Selecting this option will cause GUI_CV to prefix all BBx program variables that are conflicting with ProvideX system variables and/or functions with a prefix of your choice (see below).

By default, GUI_CV will put BB__ in front of the variable name.

For example,

0010 LET RET=99

will become

0010 LET BB__RET=99.

  • Variable prefix

Enter the variable prefix of your choice here (see above).

  • Remove BBx ERR=20 from source pgm lines

BBx program code that has a syntax error in the BBx environment will result in a ProvideX line of code that still has a syntax error on it. By selecting this option, you can force GUI_CV to re-compile the line with the error that could result in a correct line of code in the ProvideX environment. For example, this line of BBx code:

0010 *ERR 20
0010 msgbox a$,"Hallo","!,CANCEL",b$

will convert to ProvideX:

0010?**ERR= msgbox a$,"Hallo","!,CANCEL",b$

when this option is NOT selected. Setting this option will result in the ProvideX code:

0010 MSGBOX A$,"Hallo","!,CANCEL",B$

  • Program specifics
PvxPLUS Template logic The standard ProvideX template behaviour isn't fully BBx compatible. By selecting this option, GUI_CV will convert BBx template code to PvxPLUS templates that should be fully compatible. If you are converting Taos generated program, you should enable this setting.
PvxPLUS OPEN logic BBx STRING file handling differs from the standard PvxPLUS behavior. When selecting this option, all OPEN verbs will be converted to OPEN+ verbs in the resulting PvxPLUS programs. A SERIAL PvxPLUS file, opened with OPEN+, will behave just like a BBx STRING file. OPEN+ will also scan the OPEN options for O_CREATE/TRUNC/RDONLY/... and act accordingly.
Use $0A$ in Direct/Mkeyed/Indexed ProvideX normally creates files that use field separator $8A$. By selecting this setting, the BBx file creation verbs DIRECT, MKEYED and INDEXED will be changed to include the ,SEP=$0A$ fileoption to force creating files that use the $0A$ separator. Also check the 'Create files with $0A$ separator' setting in the 'File Options' tab to convert BBx files to ProvideX files with a $0A$ separator.
CISAM -> KEYED Replace all occurrences of CISAM with CREATE TABLE
INFO() -> FN%INFO$() Replace the BBx INFO() function with the global ProvideX defined function FN%INFO$(). This function can be found in the *conv.bbx/START_UP program along with a number of other settings that you might want to use after converting a BBx application.
REV -> FN%REV$ Replace the BBx REV system variable with the global ProvideX defined function FN%REV$. This function can be found in the *conv.bbx/START_UP program (feel free to change that function to return whatever your BBx application expects).
SSN -> FN%SSN$ Replace the BBx SSN system variable with the global ProvideX defined function FN%SSN$. This function can be found in the *conv.bbx/START_UP program (feel free to change that function to return whatever your BBx application expects).
SYS -> FN%SYS$ Replace the BBx SYS system variable with the global ProvideX defined function FN%SYS$. This function can be found in the *conv.bbx/START_UP program (feel free to change that function to return whatever your BBx application expects).
  Taos, BBx, BBx/4, BBx1/2/3/4, Pro/5, Vpro5 and BBj are registered trademarks of BASIS International Ltd.