Platinum SQL Publisher Version 3.1 Release Notes
=====================================================================

Contents
I.    New Features in this Version
II.   IDAPI Installation Notes
III.  ODBC Installation Notes
IV.   Paradox Engine and ODBC Connections
V.    IDAPICFG.EXE and IDAPI Connections for Paradox
VI.   Customizing Sorting
VII.  Online and Print Documentation Updates
VIII. Warnings and Known Problems
IX.   Performance
X.    Outer Join Syntax W/ ODBC 2.0
=====================================================================

I. New Features in this Version

Publisher 3.1 introduces new features to create more types of reports, as
well as to simplify building reports.

With this version you can:
-Create master/detail reports to combine multiple reports in one using
 heterogeneous data.
-Choose to group, sort or summarize data locally or on a database server.
-Build reports using Borland's IDAPI drivers.
-Include columns in a report for query-only or value-only.
-Utilize an updated ReportBasic macro language.
-Place page totals to display summary values for each page in a report.
-Create data dictionaries to simplify the view of the data.
-Use Draft mode to download a subset of data for initial report build.
-Creat your own Report Styles for company specific look and feel.
-Enhanced crosstabs that allow you to pivot columns directly. 
-Build labels. Supports all Avery labels and allows for custom labels.
-Show fields as pictures.
-English language Selection criteria.
-Move live data from screen to selection criteria.
-OLE 2.0 container. 
-Build crosstabs in group headers and footers. Data will be based on current
 group data.
-Best fit column directly from toolbar.
-True date report varialbles. Open a clander to pick a date.

=======================================================================

II. IDAPI Installation Notes

Drivers for dBASE and Paradox

In addition to the ODBC drivers installed, Publisher also installs the
Borland IDAPI drivers for dBASE and Paradox.  For existing reports using
dBASE types 3 (III) and 4 (IV) tables and Paradox table types 3 (version 3.5)
and 4 (version 4.5) there is no reason to switch to the IDAPI drivers.

The IDAPI drivers support the following Borland table types:

- dBASE for DOS types 3 (III) and 4 (IV)
- dBASE for Windows type 5 (5.0)
- Paradox for DOS types 3 (version 3.5) and 4 (version 4.0)
- Paradox for Windows type 5 (version 5.0)

You can still use ODBC drivers to connect to dBASE table types 3 (III)
and 4 (IV) and Paradox table types 3 (version 3.5) and 4 (version 4.0).

======================================================================

III. ODBC Installation Notes

The Publisher installation will automatically install the ODBC drivers
that are shipped with the product. If these ODBC drivers are newer than
the drivers you have installed on your machine, the install will
overwrite them.  Otherwise, the install program will not overwrite your
existing ODBC drivers.

The Publisher installation also creates data source drivers for each
ODBC driver that you choose to install.  The names are defined by the 
database type. These names appear in the data type list in Publisher.  
If you do not wish to keep these data source names, you can easily delete 
them through the ODBC administrator located under the File menu of Publisher 
or in the Windows Control Panel.

This version of Publsiher supports Microsoft ODBC 1.0 and 2.0 drivers.

========================================================================

IV. Paradox Engine and ODBC connection

 -    This version of Publisher installs the latest Paradox engine,
      PDXENGWIN.DLL.  This enables Publisher to connect to Paradox
      versions 4.0 and 4.5, and Paradox for Windows files.

 -    There is a user interface to set Network Configuration and
      Resource Limits in your WIN.INI file.  The executable,
      PXENGCFG.EXE, is located in the Windows System directory.

 -    Publisher will not correctly build Paradox SQL if the Paradox  
      Network Control File Path in the Paradox Engine Network Configuration  
      utility (PXENGCFG.EXE) is incorrect, or if an invalid User name is 
      entered.

 -    If you are running Paradox in a Network environment and want to
      share data files, then all users MUST set the same Network Control
      File Path.  See HELP in PXENGCFG.EXE.

