*****************************************************************************

Release Notes for LightShip Modeler Version 1.0.0

    (c) Copyright Pilot Software, 1994

	One Canal Park
	Cambridge
	Massachusetts
	MA02141
	United States

*****************************************************************************

Contents

1. Known Documentation Problems

2. General Software Enhancements

   2.1  Improved Handling of Modeler's Temporary Files
   2.2  Multi-User Sparse Databases
   2.3  Enhancements to FQUERY
   2.4  Environment Settings for use in Black Boxed Applications
   2.5  Extension of DBEXECUTE
   2.6  New Editor Moves into Multi
   2.7  What-if Analysis: Changes to TARGET command
   2.8  Color Clarification
   2.9  New QUERY Functions
   2.10 DOS-like Directory Changing
   2.11 WHEN/ELSEWHEN/ELSE/ENDWHEN in Reports

3. Navigator Enhancements       

   3.1  New Navigator Command and Function
   3.2  New Data Entry Functionality for Navigator
   3.3  Protected Views in Navigator    

Note: View this file with a non-proportional font such as Courier.

*****************************************************************************

1. Known Documentation Problems

*  On page 273 of the LightShip Modeler Tutorial, the dialog box should 
   have the "Recalculate Consolidated Sections" check box checked.

*  The Application Editor now displays the program currently in the work 
   area when entered. Previously, you had to open a program on entering the 
   Editor, and this is the way things are documented in the LightShip Modeler 
   User's Guide.

*  When you come out of Multi, the base Modeler work area is now cleared of 
   the Multi database logic and report files. There is no mention of this in 
   the documentation. Note that the operation of the MULTIACCESS and MULTICLOSE
   functions are not affected by this.

*  On page 203 of the LightShip Modeler Tutorial, it should be stated that you 
   need to add the directory containing the Modeler DLLs to the DOS path. This 
   is necessary for correct operation of certain features of the Modeler DLL 
   in LightShip.

* Page 147 of the LightShip Modeler Programmer's Reference Guide says that the 
  rownames specified as table items for DLGSELONE and DLGSELMUL cannot be blank. 
  They can, but actually appear as blank rows in the dialog box.

* When you COPY, RENAME, or DELETE a program (ep) file, you are presented with a 
  dialog box to enter the name of the file to be copied. This is followed by a 
  further dialog box for the destination file. When this is entered, Modeler 
  displays a dialog box for confirmation that the program (ep) file is to 
  be copied, then another for copying the application (ec) file. You can just copy 
  one of the files by choosing No in the appropriate dialog box when asked. In this 
  respect, the documentation in the User's Guide may be misleading as it states that 
  the two files are treated as a kind of inseparable pair. You can separate them out 
  in the way described above, but Modeler tries to eliminate any risk of the program 
  and application files getting out of step. It does this by assuming that whatever 
  you do to one file, should also be done to the other.

* The SET SPARSE command is no longer valid, as all new data files are multi-user 
  sparse.

* The TABLE option for FQUERY may not be used as stated on page 206 of the Reference 
  Guide, as this is implemented only on IBM Mainframe version of FCS, and not in 
  Modeler.

* Field names referred to in the DBREADDATA and DBREADMULTI functions are case 
  sensitive. Consider the following code extract:

	'NAME'  = -1
	DBREADDATA('name',1,'firstrec')

  The field name in the first row (NAME in this example) is case sensitive. If you 
  enter the rowname in lower case, the DBREADDATA function can't find the database 
  field called NAME. This is not stated in the documentation.

* Page 570 of the LightShip Modeler Programmer's Reference Guide describes the 
  PICTURE report specification. This fails to state that the file name of the bitmap
  should be enclosed in quotes.

* Page 470 of the LightShip Modeler User's Guide describes the Calculate All Sections 
  option as performing an "intelligent consolidation". This is not the case, and Modeler 
  will calculate the existing model according to the current settings in the Calculate 
  dialog box. The Calculate Ask option should be used if you want to change the current 
  settings.


*****************************************************************************

2. General Software Enhancements


2.1 Improved Handling of Modeler's Temporary Files

Modeler now makes use of the DOS TEMP directory feature for storage of temporary 
files. This will improve performance, particularly when using Multi reports and 
Navigator. The biggest performance gains are to be made where you are accessing 
a Multi model over a LAN, as temporary work files can now be stored in the TEMP 
directory locally, rather than in the remote working directory.


You can set a temporary directory easily, by adding a line to your AUTOEXEC.BAT 
file. For example:

      SET TEMP=C:\WINDOWS\TEMP

If a TEMP directory has been set in this way, it will automatically be detected 
by Modeler. In order to use the TEMP directory when using the Modeler DLL from 
LightShip, you need to add the following entry to your LSMOD.INI file.

      [Environment]
      TEMP=dir

