How to Use EL860DB.EXE Utility to Create PSQL Databases

Release Date: TBD
Version: Elliott 8.6

Elliott 8.6 includes features -- Report Desk for example -- that require PSQL relational data access. In the past, PSQL databases were created manually by users. To make it easy to create PSQL databases, the new utility EL860DB.EXE is included in the Elliott 8.6 release, and you can find it in <ElliottRoot>\Bin86 folder where <ElliottRoot> is the root directory where you have Elliott 8.6 installed (e.g. M:\Elliott7). You must be logged in to the PSQL server (where the databases reside) as a Windows Admin or equivalent in order to create databases with this utility. You can run this utility by using one of the three methods below:

Method 1 - Run with Elliott86.EXE Installation Utility
EL860DB.EXE will be started automatically at the end of Elliott 8.6 installation utility.

Method 2 - Run from <ElliottRoot>\Bin86 Folder
Browse to <ElliottRoot>\Bin86 folder and find EL860DB.EXE to run. To prevent potential UAC issue, right click on EL860DB and choose "Run as administrator". See sample screen below:


Method 3 - Run from Elliott 8.6 Configuration Utility Database Tab
Start Elliott 8.6 by logging in as "SUPERVISOR." Then click on the top left corner toolbar task Config (Elliott Global Configuration) and go to the Databases tab, where you can find the button Create Standard Databases... This is a shortcut to launch EL860DB.EXE. See sample screen below:


Prerequisite:
This utility is compatible with PSQL 12 or 13. As of writing, PSQL 15 is in beta. EL860DB.EXE will work with PSQL 15 when it is released.  However, it won't work with PSQL 14. You must run this utility from PSQL database server where Elliott data reside and login as Windows Admin or equivalent to run EL860DB.EXE.  EL860DB.EXE utility will not work on the client workstation.

Elliott Database Naming Convention:
From Elliott V7 to V8.6, we distributed different types of DDF files in the following folders to create PSQL databases:
  • <ElliottRoot>\DDF40 - for Elliott V7.x databases in data directory. Standard database name will be ELLIOTTDATA.
  • <ElliottRoot>\Bin\DDF40 - for Elliott V8.0 - V8.2 databases in data directory. Standard database names will be ELIDATA.
  • <ElliottRoot>\Bin85\DDF40 - for Elliott V8.5 databases in data directory. Standard database name will be ELI85DATA.
  • <ElliottRoot>\Bin86\DDF40\STDDDF - for Elliott V8.6 databases in data directory. Standard database name will be ELI86DATA.  
  • <ElliottRoot>\Bin86\DDFROOT\STDDDF - for Elliott V8.6 databases in the root directory. Standard database name will be ELI86ROOT. If you intend to use Report Desk, you must create ELI86ROOT.
Since Elliott Business Software supports multiple companies, for data in folders like DATA_02, DATA_03...etc, the naming convention will be replacing "DATA" above with "DATA02," "DATA03,"...etc. For example, for Company 10 where data is stored in <ElliottRoot>\DATA_10 folder, the corresponding standard Elliott 8.6 database name will be ELI86DATA10.

By default, if not specifically specified, Elliott 8.6 will assume the database name for each company by following the convention above. EL860DB.EXE helps you to create these standard database names in Elliott V8.2 or V8.6 format.

User Interface:
After EL860DB.EXE is run, you will see the following window show up:
  1. Database Version - You can select which version of database to create. This can be either 8.6 or 8.2. If your document number is numeric format, you should choose 8.2. On the other hand, if your document number is alphabetic format, you should choose 8.6.
  2. Elliott Root Folder - A read-only text field that indicates the location of the Elliott Root Folder.
  3. Elliott DDF Folder - A read-only text field that indicates the location of the DDF folder. For 8.6, this is {ElliottRootFolder}\bin86\DDF40\STDDDF. For 8.2, this is {ElliottRootFolder}\bin\DDF.
  4. Elliott Root DDF Folder - A read-only text field that indicates the location of the DDF folder for the Elliott Root database. This is only applicable for an 8.6 database.
  5. Elliott Data Folder(s) - You select which data folders to create database(s) for in this control group. This section has two list views. The left "Data folders with no database" list view shows all data folders that currently do not have a corresponding database. You can check one or more item(s) to create databases for the data folders. The right "Data folders with existing database(s)" list view shows all data folders that already have a corresponding database.
  6. Check All button - Check all items in the "Data folders with no database" list view.
  7. Uncheck All button - Uncheck all items in the "Data folders with no database" list view.
  8. Create Database(s) - Create database for all checked items in the "Data folders with no database" list view.