=======================================================================

V. IDAPICFG.EXE and IDAPI Connections for Paradox

 -   Publisher will not correctly build Paradox SQL if the location of
      the NETDIR item of the IDAPICFG.EXE is incorrect or missing. To
      correct or enter the NETDIR setting, select Paradox in the Driver
      Name list box in the IDAPI Configuration Utility, browse to locate 
      the pdoxuers.net file. Ask your Systems Administrator if you're unsure
      of the location of this file. After selecting a valid directory for
      this file, press return and File | Save before exiting the IDAPI
      Configuration Utility.

========================================================================

VI. Customizing Sorting

With this version of Publisher, sorting is performed locally whenever
possible. Publisher automatically determines whether sorting should
occur locally or on the server. To disable local sorting, change the
LocalSort=1 line of the [OptionsSection] of the SQL_PUB.INI to
LocalSort=0. 

========================================================================
VII. Online and Print Documentation Updates

 Publisher now offers the option of preloading records in the Options
 dialog box. When the Preload Records option is unchecked Publisher
 loads only the number of records necessary for display. When checked,
 this option will load all records in a query. When performing queries
 with multiple modifications this options may be preferable. This option
 doesn't work with the Client Memory option selected.

=========================================================================
VIII. Warnings and Known Problems

  a.  When connecting to Interbase through IDAPI, each Interbase server and
      userID combination must have a separate alias.

  b.  Publisher allows a graph based on a macro-derived field to be created.
      Such a graph has no legitimate values.

  c.  Apostrophes are not permissible in the name of a Data Dictionary view.

  d.  Best fit cannot be performed on fields in headers.

  e.  Text and FoxPro ODBC drivers can not be used as a data source in a
      named connection.

  f.  Database grouping does not function properly when a data dictionary
      is in use.

  g.  In the Named Connection dialog in the RunTime product, the browse 
      function does not work.

  h.  Hiding detail in master\detail report will cause report to show 
      incorrect master\detail relationships. Delete fileds in detail 
      section and shrink detail area as workaround.

  i.  When in the help file and you slect Tasks from the main "Contents"
      menu, all the sub items will not jump to their corresponding areas.
      As a workaround, Search on those sub topics. The text for those
      Jumps is there, the jump just isn't working for the Tasks section.

  j.  The DDE Server name for the Platinum SQL Publisher and Publisher 
      Runtime executalbes is wrong in the documentation and the help files. 
      The Runtime server name is "Publisher Runtime". The developement 
      server name is "Platium SQL Publisher" The documentation and Help 
      files will be fixed for the next release.

 Data Dictionary
  ---------------
  a.  ODBC and IDAPI connections for dBASE are treated as entirely 
      different connections by the Data Dictionary, as are Paradox ODBC 
      and IDAPI connections.

  b.  If a Data Dictionary view is created with a drive or directory mapping
      in a source database that is different than the connection with which
      it is associated in Publisher, the dictionary view will not be
      applied. To apply the view, create an additional source database within 
      the first view, or create an additional view.

  c.  Interbase columns that have the same name as the table (such as
      Country.Country) can not be included in a Data Dictionary after an
      exclude all is performed, and vice versa.


  Macros
  -------
  a.   The CloseReport and CloseRS commands will no longer return non-zero  
       if the user selects cancel when prompted to save a report. The 
       functions will now return zero when executed successfully, or 
       Non-zero on error, (such as no report open for the CloseReport  command).

  b.   Str2Date, Date2Str, and DateField are now obsolete commands. These
       commands are still supported for compatibility. The new date/time
       commands should be used in place of these commands.

  c.   It is not valid to use the LoadReport command in the "Before Report
       Open" event or the "After Report Open" event.

  d.   The LoadReport command cannot be used to initialize report variables
       in the detail section of a master/detail report.

  e.  To disable a menu item for all reports, execute the macro command to
      enable macros in the Application Startup event, or, place a '!' before
      the menu to be disabled.

      For example: EnableMenu "!File|New"

  f.  SelectReport cannot be run from the macro dialog box.
  
 ======================================================================