This tells the Modeler DLL to use the TEMP directory for storing its temporary 
files.


2.2 Multi-User Sparse Databases

Firstly, the multi-user sparse option is now the only database format for a new 
Multi database. You can no longer create a new database in Modeler and say "I want 
this to be single-user sparse or dense". This is for data storage efficiency reasons.

Secondly, any databases which have already been created in the single-user sparse 
or dense file formats can be converted to multi-user sparse from the Multi Setup 
dialog box. This is as stated in the documentation, at the end of Chapter 19 
"Multi-User Configuration" in the LightShip Modeler User's Guide. What the 
documentation doesn't state, is that once you are in multi-user sparse format, 
there's no going back to the pre-conversion stage. 


2.3 Enhancements to FQUERY

The FQUERY function has been enhanced to be aware of the new Modeler file types 
of program (ep), report (er), and navigator view (ev). 

The following are now available as parameter d options when the FOR option has 
been used, and supplement the list shown on page 206 of the LightShip Modeler 
Programmer's Reference Guide.

      PROGRAM    Must exist and be a program (ep) file
      REPORT     Must exist and be a report (er) file
      NAVIGATE   Must exist and be a Navigator view (ev) file

 

2.4 Environment Settings for use in Black Boxed Applications

Some of Modeler's new features such as the Preview window, Banner, Toolbar, etc. 
could not be set from the Command Link. This made it impossible for them to be set 
in the DLL or in black boxed applications. 

The following have been implemented as a SET ENVIRONMENT command, to provide a 
Command Line interface to the settings in the Preferences dialog box. 

The syntax is SET ENVIRONMENT a b

where parameter a is one of the following:


       COMMAND    Command Link dialog box
       PREVIEW    Preview window
       OUTPUT     Output window
       BANNER     Banner on startup
       TOOLBAR    Toolbar
       EXIT       Query save on exit dialog box

where parameter b is either ON or OFF. 

Examples

The following are examples of how the SET ENVIRONMENT command may be used:

       SET ENV COMMAND OFF    turns off the Command Link
       SET ENV EXIT ON        turns on the Query save on exit 
       SET ENV TOOLBAR OFF    turns off the Toolbar


2.5 Extension of DBEXECUTE

The SQL statement executed by the DBEXECUTE function can now be contained in 
more than a single row of a program. This has been implemented by adding a second 
parameter, which specifies the end of a range of rows to be executed.