Differences between V8.2 and V8.6 Databases
This utility lets you create both Elliott V8.6 and V8.2 databases with Elliott's standard naming convention. 
 
Elliott 8.6 databases assume all Elliott document numbers (e.g., Invoice Number, Order Number, Purchase Order Number, Voucher Number...etc.) are in string format where you can store alphabetic values. On the other hand, Elliott 8.2 databases assume all document numbers are numeric.

Even though you may be using Elliott 8.6 programs, you may continue to run Elliott databases in Elliott 8.2 format as long as you don't store alphabetic values in your Elliott document number fields. You may do so because: (1) You would like to evaluate Elliott 8.6 first while most of your users are running on Elliott 8.2; (2) It may take you time to convert third-party applications like Crystal Reports or web applications that depend on the V8.2 web services to convert to the Elliott 8.6 format.

Once you are ready, you can use the <ElliottRoot>\Bin86\DDF2BTR.EXE utility to convert your V8.2 databases to V8.6 format. After that, you are ready to store alphabetic values in your document numbers, and you can't use Elliott 8.2 and other third-party applications that utilize the Elliott 8.2 format anymore. Please refer to Elliott 8.6 Release Notes and other KB articles on how to use DDF2BTR.EXE for this purpose.

If you intend to use Report Desk, then you must create ELI86ROOT database regardless whether your document number is numeric or alphabetic format.

Manually Create Database Through PSQL Control Center
For information on how to create databases manually via Pervasive Control Center (PCC), please visit this knowledge base article.

Define Database in EL860CF.EXE for Report Desk
Elliott 8.6 Report Desk uses the PSQL relational database to access Elliott data. It can work with either the Elliott 8.2 or 8.6 database format. It is important that the corresponding databases are created on a PSQL server for Report Desk purposes. In addition, Elliott needs to know which database name is used for which company. To do so, you can navigate to the <ElliottRoot>\Bin86 folder and run EL860CF.EXE.  Alternatively, you can login to Elliott as "SUPERVISOR" and find the Elliott Global Configuration utility icon in the top left corner, which is a shortcut to EL860CF.EXE.  Once you bring up EL860CF.EXE, you will see the following screen. Go to the database tab to associate each Elliott company with the right database name. See sample screen below:

It the above example, Company 1 is still using a numeric document number format so the Database is ELIDATA even though Elliott 8.6 is being used.  Company 3 was converted to use a string document number format, so the database name is ELI86DATA03.

Use NOTEPAD.EXE to Update EL860.CFG
The EL860CF.EXE file will update <ElliottRoot>\Bin86\EL860.CFG for you.  Alternatively, you can use NOTEPAD.EXE to update EL860.CFG. See sample screen below:
 

Keep in mind that sometimes UAC may prevent you from saving your changes, so verify your changes afterwards.  If update fail, right click on Notepad.exe and choose "Run as administrator" in popup menu to edit EL860.CFG file.


Known Issue with DDF Files in DATA Folder
By design, your Elliott DDF files should reside in the <ElliottRoot>\Bin\DDF40 or <ElliottRoot>\Bin86\DDF40\STDDDF folders. Then when you choose to create the corresponding Elliott database, you will specify as in the following example:
  • Dictionary: <ElliottRoot>\Bin86\DDF40\STDDDF
  • Data: <ElliottRoot>\DATA_03


We have seen that if you also have a copy of DDF files residing in the <ElliottRoot>\DATA_03 folder, then those DDF files will override the DDF files in <ElliottRoot>\Bin86\DDF40\STDDDF in the  above example. This can cause a big problem for Elliott when accessing data through the relational engine. Therefore, you should not place DDF files in your DATA folder.

Please see also the following KB article for related information:


EMK

Feedback and Knowledge Base