IX. Performance

Performance in Publisher has been addressed in 2 major areas. Printing and 
Data access.

Printing: The printing engine has been totally revamped. Printing speed is 
now comparable with most windows applications. It is 20 times faster than 
the previuos version. We have also corrected many of the printing problems 
that were occuring with the previous version. 

Data Access: 

 SQL Server: Although data access for SQL Server is a direct one and we can 
 only get the records as fast as the Server will send them to Publisher, we 
 have increased the speed to format the page by 20 percent. 

 Btrieve: With the introduction of Microsoft ODBC 2.0 drivers, Publisher   
 now has a driver that can read Btrieve files as fast as any report writer   
 on the market. Microsoft has incorporated its Jet Layer engine in their    
 driver which is inherant in Microsoft Access and Crystal reports. This  
 driver will recognize all Btrieve indexes. However, like all drivers, if 
 you change the physical attributes of a field, and that field is indexed, 
 the driver will no longer recognize the index. Please read below for a 
 detailed example.

Indexing example: As many of you may know or not know, Publisher converts 
the Platinum string date and SQL Enterprise integer date to real date field
types on the fly. When you do this, the field type is changed from String or 
Integer to Date. If that fild is an indexed field then Publisher will no 
longer recognize that index because the index was based on a string or 
integer type not a date type. The degregation in speed on the SQL Server 
end will not be noticed as much as Btrieve. Since SQL Server is geared 
towards SQL code, the direct access by Publisher will allow for a smooth 
transition on SQL calls and speed shouldn't be inhibited much. For Btieve 
however, the SQL code generated by Publisher has to be interpreted by a 
layer. (ODBC 2.0) This layer will only recognize indexes if the field hasn't
been changed. If a date field in Platinum is indexed and you plan on setting 
a date range within you report, you may want to think about forcing 
Publisher to not convert the date and bring over the fields sepparetely as 
YY and MMDD string fields. You could then restrict the fields individually 
to recognize the index on the two fields. To do this edit the PLTBTRV.INI 
file in your Windows directory and remove the references to the date in 
question under the file that you are reading. For example, you may want to 
delete all references to Doc_Date under the Artran section. By doing this, 
Publisher will show the YY and MMDD fields individualy instead of one date 
field.

Idexing also needs to be considered when joining or restricting on a field. 
If you are joining or restricting on a non indexed field, ODBC has to 
sequentially search the entire file for all possible matches. Refer to the 
Database reference guides to see which of the Platinum data fields are
indexed or not. Products like Xtrieve will allow you to add indexes to your 
DDF's and your data files. Refer to the Xtrieve manual for an explanation.

If you have any comments regarding speed or perfomance with this new version 
of Publisher, please don't hesitate to send a fax with your comments to 
Platinum Software Corp., Attn: Platinum Publisher Product Manager. 
The fax number is 714-453-4091. 

==========================================================================
X. Outer Join Syntax W/ Microsoft 2.0 ODBC

This version of Publisher does not support outer join syntax from within 
the end user interface when using the 2.0 ODBC drivers. However, you can
still performe outer joins by editing the SQL directly. Basically the 
join is done within the "FROM" statement instead of the "WHERE" statement.
Support for this syntax will come in a future version.

Here's an example.

SELECT ARCUST.CUSTOMER_KEY,ARCUST.CUSTOMER_NAME,
       ARTRAN.DOCNO,ARTRAN.DOC_DATE
FROM ARCUST LEFT OUTER JOIN
     ON (ARCUST.CUSTOMER_KEY = ARTRAN.CUST_KEY)

For more help call Publisher support at the customer sollutions center.
800-333-5342