For example:

       'SELECT *'
       'FROM'
       'C:\DBASE'
       'filename' INIT('filename','\EMP.DBF')
       DBEXECUTE(''SELECT *','filename')

Data in the row range is concatenated, so this example executes:

       SELECT * FROM C:\DBASE\EMP.DBF


2.6 New Editor Moves into Multi 

The standard Modeler Editor interface, as described in Chapter 10 "Editing Modeler 
Files" in the LightShip Modeler User's Guide, has been extended to include the 
Database Logic Editor in Multi. Functionality and usage is identical to the editors 
described in the existing documentation.

Note that database logic for existing Multi databases will use the old Modeler 
editor (showing row numbers). The new editor is only available for new Multi 
databases.


2.7 What-if Analysis: Changes to TARGET command

An ITER keyword is now available for the TARGET command, enabling you to increase 
the number of iterations performed by Modeler. For example:

       TAR ITER 20

performs 20 iterations.


2.8 Color Clarification

In the Colors dialog box, the Help Foreground and Help Background categories are 
used by the Help files called by the DLG functions, such as DLGDATA, DLGSELONE, etc.


2.9 New QUERY Functions

The query function QUERY(!LIBRARY!) has been implemented to return the name of 
the current Modeler library to a rowname.  For example:

       QUERY(!LIBRARY!,'libname')

returns the name of the library to the rowname 'libname'.

New query functions have been included to establish information about the Modeler 
environment, notably whether features such as the Banner are enabled. 

These are:

       QUERY(!COMMAND!)   is the Command Link on?
       QUERY(!BANNER!)    is the Banner displayed at startup?
       QUERY(!PREVIEW!)   is the Preview window on?
       QUERY(!OUTPUT!)    is the Output window on?
       QUERY(!TOOLBAR!)   is the Toolbar on?
       QUERY(!EXIT!)      is Query save on exit on?

All of the functions return a 0 if the feature is switched off, or 1 if it is 
switched on.


2.10 DOS-like Directory Changing

You can now use the CD command at the Command Link to set the Modeler directory, 
as in DOS. For example:

      cd C:\LSMOD\DEMO1


2.11 WHEN/ELSEWHEN/ELSE/ENDWHEN in Reports

You can now use the WHEN/ELSEWHEN/ELSE/ENDWHEN in Reports. WHEN constructs 
can be nested (to an unlimited level).

The syntax for using the specifications is as follows:

      WHEN (this condition is met)

	    ...carry out this action

      ELSEWHEN (this other condition is met)

	    ...carry out this other action

      ELSE  ...otherwise

	    ...do this entirely different thing

      ENDWHEN

When the WHEN construct is used, it must be the first report specification
used on that row of the report. 

For example:

      TEXT 'abc'
      WHEN (a eq 2.)
	  TEXT 'xyz'
      ELSE
	  TEXT 'mno'
      ENDWHEN     

The following is not allowed:

      TEXT 'abc' WHEN (a eq 2.) TEXT 'xyz' ELSE TEXT 'mno' ENDWHEN

When dealing with dimension names in Multi reports, you should be aware 
of the following considerations:

- the dimension name must be one of the dimensions in the DOWN or BY
  specifications, excluding the last BY

- the only supported operators are ABOVE, BELOW, IS, HAS, ISNT, and HASNT. 


2.11.1 WHEN/ELSEWHEN/ELSE/ENDWHEN Examples

The following show examples of how the WHEN construct may be used:


      WHEN ('profit' col1. gt 30000.)
	    TEXT '****'
      ELSEWHEN ('profit' col1. gt 15000.)
	    TEXT '$$$$'
      ELSE
	    TEXT '%%%%'
      ENDWHEN


      WHEN ('country' is 'North America')
	    TEXT 'Bagel'
      ELSEWHEN ('country' is 'United Kingdom')
	    TEXT 'Toast'
      ELSE
	    TEXT 'Croissant'
      ENDWHEN


      WHEN ('country' below 'Europe')
	    TEXT 'EEC Country'
      ELSEWHEN ('country' above 'Europe')
	    TEXT 'Above Europe'
      ELSE
	    TEXT 'Rest Of World'
      ENDWHEN
 
*****************************************************************************

3. Navigator Enhancements

3.1 New Navigator Command and Function

A NAVIGATOR command has now been implemented. Its usage is as follows:

       NAV USING a

where parameter a is the name of an existing Navigator view, prefixed with the 
forward slash character. For example:

       NAV USING /myview

This starts Navigator and loads the view file called /myview.

A NAVIGATOR function has now been implemented. Its usage is as follows:

       NAVIGATOR(a)

where parameter a is the name (within exclamation marks) of an existing Navigator 
view or a reference to the rowname (within quotes) of a row containing the name of 
the view to be loaded. For example:

       DO(!MULTI!)
       NAVIGATOR(!/myview!)

When this is run as a program, it starts Navigator and loads the view file called 
/myview.

Non-master users can now save Navigator views.


3.2 New Data Entry Functionality for Navigator 

Navigator will now support browsing and editing of Multi input Data as well as 
browsing Multi results Data. Extra menu items in the View menu allow for switching 
between the two. By default, Navigator starts in Browse mode. An extra menu item 
in the Options menu allows you to switch into Edit mode if you are viewing input 
data.

To switch from results data to input data, choose View Input Data.

To switch from Browse mode to Edit mode, choose Options Edit Data. This will result 
in the Grid being displayed, and data may be modified.

When you enter Edit mode and start modifying data, the Options Save Sheet and 
Options Quit Sheet menu items are enabled. Save Sheet will commit any amendments 
to the data to the Multi database. Quit Sheet will refresh the displayed data from 
the Multi database. 

The changes are automatically committed to the database when:

       - the view is changed
       - a new sheet is selected
       - the view is displayed as a report
       - the Navigator session is terminated.

When you change data on the sheet, an asterisk appears in the Status Bar as a 
reminder that the sheet data is different to that currently stored in the Multi 
database. Changes to a single sheet can obviously affect many different Multi 
sections. If data in a sheet is amended, all the relevant sections will be flagged 
for recalculation when the data is committed to the Multi database. 

Consolidated members of a dimension have their data shown as "N/A" in browse mode, 
as they do not contain input data.

In a multi-user situation only the cells in each sheet are locked to prevent 
concurrent updates to the same data. If the data is locked for update when a user 
attempts to display a sheet in edit mode, a message is displayed and the data is 
presented in browse mode instead.


3.3 Protected Views in Navigator

When a view is created in Navigator. you can now check the View Protected View menu 
item. This means that when this view is opened subsequently by a non-master user, 
then the user may not change the view in any way, nor may they open a different view. 

This feature means that security can be built into applications to restrict a 
user's access of the database to a specific view, which is very useful for black 
boxed applications.

*****************************************************************************

