Simplicty and flexibility!


DataEase for DOS 5.x Documentation


Started by SG
Search
You will need to Sign In to be able to add or comment on the forum!

DataEase for DOS 5.x Documentation

Where can I get documentation about DE 5.53 over 4.53? Since you have provided LegEasy, I would like to upgrade from version 4.53 to 5.53 and take advantage of the new features available. thanks


Written by SG 13/03/17 at 10:12:54 LegEasy 4DOS

Re:DataEase for DOS 5.x Documentation

We are sorry but we don’t have any electronic documentation on DataEase 5.x.


The idea behind LegEasy4DOS is not really to get people to use DFD from scratch but rather to allow existing users to keep on using it for longer.

We have put at a feeler in the extended network if anyone has DFD 5.x documentation.

We include here what we have which we suspect is the total of the difference between DFD 4.53 and 5.53



         DFD 5.16 README

This file documents changes in DataEase since DFD 5.0. 5.16 changes are given first, followed by new features and manual notes. Then there is list of

bug fixes up to 5.15, and finally some general advice. SPR (Software Problem Report) numbers are given where relevant for reference. Some bugs were given a different number in the UK. Not all SPR's

turn out to be bugs! Problems labelled 4.53 and SPR's prior to 3018 were first reported in DFD 4.53 or earlier.

************IMPORTANT!!!

Only DFD 5.15 and later are certified y2k compliant by us!

Do NOT use the system locations feature!

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

For your own protection you should endevour where possible (after your own acceptance testing!) to be on the latest shipping version of product.

This is now a very long document. But, please take the trouble to read it - you will save time in the long run!

Changes in DFD 5.16 and yet more date info.

-------------------------------------------

The date range in DataEase products MUST be set so the current date is in the valid range! Even if you use only extended (four digit year) dates, the date range is used for determining the century for generating current

'extended date'.

Extended dates have been revised to save 'blank' properly. Please check!

The memory manager in this version is the latest available, and certifed y2k compliant. The memory strategy has been slightly altered to free as much of 640k as possible for CDF's. Performance improvements have been

reported in testing as a result of this change.

STACK SIZE

If after upgrading from 4.53 or earlier you find certain large reports won't run or large forms won't load, you have quite likely run out of DataEase Internal Stack. Increase this using the command line paraneter '=' (documented in the manual). A batch file (DE16L.BAT) is included as a sample. The default stack has in any case been increased to 50000 from 30000.

RELATIONSHIPS

A new error message has been introduced which will hopefully prevent DataEase GPF'ing when too many relationships are attempted to be opened. This message is 'Memory error opening relationship nnn". If a user receives this message when F10'ing, he should escape back to a menu.

The normal message is "System Error:Relationship limt nnn exceeded" In both cases the nnn will display the relevant number of open rels.

The new message should only be encountered when the relationships limit in Ztermdef.dbz has been increased to a high value - over 240. Please report any instances of it appearing 'earlier'. If you still experience any cases of GPf's or other unrecoverable errors which you believe are due to running out of relationships and were NOT preceded by either of the above messages, please double check your FILES= allocation. If that is satisfactory, then please report the problem - we shouldn't accept this as just being normal DataEase behaviour!

NEW FEATURE

Partially typed extended dates now default. Any part-field left blank or zero will default to the 'current' value, and part typed years will default the century. So, for example, typing 01/01/11 this year will give 01/01/1911 and next year 01/01/2011. A special case has been made for any number of zeroes in the year field. This will always give 2000, so 01/01/00 will give 01/01/2000 and not 01/01/1999 as it should (for a current date in 1999 anyway). Similarly, to help us for the next 10 years, a single digit date is assumed to be preceded by a zero, so typing 01/01/1 next year gives 01/01/2001 and will for the whole of the next century. Since the purpose is to help the typist, it is assumed that the normal requirement is to type a two digit date, so in fact typing 01, 11 etc. for year is natural.

Note that searching with wildcards still needs to have a full specification - see below under 5.13.

NEW FEATURE

DataEase now provides control over interoperability. By default, forms can be used by DFW (subject to the already existing limits) but ownership cannot be transferred. There is a new option on Page 1 of Form Properties called 'Owned'. If this is set to yes then the form cannot be acquired by DFW. Forms so acquired cannot (yet) be reliably read by DFD, so if continued inter-operability is desired, the form should be owned and maintained by DFD.

Views may be built over such forms in DFW ('form not owning table') if a GUI appearance is desired. Note that DFD 'views' do not transfer to DFW, and that new tables/forms/views created in DFD 5 are set to 'OWNED' by default.

DQL scripts can of course be transferred by existing methods, but as this is a non-destructive process the above mechanism was not thought necessary.

NEW FEATURE

If you are displaying a message in a window, you can now turn off the 'press any key to continue' message, or optionally display your own in its stead. To do this, placa a  (alt-127 on the numeric keypad) at the start of the message string. This will suppress the message. If you want to do a message of your own, then do "Your replacement key messageYour Message" You may still insert the window size parameters between the last delimiter and the start of the message - dont leave a gap between the delimiter and the first number. The maximum size of the replacement 'key' message is 40 characters.

FIXES

The 'Les Cardwell' bug, I'm afraid, still does not have a fix.

Replacing a view now does work, but:

NOTE: If you replace a form that has views based on it, for safety's sake you should replace all its views also. At the very least any such views will demand a resync, and at worst they may be 'orphaned'.

Matches between standard and extended dates work even when the extended date is indexed. SPR#4164

Metric extended dates now format correctly. SPR#4161

Mean statistic for dates no longer produce garbage (they shouldn't work - see manual)! I might be persuaded to introduce a mean calculation of some type for dates if we can all agree on what it 'means'. SPR#4166

The Date() function now handles negative months correctly. SPR#4162

Spellweekday() no longer returns 'x' if date blank. SPR#4163

Spurious zeros in display of blank/invalid extended date fields eliminated.

Failure to delete TDF/CFM's when replacing a form is cured. SPR#4165

Misdisplay in tableview when conditional colors are used has been fixed (again!).

Failure of data entry forms to recognise conditional colors cured.

Failure of data entry forms to redisplay extended dates after defaulting

century cured.

Spurious extended dates in blank fields eliminated. SPR#4189

Dates in imports can no longer become 'invalid' . The rules are that dates or times with delimiters (typically slashes or colons) may have zeroes optionally omitted in any subfield, but that dates or times with no delimiters must be fully 'zeroed'. e.g. 9/9/99 or 9/9/09 is acceptable but 9999 is not. Three digit years are never acceptable. Unacceptable input to dates will now result in a blank date, not an invalid date. Dates that are'properly formed' according to the above rules but invalid - e.g. 30/30/99 - will still be handled as at present. SPR#4201

Numeric strings are no longer truncated if the 'on file' length is shorter than the display length (in formatted strings, for example). This was also the root cause of the date to numeric string problem. SPR#4175

DFD 5.14. New features and clarifications.

-------------------------------------------

FORMAT SYNCHRONISATION.

This new facility was introduced in DFD5.13 and refined in 5.14. It enables report and procedure formats to (semi)automatically pick up changes in field formatting that have been made on forms.

The area it adresses is where field details are changed but no change is made to field type or field name. Hitherto such changes could result in garbage being displayed by a report, but the only way to reflect the changes was to delete the field from the report format, save the report, reload the report and replace the field. Tedious if it affects dozens of reports, almost impossible if it affects dozens of fields.

This facility was made semi automatic (you have to actually load and save the report/procedure with a trivial change such as typing a space somewhere) so you can choose when to change a specific report rather than have change arbitrarily thrust upon you! Also, wherever possible, the actual format you have designed is left undisturbed. For example, it was decided not to change formats for strings (text etc.) to match the form as this could change a format out of recognition!

WHAT GETS CHANGED:

Changing field type or name will result in the field being deleted from the format. This is as it has always been. Other changes have the following results:

Text and Unformatted Numeric String:

Length:

< format length - will be space filled (as opposed to garbage filled!).

> format length - will be truncated to fit format.

In this case if you wish the new length to be reflected you can simply edit it on the format - dont't remove and replace.

Formatted Numeric String, Date, Time, Yes/No, Choice:

Any change:

Field on format will be changed to match.

Number, Currency:

Number Type:

Will result in translation between number type specified on format and number type specified inform (again, instead of garbage). Minor changesin field length may result.

Max Digits:

As for string length.

Pos'n of Decimal Point:

Not changed - can be edited on format.

PgUp/PgDn

For clarity, the design behaviour of form pages is

If the page contains text only, it displays.

If the page contains only PDE and virtual fields, it does not display, regardless of whether it contains text. Conditional PDE is evaluated before display. (Complicated interdependencies on conditionals may break/fool this - make sure what you want to do actually can be handled by the program - we cannot cover EVERY possible combination!)

All other pages display.

Apart from the all text pages and the evaluating of conditionals, this is mostly as for 4.53. A couple of 4.53 bugs that sometimes caused partial pages at the end of forms to not display, and to push fields into undisplayable hyperspace when the end key was hit in a subform were cured before release of 5.0.

5.13 - Y2000, Extended dates. NEW FEATURES, tips and definitions

----------------------------------------------------------------

Many Y2k issues were first addressed in this release, but note that the first version of DataEase to be fully Y2k compatible is 5.15. See below in this section for new features, tips etc. on many date issues.

DataEase two digit dates ('standard' dates) dohandle the year 2000. They must be configured correctly in your system configuration form. This permits any 100 year span from 1901-2000 up to 1999-2098. I recommend using something between 1925-2024 and 1975-2074. Be aware that if you change this range you may 'move' dates from one century to another!

DataEase correctly handles Feb 29th in 2000. It IS a leap year!

NEW IN THIS VERSION - Wild cards searching and selection is now implemented for extended dates (and has been made Y2000 compatible for standard dates).

You may use the ? character as a wild card anywhere in a search on a date field. The date must be fully specified, e.g. you must enter 01/01/???? not 01/01/?. If you enter ?? in the year part of an extended date field the century part will be lost - i.e. the search will work as if you had copied the dates to a standard date field first.

Asterisks can no longer be entered as criteria in wild card searches on date fields (they didn't do anything anyway). If you use wild cards in a DQL or QBE the only valid tests are = or not =. Testing for > or < or indeed anything else is unspecified and you should not rely on the results.

SPR#3173, UK SPR#1330

NEW IN THIS VERSION - 'current extended date'. It is the last field in the 'current' pseudo form so you need to get the F1 list up to see it in interactive DQL. If you use it in a derivation it needs "extended date" in quotes just like other current field names with a space in them. You can also create a field on a report format called current extended date - there it doesn't have quotes - but it will correctly be created as an extended date field. (There is no option when creating a date field on a report format to select type of date field - DataEase will try to determine what kind is needed by what sort of dates it is created over).

The ability to use ??/??/?? as a synonym for current date in a standard date field definition remains - however, it ONLY applies to standard date and ONLY in a derivation - in DQL or QBE it is treated as a wild card - as it has been for many years. This feature has been declared obsolete since

2.53!

It has been made much simpler to convert an application to use extended date format. All that is now required is to change the date fields on forms - data will be translated automatically - and then resave all the reports. (You'll need to make a trivial change such as typing a space in the DQL or the format). All changes to date formats will then be picked up automatically by the system. BUT! - it will NOT automatically notice that a number field that is calculated as a year() of an extended date now needs to be four digits rather than two, even though the function does correctly return four digits.

Date Range. Extended dates start from 01/01/1776. This is not unconnected with the employment of programmers from a certain large ex-colony on the project. But also bear in mind that due to changes in calendar at differenttimes in different countries dates much earlier than this are unreliable. If there is demand I could make dates back to approx. 963 B.C. valid, but you'd have to work out the difference between dates figured back retrospectively from today and 'contempory' dates yourself.

Country independance. Extended dates are stored in a common internal representation for all date formats. Standard dates have always been stored in the format they were typed in as. This makes it much easier to transfer data from say UK systems to US systems.

Imports. Four digit year dates in ASCII imports may be separated by slashes (or any other non-digit), or just be YYMMDDDD (or whatever the local representation is). Four digit dates may also be imported to standard date fields (with replacement of century by the DataEase calculated one, of course) EXCEPT for metric format extended dates, when extended date fields are obligatory - they couldn't be imported into a date field at all in previous versions.

UNIQUENESS AND IMPORTS. Since the introduction of DFD5.0 imported records did not update if they 'matched' on a compound index. They now do. The matching rules for imports which use either of the 'update' options are implemented as follows:

All compound indexes that are unique are cumulative.

All form fields that are unique are cumulative.

Compound index uniqueness and form field uniqueness are not cumulative - this provides for the rare case when two (cumulative if necessary) values are required to be independantly unique: this normally occurs only when a dataless key (e.g. a sequenced field) is used.

On an import, the incoming values are evaluated against the values already in the form in two separate operations, one for 'form unique' and one for 'index unique'. If there is no match the record is added (or discarded if 'add or update' was not selected) If there is a matching value on either type of unique but not the other the record containing that value is updated. If there is a matching value on both types of unique and the matching values are contained in the same record then that record is updated. If there is a matching value on both types of unique and the matching values are contained in different records then the incoming record is discarded. This rule is because we do not know which record to update, and in any case updating either record or adding it as a new record will all adding it will violate uniqueness. Hope that's clear! As at present discarded records will update the error log. The 'on screen' counts and add/update messages also now work correctly.

NEW FEATURE - OS/2 version now runs in a window. It is recommended that DataEase's mouse support is turned off in this configuration. To do this edit ZTERMDEF.DBZ with a hex editor - set offset 587 to 1. (Remember - if you use debug the offset is increased by a 100) SPR #2787

NEW FEATURE - System Masks now acessible from main menus - option 8 on the admin menu 'Define Custom Table Views'. This enables the maunual editing of saved custom table views as well as creation of new ones. This is the method by which 'prevent-data-entry' fields can be axed from table view. See also System Masks below - Custom Table View is now fully implemented.

DataEase now installs a utility called HANDLES.EXE. You may use this to check that you have enough file handles available to run DataEase. The number of file handles required is application dependant but should be at least 60. Classic signs of insufficient file handles are the failure of derivations to derive when they should or files failing to be found when known to be present. The utility tells you not the total number of handles available, but the number of handles on the drive from which it is executed in the session in which it is executed - this is important as frequently separate pools of handles are established for network and local drives and for different sessions under a multi-tasking system. To be sure it is best to copy HANDLES into the data directory of your application and run it from there in the environment in which you normally execute DataEase. If you have insufficient handles consult your operating system or network documentation to find out how to increase the value.

BUFSIZE is no longer included with DataEase. This utility has no function with DFD5 and indeed is dangerous to use. You must turn page buffering off before you upgrade any pre DFD5 application to DFD5.

Tip - you probably all know this but I didn't, so I'm passing it on in case you find it useful. You may comment out field derivations by inserting the name of the field in brackets () at the start of the derivation - useful if you've got a derivation you can't make work and want to go home!

NEW FEATURES ADDED in 5.12

--------------------------

INSTALL A VIEW. Install/Replace a View implented, both from menu options and from a .din file. SPR#3616

The syntax for install.din files is

INSTALL/REPLACE FORM formname1 FROM: cfmname VIEW_OF: formname2

DATAREF:

Notice that in the remote maintenance option above you supply the

formname of the view, not the DOS filename. This protects you from the

vagaries of DataEase filenames.

Installing from a menu is exactly the same as for a form, except there

is a new option 3 when asked what type of form you wish to install -

this says 'create a view of an existing form?' You need to give the name

of the view you wish to create as the formname, the DOS filename of the form

the view is over as the TDF name, and the view's CFMname.

A CFM may be installed over any form. If the CFM fields match the TDF

it will be installed as a view. If they partially match it will be installed as

a view needing resyncronisation, if they have no obvious match the view will

not be installed.

IMPORTS - There is now an option available for DO NOT MATCH imports that

gives a choice between building indicies on the fly (good when importing only

a few records) and building them at the end (good when importing lots

of records). This is toggled using the 'use batch facility' flag - yes

means build indices at the end. Note that all other non-SQL import types

must build their indices on the fly so that matching works even against

records added or modified earlier in the same run.

NEW FEATURES ADDED by 5.11

--------------------------

VIRTUAL MEMORY - In DE4.53, when using DE16M.EXE and its Virtual Memory

feature (VMM) you had to create a VMC file to control the location, size and

name of your virtual memory swap file. In addition, other memory parameters

could be set in the SET DOS16M environment string.

DataEase 5 uses a later version of the DOS extended-mode memory

manager, which eliminates the need for these VMC files (which should be

deleted) and greatly reduces the need for the DOS16M parameter.

Virtual memory parameters are now set, like the DOS16M extender

parameters, via an environment setting (i.e. the DOS SET command). The

environment handle is called 'VMM_DE16M'; the syntax for setting it is:

Set VMM_DE16M= <parameter> <value>

where parameter and value may be:

SWAPSZ n sets swapfile size to n kbytes

SWAPNM <filename> sets the name (and path) of swapfile

KEEP keeps the swapfile after exiting

NOKEEP deletes the swapfile after exiting

(default)

XSWAP n swapfile limit - leave n kb of disk

space unallocated

XLOWM n leave n kb of DOS low memory unallocated

XEXTM n leave n kb extended memory unallocated

The parameters you wish to set must be set in a single command.

e.g., to create a 4M swap file named SWAP.DAT in your DE50 directory,

and keep it after you exit, type the following:

Set VMM_DE16M= SWAPSZ 4096 SWAPNM c:\de50\swap.dat KEEP

When creating a new application, do not set your VMM_DE16M

parameter to KEEP; doing so will result in an incorrect User Name and

Application Name. We recommend you set it to NOKEEP when creating a new

database.

The SET DOS16M string is now only observed on non-AT compatible

machines - for details of supported non-AT compatibles please see the

main manual. All AT compatible and PS/2 machines may have this string

removed.

NEW INSTALL.DIN COMMANDS. The syntax for creating .DIN files has changed

due to the new file formats and naming conventions (.DBAs are now split

into .TDF and .CFM formats).

The new syntax is as follows:

install form <formname> from:<cfmname> table:<tdfname> data:<data>

replace form <formname> from:<cfmname> table:<tdfname> data:<data>

NEW PARAMETERS FOR Call Program COMMANDS. The following parameters have been

added to the Call Program command:

%n is the full database name

%p is the DataEase program directory

%c is the control (DEPATH) directory

%s is the default data directory

%s[n] is the system location directory for the

key value n

%s'alias' is the system location directory for the

alias 'alias'

CUSTOM QUERY EDITOR/Save Incomplete Queries - This feature has been enhanced

to create security backups and now gives informative messages about its actions.

SPR#s 3080, 3687, UK SPR#1139

THE ENHANCED DATAEASE exec SQL STATEMENT.

Syntax: exec SQL ENGINENAME { "SERVERNAME", "DATABASENAME", Destination }

`SQL STATEMENT`:VARIABLE|FIELDNAME ;

Explanation: Prepares and submits an SQL statement. The SQL STATEMENT will be

executed in Dynamic SQL mode. Some statements on some servers have

alternate syntax for use in Dynamic SQL mode; also some statements

are not legal in Dynamic mode. The SQL documentation for the server

should be consulted for further details. The special Dynamic SQL

commands for statement preparation and execution are automatically

generated by DataEase and should not be entered by the user - they

will produce SQL server errors if submitted. Some SQL statements are

effectively obsolete in DQL - e.g. exec SQL "BEGIN TRANSACTION" is

functionally identical to the straight DQL Begin Transaction.

There is no syntax checking in the SQL statement, which must

be coded by the user to be syntactically correct for the target

server.

Parameter substitution is carried out for embedded DataEase

variables or field names (indicated by a preceding colon), which are

replaces with their current values before the statement is passed to

the server.

ENGINENAME is the DataEase name for the engine. SERVERNAME and

DATABASENAME are as expected by the target engine. "*" will at

runtime use the current logon value for the starred field. Different

values will direct the statement as appropriate. DataEase fields or

variables may also be used.

A DataEase form defined over an SQL table can be selected as a

destination. This allows (among other things) for the transfer of data

from one server to another using a different engine, server, database.

The results table should match the select statement column for column.

The loop that handles this regards each record as complete if it runs

out of target form fields or result row columns. So you can run a

select which returns two rows into a Dataease forms with numerous

fields as long as the first two rows and fields mach - or vice versa.

There are 2 special destinations which are not form or table

names:

ResultsToScreen:

will display the results to the screen as returned. (This was

the only option pre 5.0)

NoResults:

will not update any DataEase tables and will display nothing

to the screen. It is intended for use with SQL statements which do not

produce results tables like drop table, create index etc..

N.B. It may be useful in some systems to have a scratch table

called, say, SQLresult to handle SQL statements that have a single

return value.

Return: The SQL command's return code is returned in current

SQLCODE, and the number of rows processed is returned in current

SQLCOUNT

The CONNECT and DISCONNECT statements can be used to change the

target server. These are also not documented in the manual, but are in

the product (and have been since 5.0). Their syntax is:

connect ENGINENAME {"SERVERNAME", "DATABASENAME", "USERNAME",

"PASSWORD" , CONNECTION RETRIES } .

disconnect ENGINENAME {"SERVERNAME", "DATABASENAME"}.

If CONNECTION RETRIES is set to > 0 a username/password dialog

will be popped up the specified number of times.

Entering "*" in USERNAME or PASSWORD in connect will default to the

values used to sign on to DataEase, NOT the value used in the previous logon.

The above description is taken from the definitive SQL syntax guide

currently in preparation by Wolf Data Ltd. It will eventually be published

as part of a comprehensive DataEase Technical Reference Manual.

FIXES. in DFD 5.15

------------------

Invalid extended dates are now redisplayed for editing instead of being lost.

SPR#4160

Processing fixed to stop transitory 'invalid' dates being rejected in DQL's

etc. SPR#4159

Fixed GPF when doing CTRL-F10 when a taborder exists and the form has

multiple pages. SPR#4158

List fields that are expressions which happen to have a field from the form

as the left part of the expression are now handled correctly. SPR#4157

Numeric strings now permit the * wild card (as they always should have done)

SPR#4156

Virtual fields, groups totals etc. are now behaving properly - in 5.14 they

did not get automatically included in report formats. This fix also seems

to resolve the problem experienced in 5.14 with jointext fields. SPR#4155

exec SQL returning into formname no longer corrupts report output or GPF's

SPR#4158.

FIXES in 5.14.

--------------

Current time not displaying first digit. SPR#4151

Comparisons to 'BLANK' were not working correctly, causing virtual field

derivations to sometimes not fire off. SPR#4154

Forms with the same first four letters as system forms could not be saved.

The last fix (in response to a break in 5.13) reintroduces the

possibility of getting a cross-linked RDRR form if a .DBM file is missing -

although now this can only occur if the missing DBM belongs to a system form,

instead of any form as in all previous versions. If you are worried about

this run DataBase Status regularly - it will replace any missing .DBM's. DBM's

usually go missing because if they are of length 0 (no records in the form)

they are not copied by DOS Copy and some backup routines. Always use Xcopy.

To cure a crosslinked DBM, install the conflicting form under a new

name, and then delete the conflicting version of the form - not the system

form! You will not lose any data if you do this straight away. SPR#4142

FIXES in 5.13

-------------

Correctly handles backtab or up arrow through PDE field.

No longer corrupts filenames when replacing a procedure or report. SPR#4147

Closes files properly when processing a remote maintenance script (i.e.

install an application). This avoids running out of file handles on a big one.

(4.53)

Deletes DOS files for data-entry forms when they are deleted from the report

(4.53)

Error traps both DOS error messages meaning 'no more handles' (4.53)

PRINT STYLE SCREENS - now respects new path length, as do saved reports.

Old style reports are translated automatically, whether last saved in 5.x,

4.x or 2.5. Reports are saved in new format if amended. SPR#4148

Note that any reports saved in 5.13 betas prior to build 51307 may now

have corrupt print styles.

Imported blank extended dates no longer produce a corrupt value. SPR#4149

TABORDER - You can no longer include virtual or Prevent Data Entry fields in

a taborder. (You shouldn't have been able to anyway, as the cursor won't

physically go there). If you have any forms on which you have created a

taborder which do include the above field types (note that Calculator

fields are allowable) you must remove them from the taborder. For this

purpose taborder mode in form design still allows you to move the cursor

to such fields. You can then delete them with f6. SPR#3244, UK SPR#1165

Forms which did have such fields 'tabordered' will often exhibit

unusual cursor movement when using pgup/pgdn, the arrow keys and the F10

combinations.

Taborder is permitted on conditional prevent data-entry fields,

but should be tested for acceptable behaviour with the above keys - it is not

feasible to cater programatically for all combinations that might be created

thereby.

F10 or Ctrl-F10 on form with taborder set returns cursor in same way as

non-taborder form when returning data or escaping back. SPR#4145, UK SPR#2116

PgUp on form with virtual or Prevent Data Entry fields on as first field on

page no longer skips page. SPR#4144, UK SPR#2002

Install no longer loses taborder information. SPR#4142, UK SPR#2090

Install of views has been revised to better cope with error conditions.

Auto-update of system forms can now cope with system forms that get smaller.

(4.53)

Install now deletes the old CFE/TDE when replacing a procedure with a data-entry

form with one without. SPR#4140

Curruption of end of files when doing a copy (e.g. when using install to replace

something) when the new file is smaller has been cured. (4.53), US SPR# 4139

Missing .DBM's (usually caused by copying an application with DOS copy rather

than XCOPY - this loses zero length files) no longer cause crosslinked RDRR's.

(4.53)

Extended dates derived from standard date fields now correctly interpret

changes made in record entry. SPR#4134

Derivations involving comparisons between standard and extended date fields

now work correctly SPR#4137

Import bug introduced in beta 2 fixed.

Pre 4.0 import definitions can now be accessed in upgraded systems. SPR#s

2663, 4135

Incorrect calculation of century in imported 'four digit year' dates

when target field is extended date resolved. SPR#4136, UK SPR#2110

Importing four digit date fields that are blank no longer results in

'invalid date' message and production of error file. UK SPR#1731

Resaving of pre-5.0 imports no longer causes corruption.

Imports now support 127 char path/filenames. The on-screen handling is a little

untidy but functional.

The modified DataEase filenames - the AAEA format - have now been completely

removed and filenames will revert to the AAA-AAB-AAC.... format used in 4.53.

This means that there is no problem with upgrading databases that have large

numbers of forms or reports starting with the sane four letters. SPR#s

3995, 4138

A long standing (since 4.24 at least) error in file handling has

been uncovered and resolved. The net effect of the bug was that DE would

sometimes copy a file not where intended, but to the immediatly previous

file that had been opened. This was especially likely to occur if any

disk error (error reading drive F. can't open file, etc.) had occurred,

but could also occur when, for example, copying files about in the course of a

reorg if the new name that DataEase invented clashed with an existing name on

disk. This is the cause of several reported instances of data files ending up

with the wrong form. SPR# 2952 for example)

The above problem has been encountered more frequently in 5 than

previous versions - this is because 5 has more file handling (split TDF's

and CFM's, more index types, more system files, etc.) AND more complex file

name construction (system locations, the AAEA stuff, etc.), thus more

opportunities to trigger this bug. This does NOT mean it doesn't happen in

older versions - it was just sufficiently infrequent to be passed off as a

'glitch'

For the fix above, paths have had to be addressed. All internal

paths in DataEase are now set to at least 127 long. Because the code is

confused between 'path' (127 characters) and 'fully extended filename' (144

characters) - too confused for me to sort out in any reasonable timespan -

the limit is 127 characters _including_ drive letter and filename.

Furthermore, the command line limit is 100 characters, and some 'on screen'

limits are even shorter - mainly 'cos I don't want to redesign all the forms!

Metric extended dates now work as well as other kinds.

Remote Maintenance (install.din) - failure to replace forms/reports

and occasional updating of the wrong form on a network fixed (along with

other occasional file copy errors - see above). UK SPR#s 441, 2092, 2093

SYSTEM MASKS (Custom Table Views). There was a pathological link between the

system masks form and path length(!). The system mask form would lose all its

records if DataEase path length was changed. This is fixed (and this version

includes a new System Masks form.)

The system mask form caused an abrupt exit if you attempted to switch

to table view while in record entry on it.

The absence of the system mask form no longer causes an abrupt exit

from table view - it is treated as a 'soft' error unless you attempt to save

or delete a custom table view.

The inability to delete PDE/Virtual fields from a table view, reported

as an error - SPR#3187, UK SPR#1285 is PAD - you're not allowed to put

the cursor there because you could enter data! But you can save your custom

table view in System Masks and edit it there to exclude such fields.

CDF's. The apparently permanaent disappearance of CDF's on certain machines

when certain actions were taken has been fixed. This was a memory alignment

bug, so it is very difficult to describe what would trigger it, but those that

have it know what it looks like! SPR#4133

Slow loading of CDF's has been speeded up by about 30%. SPR#4124

The limit of CDF's loaded at one time is now 1024. It was 255 by

accident - there was supposed to be no limit in DFD5 - this is a compromise

as fully implementing the 'unlimited' strategy had unacceptable performace

limitations

Build up of memory under DPMI and 'dirty' exit addressed by

loading/unloading CDF's as for other environments.. (4.53)

HOW CDF's WORK NOW - CDF files and libraries are loaded as required by forms or

reports when the form or report is first loaded into memory. If the CDF is part

of a library the whole library is loaded. When DataEase returns to a menu (an

actual displayed one, not a 'chain') the CDF's are unloaded. This means the 1024

limit is unlikely to be an issue, but remember that it is the total number of

functions in libraries referenced by the form/proc that get loaded, so if you

use one function from each of the Handtool libraries, for example, you

actually load 100+ CDF's. An application can of course use thousands of

CDF's as long as not more than 1024 are loaded at once. If you DO manage to

exceed this limit (and I don't think you'll manage it!) you'll get a 'can't

find CDF' message.

WHY CDF LOAD IS SOMETIMES SLOW - In an attempt to optimally implement CDF

libraries and to remove the risk of loading libraries multiple times a

predecessor of mine took the decision to load a whole CDF library if any one

CDF in it was called. So when getting a single library CDF this meant searching

the CDF form to identify the other CDF's in that library. This seemed a

potential bottleneck to the programmer at the time.

So, to speed this up it seemed like a good idea to use indices.

Also, to allow an unlimited number of CDF's, the internal structures

holding the CDF details were dynamically allocated (although one structure

was overlooked, which caused the unwanted effective limit of 255 CDF's )

Unfortunatly, DataEase system forms can't have indices. So the CDF

form was, internally, made a 'normal' form. But 'normal' forms aren't

cached in memory like system forms. Also, they get full network processing.

So, the system form has to be loaded and reinterpreted every time we load a

set of CDF's. This plus the fact that indices actually slow searches down

when getting a large percentage of a small numbers of records (especially

on a network with locking considerations) caused the 'improvement' to have

the opposite of the desired effect. Single CDF's - not in libraries - are

scarcely affected by this. The smaller the library the less the effect.

CDF MEMORY OVERHEAD - I have EXTENSIVELY tested DataEase and can now detect no

memory build up from repeatedly loading/unloading CDF's. If you experience it

you should suspect the CDFs or your installation, especially if the buildup

occurs in Windows but not outside. My testing has mainly been with Handtools

and I can guarantee they are clean!

Changes in field definitions in forms are now automatically picked up by

reports when resaved after a change. (Previously, fields which were changed

in detail were not updated, fields with major changes were deleted. The

latter is still true, but fields with minor changes such as length are now

updated the next time the report is changed and saved.)

This helps prevent corrupt print out on reports where the length of a

field or type of a field has changed and removes the necessity to manually

delete a field that has changed in such a way from all reports in which it is

referenced - you then had to save the report, reload it, reinsert the field,

and save a second time. This was an old, old problem - probably back to 2.x!

Extended dates are now validated when entered. Previously, they were

translated to a valid date representing the same number of days -

e.g. 30/2/1997 would become 2/3/1997. UK SPR# 2017

Date data is now automatically translated when a field is changed

from extended to standard and vice versa. On translation fron standard to

extended, the century is assumed based on the current settings in the

configuration form. On translation from extended to standard, the century

is lost.

Date comparisons between different date types now work, as do lookups.

Century is assumed for standard dates as above. Comparisons are always

four digit date - e.g 01/01/2000 and 01/01/1900 are not equal even

if the result field is a standard date.

Extended dates now appear as correct length on reports.

Reports installed or replaced on a network do not lose their data entry

forms. SPR#441

FIXES in 5.12

-------------

The following problems have been resolved:

Fasttext indices occasionally caused mismatches in certain DQL's.(ones that

had an 'any' clause). SPR#4132

Fields that do not appear on a view are not saved when a record is

modified (i.e existing data entered by users with full access was deleted).

SPR#4126

Slow imports. SPR#4127

Extraneous display when entering first/new record in multiform that contains

conditional colors. SPR#4128

Install a procedure failed to copy the procedure's DOS file when on a network

SPR#4129

Fix to restore - now capable of restoring greater than 192 files!!

SPR#4130

Running a DQL on a view with a filter would GPF when run (not loaded) from

the DQL menu. SPR#4122 , UK SPR#1821.

When using system relationships or menus with more than 255 forms choices

would overwrite. SPR#4123 , UK SPR#1971.

Slow CDF loading SPR#4124.

Lookups on certain dates would appear , then the field would clear

SPR#3455, UK SPR#1953.

Certain dates get wrongly translated every 256. SPR#3455, UK SPR#1977.

Changes to form properties are lost (453), SPR#3381, UK SPR#1209.

Tab Order ignores the first field in a subform SPR#4125, UK SPR#1982

(Note : you must resave your tab order in this version to fix this problem).

Compound Indices not recognized by views if the index was created after the

view SPR#4077 , UK SPR#1791.

Create Index in a DQL will update all of the indexes SPR#4121.

Fixes in 5.11

-------------

Views - Crosslinking of RDRR cured. (5.10 only)

GPF switching to table view cured. SPR#4115, UK SPR#1937

Non-use of indices cured. SPR#4103

Corruption on resync cured.

Can no longer save invalid fields. SPR#4095

Can now clear a record! SPR#4049

Taborder - GPF in form design fixed. SPR#4114

Memory Footprint (16M) - Now meets minimum memory requirements without

performance penalty, and clears more memory for CDF's. SPR#s

4107, 4092. Now uses UMB's if available.

Color field attribute - No longer needs quotes unless part of a conditional

expression. No longer reverts to 'regular' when a field elsewhere on

the form is modified. US SPR#s 3663, 4090, UK SPR#1376

Conditional Color Attributes - Fixes to Table view, ctrl-F10, field entry,

color bleed and display corruptuion in DQL and record entry. Pre-

viously unreli1able in multiforms (Forms which have subforms, or

are used as subforms) SPR's 3228, 4018, 4050/1, 4116-9, 4210

Conditional Required Attributes - Previously unreliable in multiforms. 4051

Some valid derivations previously ignored now processed correctly.

Conditional DataEntry Attributes - Previously unreliable on multiforms. 4051

Default Records - Erroneous write-back of form definition when deleting

default record fixed. SPR#4087

Standard/Extended Dates - can no longer save invalid format. SPR#3449

Alt-T Enhanced Searching - no longer corrupts screen in record entry SPR#

4112, UK SPR#1748 or input using SPR#4113, UK SPR#1811.

Create/Delete Index - GPF's cured.

Ripple Choice - GPF's on encountering unexpected situations fixed. SPR#3595

GENERAL ISSUES

--------------

View Resync.

Resychronising a view has been the subject of several bug fixes,

but is still somewhat unreliable on large forms. It also has a design flaw

in that it is TOO thorough - it resynchronizes EVERYTHING in a view (except

field derivation). Our recommendation is to to avoid resynchronisation of

views - if the underlying form is changed, you should create a new view

and delete the old one. This area is a priority for future attention.

Other View information.

1. If you have a View that does not include all the fields on the

underlying form, pressing F5 in the view will clear both the fields

in the view and the (hidden) fields in the underlying form. However,

if you access existing records through the view (by pressing F3, for

instance), then change the data on the screen and enter the record, any

data in the hidden fields (on the underlying form) are also copied into the

new record. But if you modify a record, the 'hidden' data is not changed.

This behaviour IS Performs As Designed!

2. If you create a View over a Multiform, the Subforms are not

carried over. They must be recreated and redesigned for that View. You

may add other subform definitions not extant in the underlying form.

3. If you modify a View and want to save the results under a new

name, an additional View will be created over the existing Form.

4. When you create a View, all the relationships possessed by the

underlying Form are replicated for the View. The new relationships will

retain the original optional relationship names of the owning Form; they

must be manually altered for the newly created relationships.

5. It is possible to change the field derivation of a field

in a View so that they are different from those of the Form. It is

recommended to be cautious when modifying these field attributes as in

certain circumstances the data entered from a View could override the

restrictions placed in these fields in the underlying Form.

6. Fields that are part of a compound index can be removed from a

view once the view is initially saved. Even though this is allowed, we do

not advise removing these fields.

N.B. for SQL aware users: DataEase Views should not be confused

with SQL views. Although DataEase Views perform the same logical function

as an SQL view (e.g. a virtual data structure built on underlying real

structure(s)), the fundamental structure in DataEase is the form, which

includes not just a table definition, but screen layout and methods for

data validation, display and lookup, and embedded relations. Therefore

DataEase Views cope additionally with these aspects of data representation.

General Upgrade Issues

1. The RESTORE function of DataEase 5 for DOS and OS/2 is designed

to allow you to restore DataEase Backups that were made with DataEase 4.x

software versions into the 4.53r1 format. When you then sign on to

the database using DataEase 5.1 for DOS and OS/2, you will be prompted to

convert the application to a DataEase 5 application.

2. You cannot restore a DE2.53 database to DataEase 5. You must

obtain a copy of DataEase 4x (any version) from your dealer. Special

upgrade packs are available in some markets that include a copy of

DataEase 4.53.

3. If you have a 15-character User Name, and sign on using the name

and password as parameters from the DOS prompt, then your password will be

visibly appended to the username on the sign on screen. If you wish to

prevent this display, either use a 14-character User Name, or do not

include the password in your sign-on command string.

Virtual Memory Usage under DPMI.

When running the 16M product under a DPMI host such as OS/2 or

Citrix, Virtual Memory handling (and real memory allocation) is carried

out by the host rather than by DataEase. This seems to require more

allocated DPMI memory (which is real plus virtual memory - the operating

system decides the proportion) than one would expect from usage in other

environments. We recommend a minumum of 4MB DPMI allocated to the DataEase

DOS session, and this may need to be increased considerably for a large

application. The native OS/2 version of the product does not experience

this problem.

The above is not necessary for Windows, Windows for Workgroups, or

Win 95, as DPMI memory allocation on those hosts is not under user control.

However, running a large DataEase application in a Windows session on a

machine with limited real memory may result in disk thrashing - increasing

real memory or reducing the memory overhead of other active programs is

then necessary to restore performance.

Tutorial.

The TUTORIAL disk must be installed from the DataEase Install

program (as documented). After installing it, you must sign on using

DataEase 5 and convert the application.

The User Name is 'NEWUSER'; the Password is 'TUTOR'.

Create Form.

1. If you create a new DQL procedure which uses the command

'Create Form', you will be able to parse and save it, but you will not be

able to run it unless you first exit to the Main Menu, then return

to the DQL Menu to run it.

2. Problems may be experienced defining and running procedures

which create a form, enter records into it, and then delete the form. We

recommend you perform these operations in separate procedures, and call

them from a Control procedure. We further recommend that, before running

them, you save the procedures after creating them, exit the application,

and sign back in to run them.

Application Name.

It is no longer possible to give a Form the same name as the

Application name (this is an interoperability issue).

Custom Editor.

It is not possible to use a Custom Editor to edit a DQL report

which has field formats embedded in an "output" statement. Nor should such

a report be saved 'incomplete'.

DBASE AND PARADOX CONNECTIVITY

The following issues occur when using the dBase and Paradox drivers.

Form Definition.

When you define a DataEase numeric string field over a dBase text

field, DataEase does not display padded zeros regardless of whether you

selected this option in the DataEase Application Configuration.

DataEase allows for a time field to be defined over a dBase

or Paradox character field. This is not recommended.

A DataEase numeric string field over a Paradox date field will

cause a "type mismatch" error if you add a record and then switch to table

view in record entry. Use DataEase date fields over Paradox date fields.

Record Entry.

It is recommended that all remote tables have a unique key field.

This is because access is via an SQL interface, and SQL posesses the

following limitations when no unique field is provided:

1. Searches will retrieve multiple matches in a random order.

2. If you have duplicate records, all of them will be deleted if

you delete one.

Peter J. Tabord


Written by DataEase 13/03/17 at 10:26:01 LegEasy 4DOS

DE553 Help File as Text

298

#1 s 1:1-8 - 10

Type the Database Name and press RETURN.

#2 1:1-8

Type your User Name and press RETURN.

#3 1:1-8

Type your Password and press RETURN. The Password remains invisible.

#4 s 1:1-9 - 10

A new database will be created on your data drive.

#6 s 1:1-15 - 20

<Help>

ALT-F1 HELP Display help on current topic

<Selecting menu items>

F1 MORE Scroll menus

ESC EXIT Exit menu

\U UP Previous menu item

\D DOWN Next menu item

Home HOME First menu item

End END Last menu item

PgUp PREV PAGE Previous menu page

PgDn NEXT PAGE Next menu page

\N RETURN Select highlighted item

<Entering data in a field>

F6 CLEAR FIELD Clear the current field

\L LEFT Delete previous character

\R RIGHT Next character in field

\S BACKSPACE Delete previous character

\N RETURN Next field

Ins INSERT Insert mode on/off

Del DELETE Delete current character

#10 2:2-13

Select {1} To define a new form.

{2} To view or modify a form or print a form definition.

{3} To define, view, modify, or delete relationships.

{4} To delete a form.

{5} To recreate the form's data and index files.

#11 2:2-14

Type the new Form Name and press RETURN.

Do not start the name with a number.

#12 s 2:2-93 - 94

Select the form to view or modify and press RETURN.

After viewing the form, press ESC EXIT.

After modifying the form, press F2 SAVE.

#13 2:2-131

Select the form that you want to delete, and press RETURN.

All the records in the form will also be deleted.

#14 2:2-105

Select {No} to save under the same name.

Select {Yes} to save under another name. Specify the new name

and press RETURN.

#16 2:2-106

Select {Yes} to transfer records from the current form to the new form.

#17 s 2:2-101 - 104

Select {Yes} if you have reorganized the choices. Select {No} if you

have only added choices, or changed choice descriptions.

#18 s 2:2-132 - 133

Select the form that you want to reorganize, then press RETURN.

#19 s 2:2-17 - 34

F2 Save the form.

ESC Exit the form without saving.

F4 Display the pull-down Command menus.

<To move the cursor>

\L \R \U \D One space in the indicated direction.

Ctrl \L Ctrl \R First or last position in line.

Home or End First column in first or last line.

\T \B Next or previous tab position.

\R First column in next line.

PgUp or PgDn Previous or next page.

<To Edit Text>

Ins Turn Insert mode on or off.

Del Delete a character.

F3 Cut a block of text.

F5 Copy a block of text.

F6 Paste the copied or cut block.

F7 F8 Delete a line. Insert a line.

Alt-F10 Draw borders and use the Extended Character set.

<To define a field> Type the Field label, then press F10.

#50 1:2-11

Select a form in which to enter, modify, view, or delete records.

From this form, you can access related forms, and define

QBE - Quick Reports based on this form.

#51 s 2:2-15 - 34

<To move the cursor>

\L \R One space left or right. \U \D Field above or below.

Home End First or last field. \T \B Next or previous field.

\R Next Field. PgUp PgDn Previous or next page.

<To edit text>

Ins Turn Insert mode on/off. Del Delete current character.

<Record processing>

SH-F1 Display Table View. F6 Clear field.

F2 Save a record. SH-F6 Default for field.

SH-F2 Save Default record. F7 Delete current record.

F3 View next/selected record. F8 Modify current record.

SH-F3 View previous record. F9 Quick Reports menu.

ALT-F3 Continue selected view. SH-F9 Print current record.

CTRL-F3 View by record number. ALT-F9 Auto Derivation off/on.

F4 Display Command menus. CTRL-F9 Rederive all fields.

F5 Clear all fields. F10 Go to a related form.

SH-F5 Read Default record. ALT-F10 Ad-hoc Multiform.

ALT-F5 Enter SEARCH mode. CTRL-F10 Lookup related form.

CTRL-F5 Undo record changes. ESC Exit.

#52 s 1:3-2 - 6

<Purpose> <Step> <Comments>

{Define Report} 2. Start New Report Required if a report is in memory.

3. Select Records Optional, Default: All records.

4. Select Fields Optional, Default: All fields.

5. Define Format Optional, Default: Columnar.

6. Define Print Style Optional, Default: Screen.

10. Print Report Defin. As desired.

1. Run a Report As desired.

7. Save a Report As desired.

{Modify Report} 8. Load a Report Select an existing report.

3, 4, 5, 6, or 10 Select desired steps in any order.

1. Run report As desired.

7. Save Report As desired.

May save under a new name.

{Run a Report} 2. Start New Report Required if a report is in memory.

1. Run Report Select the report to run.

#53 s 1:2-42 - 44

Select a relationship to view.

DataEase displays the first related record.

If no related record is found, DataEase copies the related fields.

Press ALT-F3 to see other related records.

Enter, modify, delete, view or print records.

View forms related to this form.

#54 s 1:3-17, 1:3-22

Select a relationship to include in the report.

#55 s 1:3-11 - 1:3-18

Move the cursor to each field to be used for record selection.

Type the record selection criteria:

{ConstantValue} James* James Ivory "James*" 23 Male

{Multiple Values} "James*" or "Bill*" Male or Female

{Ranges} =^> 23 ^>= 23 and ^<= 100 between 23 to 100

{Comprehensive} (^> Rate * Hours or ^< 20000) and ^< lookup DEPT Salary

#56 s 1:3-19 - 1:3-23

{Move the cursor} to each field to be listed in the order you specify.

{Press the Spacebar} to mark the field with its relative order in the list.

You may also type the relative order. Then specify the list options:

{To sort or group on a field}, specify one of:

Order - Sort in order

Reverse - Sort in reverse

Group - Group by field

{To obtain field statistics}, specify one or more of:

Count - Count of records processed

Sum - Total

Mean - Average

Min - Lowest

Max - Highest

Std.Dev. - Standard Deviation

Std.Err. - Standard Error

Variance - Variance

#60 s 3:2-3 - 28

<Purpose> <Step> <Comments>

{Define Procedure} 2. Start New Procedure Required if procedure in memory.

3. Data-entry Form Optional, run-time variables.

Transaction input.

4. Define Query Required.

5. Define Format Optional, Default: Columnar.

6. Define Print Style Optional, Default: Screen.

10. Print Procedure Print Procedure Definition.

1. Run Procedure As desired.

7. Save Procedure As desired.

{Modify Procedure} 8. Load Procedure Select an existing procedure.

3, 4, 5, 6, or 10 Select desired steps in any order.

1. Run Procedure As desired.

7. Save Procedure As desired.

May save under new name.

{Run Procedure} 2. Start New Procedure Required if procedure in memory.

1. Run Procedure Select the procedure to run.

#62 s 3:2-7 - 13

The Data-entry form is used to enter information for the procedure at

the time the procedure is run. The information entered may be used

anywhere in the query: for record selection criteria, in calculations, or

for listing in the report output.

#63 3:2-8

Answer {Yes} if you want to run the procedure repeatedly without

returning to the menu. This option lets you:

{Use the procedure for transaction processing.}

The Data-entry form becomes the transaction input form. The data entered

in the transaction can be posted to any number of files via DQL.

{Create alternate views of the data}.

The Data-entry form becomes a subset of information in one form

or a superset of information in multiple forms.

#64 3:2-13

Answer {Yes} if you want to delete the Data-entry form currently defined

for the procedure.

#65 3:2-23

Answer {Yes} if you want to create another procedure without overwriting

the current procedure.

#66 3:2-23

Enter the name of the procedure and press RETURN.

Do not start the name with a number.

#67 3:2-24

Select the procedure to load and press RETURN.

#68 3:2-26

Select the procedure to delete and press RETURN.

#69 3:2-5

Select the procedure to run and press RETURN.

#70 3:5-4

Select {Yes} to keep the format you have already designed.

Select {No} for a new predefined format, or to design a new custom format.

#71 s 3:5-5, 3:5-8 - 26

<Report Formats>

Select {Columnar} to get a tabular report with one line per record.

{Field per Line} to place every field on a new line.

{Record Entry} to use the record entry form.

{Template} to use a predefined template form.

{GrafTalk} to use the report data to create a GrafTalk chart.

{Custom} to design your own format.

{Export} to export to other programs.

{Mailing Labels} to print on "multi-across" labels.

#72 s 3:5-27 - 39

<Export Formats>

Select the format that is accepted by the destination program.

{Mail-merge} exports data to Wordstar and other programs.

{MultiMate} exports data to MultiMate.

{WordPerfect} exports data to WordPerfect.

{GrafTalk} exports data to DataEase GrafTalk.

{Lotus 1-2-3} exports data to Lotus 1-2-3/Symphony.

{Variable Length} exports data to Mainframes and custom programs.

{Fixed Length} exports data to Mainframes and custom programs.

{DIF} exports data to various spreadsheet and graphics programs.

#73 s 3:5-27, 3:5-39

Select {Yes} to export the Field Names.

#74 s 3:5-12 - 13

Select {Yes} to create a Group Header and Trailer for each level

of grouping specified in the query.

#75 3:6-47

Select {1: copy all from} to copy all fields with matching names from a

database form or the Data-entry form.

#76 s 3:5-42 - 57, 3:5-65 - 68

<Report Format Command Lines>

{REQUIRED}

.items Items area repeated for each record.

.end Report End Area printed at the end of a report.

{PAGE CONTROL}

.page Forces a new page.

.header (N) Header at the top of each page (starting at [N]).

.footer (N) Footer at the bottom of each page (starting at [N]).

{GROUP FORMATS}

.group header At the start of each group.

.group trailer At the end of each group. Place group totals here.

{OTHER}

.items nosplit Output from each record will appear on the same page.

across M wide N The following values will be printed [M] times across,

and each will be [N] spaces wide.

printer control [@c1] to [@c4] select CPI 1 to 4 from print definition

[@l1] to [@l4] select LPI 1 to 4 from print definition

special effects [@b,@nb; @i,@ni; @u,@nu; @s1,@ns1; @s2,@ns2]

bold 4italic u'line special1 - special9

Alt-F10 Extended ASCII output characters, including highlights.

#77 s 3:5-40 - 57

Select the list field to be placed here.

#78 s 3:5-40 - 57

Select the list item or statistic to be placed here.

Statistics may not be placed in Group Header or Report Header.

Statistics (sum, max, min, count) may be placed in the Items Area, and in

Page Headers and Footers.

Group Statistics may only be placed in Group Trailers.

#79 3:5-62

For Fixed point or Integer fields, select {Yes} to suppress commas.

#80 3:5-62

For Fixed point fields, select {Yes} to suppress the decimal.

#81 3:5-63

Select {Yes} to remove space at the start or end of field, to combine

the field with the adjoining text.

#85 s 3:2-15 - 21

<QUERY PROCEDURES>

{INTERACTIVE MODE} [(Starting mode when you define a query)]

Multiple Choice Questions

Select or Type Type Choice Number or the Entire Phrase.

Skip Question Press TAB, or 0.

Type Out Questions

Type Type the answer and press Spacebar. Press TAB to skip.

Typing Ahead Type ahead symbols and punctuation, not numbers.

Making changes Move the cursor and edit.

Go into Edit Mode Move the cursor up or to the left.

{QUERY LEVELS}: [LOW] Level should generally be used to save time.

Change to [HIGH] Level by pressing [F9 LEVEL] when you need to enter,

modify, or delete records, or access a DQL Procedural command,

Control command, or data manipulation function.

{EDIT MODE} [(Starting mode when you modify a query)]

Editing Type and use all cursor and editing functions.

End the query Press F2 SAVE.

Go to Interactive Position cursor, and press F1 INTERACTIVE.

#86 s 3:6-73 - 75, 3:6-148

Select the name of the Primary form.

#87 s 3:6-165, 3:6-196

Select {1: with} to select records from the form. To report on all

records, press TAB.

#88 s 3:4-1, 3:6-46, 3:6-150

DQL Advanced Processing is performed by two types of procedures.

A {PROCESSING PROCEDURE} lets you list, enter, delete, or modify records,

and create screen, disk, or printed output. A Processing procedure may

include Processing commands and/or Procedural commands, but may not

include Control commands. A Low Level Processing procedure can only

list records. A High Level Processing procedure can also enter, modify,

and/or delete records.

A {CONTROL PROCEDURE} lets you link procedures together with or without

conditional processing actions specified by Procedural commands.

A Control procedure may include Procedural commands and/or Control commands,

but may not include Processing commands. A Control procedure can only be

defined in High Level.

#89 s 3:6-91 - 94

Select {in order} to sort records in ascending order by this item.

{in reverse} to sort records in descending order by this item.

{in groups} to process records with same value together.

{in groups with group-totals} to process records in groups and

generate group statistics.

Advantages of {in groups}:

The item value is listed only once per group.

Each group can be formatted using group headers and trailers.

#90 s 3:6-101, 3:6-119 - 120, 3:6-126, 3:6-174 - 176, 3:6-189

Select one or more Statistical Operators:

Select {item} to list the item itself in the report output.

{sum} for the total of the values in the specified field.

{mean} for the average value.

{max} for the highest value.

{min} for the lowest value.

{variance} for the Variance among the values.

{std.dev.} for the Standard Deviation.

{std.err.} for the Standard Error.

#91 s 3:6-101, 3:6-119 - 120, 3:6-126

Select one or more Statistical Operators:

Select {item} to list the item itself in the report output.

{mean} for the average value.

{max} for the highest value.

{min} for the lowest value.

#92 s 3:6-101, 3:6-119 - 3:6-120, 3:6-126

Select {item} to list the item itself in the report output.

{max} for the highest value.

{min} for the lowest value.

#93 s 3:6-43, 3:6-50, 3:6-102, 3:6-142

Select one or more Condition Statistical Operators:

{item} returns "YES" if condition is true; "NO" if false.

{count} counts the records that satisfy the condition.

{percent} calculates percent of records that satisfy the condition.

#94 s 3:6-43 - 44, 3:6-176

Select {1} if you want to include statistics for this item.

#95 s 3:6-158

Select {1} to specify a relationship (list records in a related form).

#96 s 3:6-132 - 133

Select {0} to modify records in the Primary form; {1} to modify records

in another form.

#97 3:6-61

Select {0} to delete records in the Primary form; {1} to delete records

in another form.

#98 3:6-66

Select the form into which records will be entered.

#99 3:6-110

{list records in} FORMNAME ^| RELATIONSHIP ^[{named} "UNIQUE RELATIONSHIP

NAME"^] ^[{with}(selection criteria)^]

List fields in selected records in the Primary form or a related form.

Separate each list item with a semi-colon (;).

After the last item type a period.

A list item may be any type of value: a field name, a field in a related

form, a constant value, a variable, or a formula. For each list item,

optionally specify ordering or grouping, and statistics.

#100 s 3:6-132 - 133

{modify records in} FORMNAME ^| RELATIONSHIP ^[{named} "UNIQUE RELATIONSHIP

NAME"^] ^[{with}(selection criteria)^]

FIELDNAME := MODIFIED VALUE

Modify fields in selected records in the Primary form or a related form.

Select the field(s) to be modified.

Specify the modified value to be given to each field.

#101 3:6-61

{delete records in} FORMNAME ^| RELATIONSHIP ^[{named} "UNIQUE RELATIONSHIP

NAME"^] ^[{with}(selection criteria)^]

Delete selected records in the Primary form or a related form.

#102 3:6-66

{enter a record in} FORMNAME

Enter a record in the specified form.

Specify the target form.

Specify all the fields in the record to be entered.

Specify the value to be given to each field.

#103 s 3:6-85 - 86

{if} CONDITION {then} ACTIONS1 ^[{else} ACTIONS2 ^] {end}

If condition is true, perform actions1, else perform optional actions2.

Specify the condition for the {if} statement.

Specify the actions to be performed if the condition is true.

Insert an optional {else} clause, and specify the actions to be executed

if the condition is false.

Use an {end} command to terminate the {if} statement.

#104 s 3:6-194 - 195

{while} CONDITION {do} ACTIONS {end}

While condition is true, perform all specified actions.

Specify the condition for the {while} statement.

Specify the actions to be executed while the condition is true.

Use an {end} command to terminate the {while} statement.

#105 s 3:6-73 - 76

{for} FORMNAME ^| RELATIONSHIP ^[{named} "UNIQUE RELATIONSHIP NAME"^]

^[{with}(selection criteria)^] ACTIONS {end}

Perform all the specified actions for each selected record.

Specify the form or relationship that contains the records to be processed.

Specify the record selection criteria.

Specify all the actions to be performed for each selected record.

Use an {end} command to terminate the {for} statement.

#106 s 3:6-59 - 60

{define} {global} ^| {temp} "VARIABLE NAME" TYPE ^[LENGTH^] .

Define a variable with the specified name, status, type, and length.

Select the status of the variable: global or temporary.

Type the name of the variable enclosed in quotes.

Specify the variable's type.

Optionally, specify the variable's length.

Use a period to end the {define} statement.

#107 3:6-192

Select {1) to use a global variable.

Select {2) to use a temporary variable.

#108 3:6-28

{assign} {global} ^| {temp} VARIABLE NAME := ASSIGNED VALUE .

Assign a value to the specified variable.

Select the variable to the assigned.

Type the value to be assigned to the variable.

Use a period to end the {assign} statement.

#109 s 3:6-45, 3:6-77, 3:6-105, 3:6-136, 3:6-192

A value can be any of the following:

Field Name (field from the Primary form or a related form)

Constant (text constants are enclosed in quotes)

Formula (see operations, below)

Function

Variable

Operations allowed are:

Arithmetic: + - * /

Logical and or

Comparison = ^> ^< ^>= ^<= between not

#110 s 3:6-25, 3:6-137, 3:6-165

Select {0: NONE} to end selection criteria.

{1: and} if both conditions must be true.

{2: or} if either condition may be true.

#111 s 3:6-25, 3:6-137, 3:6-165

Select {0: NONE} if no more conditions are to be defined.

{1: and} to define one more condition that must be true.

{(} to define a set of conditions containing {or}.

#112 s 3:6-25, 3:6-137, 3:6-165

Select {0: NONE} if no more conditions are to be defined.

{1: or} to define one more condition that may be true.

{(} to define a set of conditions containing {and}.

#113 s 3:6-15 - 17, 3:6-42

Select {1: =} for equal to

{2: ^>} for greater than

{3: ^<} for less than

{4: ^>=} for greater than or equal to

{5: ^<=} for less than or equal to

{6: between} for a range

{7: not} to reverse the meaning of the following operator

#114 s 3:6-4 - 5

The following arithmetic operators are provided:

{+} Plus

{-} Minus

{*} Multiply

{/} Divide

#115 3:6-10

{(} (parentheses) lets you specify the order of evaluation, as well as

combine {and} and {or} in selection criteria or conditions.

#117 3:6-108

Select a Field Name. To skip press {0} or {TAB}.

#118 3:6-33

An unspecified field value is represented by the keyword {blank}. It is

used to assign an unspecified value to a field, to check if a field value

has been specified, and/or to output a {blank} field.

#119 3:6-45

Specify a Constant value typed as follows:

{FIELD TYPE} {COMMENTS} {EXAMPLES}

Text Enclose text in double quotes "James"

Num. String Do not type the format characters 42035551212

Number Do not type commas 10012.15 or -2456

Date Use slashes in a Date value 12/31/99 or 12/31/1999

Time Use colons in a Time value 23:59:59

Yes or No Select value from the menu Yes or No

Choice Select value from the menu Male or Female

The keyword {blank} can be used as an unspecified value for any Field Type.

#120 3:6-158

A relationship lets you select records in a related form based on a

specified field value as summarized below:

{Operator} {Returns}

all Specified field value from {each} related record.

(This operator can only be used as a list item).

any Specified field value from the {first} related record.

count of Count of records in set of related records.

highest of Highest specified value from set of related records.

lowest of Lowest specified value from set of related records.

sum of Sum of specified value from set of related records.

mean of Avg. of specified value from set of related records.

#121 s 3:6-20 - 21, 3:6-158

Once a relationship has been defined in the query, you need not specify

it again. Select one of the relationships that you have already defined

in the query. Press TAB to define a new relationship.

#122 s 3:6-20 - 21, 3:6-158

These forms have a predefined relationship to the last form specified

in the query. The criteria for these relationships have already been

defined, but you may add to the criteria by creating an ad-hoc relationship.

Select a form or press TAB to define an ad-hoc relationship.

#123 s 3:6-20 - 21, 3:6-158

Select a form to define a new relationship with. You may then optionally

specify record selection criteria for the relationship.

#124 s 3:6-20 - 21, 3:6-132 - 133, 3:6-158

If you define more than one relationship with the same form using different

record selection criteria, you must provide a unique name for each

relationship. To provide a unique name, select {1: named}, then type the

name in quotes.

#125 s 3:6-20 - 21, 3:6-132 - 133, 3:6-158

You may optionally define criteria for the relationship. If the

relationship is predefined, these criteria will be added to those

already defined.

#126 3:6-77

[IF FUNCTION]

{if}(CONDITION, TRUE VALUE, FALSE VALUE)

[DATE FUNCTIONS]

{month}(DATE) {day}(DATE) {year}(DATE)

{weekday}(DATE) {yearday}(DATE) {yearweek}(DATE)

{date}(MONTH,DAY,YEAR) {julian}(DATE)

[SPELL FUNCTIONS]

{spellmonth}(MONTH) {spellweekday}(DAY OF THE WEEK)

{spelldate}(DATE) {spellnumber}(NUMBER) {spellcurrency}(NUMBER)

[TIME FUNCTIONS]

{hour}(TIME) {minutes}(TIME)

{seconds}(TIME) {timeampm}(TIME) {ampm}(TIME)

[TEXT FUNCTIONS]

{firstc}(TEXT, # Chars) {firstw}(TEXT, # Words)

{lastc}(TEXT, # Chars) {lastw}(TEXT, # Words)

{midc}(TEXT, StartChar, # Chars) {midw}(TEXT, StartWord, # Words)

{jointext}(TEXT1, TEXT2) {length}(TEXT)

{lastfirst}(NAME) {firstlast}(NAME)

{upper}(TEXT) {proper} (TEXT) {lower}(TEXT) {textpos} (TEXT1,TEXT2)

#127 s 3:6-77 - 78, 3:6-100, 3:6-141, 3:6-143, 3:6-151

[FINANCIAL FUNCTIONS]

{presentvalue}(futurevalue, installment, rate, periods)

{futurevalue}(presentvalue, installment, rate, periods)

{installment}(presentvalue, futurevalue, rate, periods)

{rate}(presentvalue, futurevalue, installment, periods)

{periods}(presentvalue, futurevalue, installment, rate)

[MATH/SCIENTIFIC FUNCTIONS]

{exp}(NUMBER) {log}(NUMBER) {log10}(NUMBER) {power}(NUMBER) {sqrt}(NUMBER)

{abs}(NUMBER) {ceil}(NUMBER) {floor}(NUMBER) {mod}(NUMBER,BASE NUMBER)

{random}()

[TRIGONOMETRIC FUNCTIONS]

{sin}(ANGLE IN RADIANS) {cos}(ANGLE IN RADIANS) {tan}(ANGLE IN RADIANS)

{asin}(SINE VALUE) {acos}(COSINE VALUE) {atan}(TANGENT VALUE)

{sinh}(ARGUMENT) {cosh}(ARGUMENT) {tanh}(ARGUMENT)

#128 s 3:6-52, 3:6-54

Select {0: NONE} to skip these options.

{1: current} for current date, time, page number, item number,

user name, user level, computer name, or status.

{2: data-entry} for a field from a Data-entry form, if defined.

#130 2:5-10

Type the name of the source file (including drive and directory) that

contains the data to be imported into the specified destination form.

#131 2:5-10

Select the DataEase form into which the data will be imported.

#132 s 2:5-10 - 2:5-11

Select the format of the source data file.

#133 2:5-17

Select {Yes} if the source DataEase form is identical to the destination

DataEase form. Otherwise, select {No}.

#134 2:5-17

Type the name of the source DataEase form definition file. You need not

specify the file extension (CFM).

#135 2:5-22

Type the field separator character and press RETURN. If the field

separator is the new line character, press RETURN.

#136 2:5-22

Type the record separator character and press RETURN. If the record

separator is the new line character, press RETURN.

#137 2:5-28

If you select {Yes}, DataEase will insert a decimal in all Fixed Point

fields in the import file that do not already have a decimal point. If

you answer {No}, DataEase does not insert decimals although it does import

decimal points that exist in the source file.

#138 2:5-13

DataEase matches the records being imported to the existing records

in the destination form based on the values in the Unique fields.

Select {1. ADD NON-MATCHING} if importing only new records.

{2. UPDATE MATCHING} if updating existing records.

{3. ADD OR UPDATE} if importing new and updating existing records.

{4. DO NOT MATCH} saves time if you are importing only new records,

and you are sure the import file doesn't contain duplicate records.

#139 s 2:5-19, 2:5-23

DataEase can match fields in the source file to the fields in the

destination form either by Field Order or by Field Name.

Select {1. BY FIELD ORDER} if the order of the fields is identical in

the source file and the destination form.

Select {2. BY FIELD NAME}, providing there are corresponding Field Names

in both files.

For Lotus 1-2-3, DIF, Mail-merge, and Variable Length files, the first

record imported must contain the source Field Names.

For dBASE and DataEase files, the Field Names are already present in the

respective file definitions and need not be included as records.

#140 2:5-33

Type the name of the form to be installed.

#141 2:5-34

Type the filename of the source Form Definition file. This file has

an extension of CFM (which you need not type). Specify the full pathname

(i.e., drive and directory).

#142 2:5-34

If you do not want to install data in the form, press RETURN.

Otherwise, type the filename of the source Data file. This file has

an extension of DBM (which you need not type). Specify the full pathname

(i.e., drive and directory).

#143 s 2:5-35 - 36

Type the name of the DQL Procedure (or Quick Report) to be installed.

Do not start it with a number.

#144 s 2:5-35 - 36

Type the filename of the Procedure Definition file. This file has

an extension of DBR (which you need not type). Specify the full pathname

(i.e., drive and directory).

#145 s 2:5-35 - 36

Select {Yes} if the procedure has an associated Data-entry form (.DBF file

extension). The Data-entry form file must be present on the same drive as

the Procedure Definition file.

#146 2:5-41

Select or type the filename of the Import Specification file.

This file has an extension of DBI (which you need not type). Specify

the full pathname (i.e., drive and directory).

#147 2:5-40

Type the name of the Installation Command file. This file has an extension

of DIN (which you need not type). Specify the full pathname

(i.e., drive and directory).

#148

Data transfer will use the server batch facility.

#150 1:4-15

Specify the drive and directory for the Backup or Restore.

#151 1:4-15

If an error occurs during Backup or Restore, select {1: Ignore and Continue}

or {2: Cancel} if you are not going to be present to take action. Otherwise

select option {3: Decide upon Error}.

#152 s 1:4-4 - 13

Select {1. Forms} to get a list of forms and the corresponding files.

{2. Procedures} to get a list of Quick Reports and DQL Procedures.

{3. Import Specifications} to get a list of Imports.

#160 2:2-18

<More Help> displays a help message for the current function.

#161 2:2-26

<Borders & Ext Char Set> is used to draw borders or access the ASCII

extended character set.

#162 s 2:2-20 - 21

<Copy> copies a block of text and fields. Select <Copy> then select

None, Block, Form, or Dictionary field to specify the type of copy

you want to make.

#163 2:2-19

<Cut> moves or deletes fields and/or text. Select <Cut>, move the

cursor to the first character you don't want to cut, and

select <Cut> again.

#164 2:2-21

<Paste> places cut (F3 CUT) or copied (F5 COPY) text and/or fields

onto the form.

#165 2:2-22

<Ins Line> inserts a blank line at the current cursor position and

moves the current cursor line and all following lines down one line.

#166 2:2-22

<Del Line> removes or erases the line on which the cursor rests.

#167 s 2:2-84 - 85

<Show Colors> displays the form as it will appear in Record Entry.

You can only use this option to view the form.

#168 s 2:2-84 - 85

<Underline> marks the beginning of a block that you want to underline

when it is printed using Record Entry format. Text marked as

underlined displays in the Regular Field color in Record Entry.

#169 s 2:2-84 - 85

<Bold> marks the beginning of a block that you want to print

in boldface. Text marked as bold displays in the Highlight 1 color

in Record Entry.

#170 s 2:2-84 - 85

<Italics> marks the beginning of a block that you want to print in

italics. Text marked as italic displays in the Highlight 2 color

in Record Entry.

#171 s 2:2-84 - 85

<CPI 2> marks the beginning of a block that you want to print using

a different characters per inch setting. Text marked as CPI 2

displays in the Title Area color in Record Entry.

#172 s 2:2-84 - 85

<CPI 3> marks the beginning of a block that you want to print using

a different characters per inch setting. Text marked as CPI 3

displays in the Mode Area color in Record Entry.

#173 s 2:2-84 - 85

<CPI 4> marks the beginning of a block that you want to print using

a different characters per inch setting. Text marked as CPI 4

displays in the Message Area color in Record Entry.

#174 s 2:2-84 - 85

<LPI 2> marks the beginning of a block that you want to print using

a different lines per inch setting. A block marked as LPI 2 displays

in the Prompt Line color in Record Entry.

#175 s 2:2-84 - 85

<LPI 3> marks the beginning of a block that you want to print using

a different lines per inch setting. A block marked as LPI 3 displays

in the Menu Highlight color in Record Entry.

#176 s 2:2-84 - 85

<LPI 4> marks the beginning of a block that you want to print using

a different lines per inch setting. A block marked as LPI 4 displays

in the Key Names color in Record Entry.

#177 s 2:2-84 - 85

<End Highlight> marks the end of a block that you have given a

specific highlight attribute.

#178 1:2-25

<Multiview> accesses related forms. Once the related form is

displayed you can view, enter, modify, or delete records.

#179 1:2-21

<Recalculate> recalculates the values of all the fields defined

with Derivation Formulas.

#180 1:2-21

<Suspend Calc> turns off automatic calculation of all the fields

defined with Derivation Formulas.

#181

<Exit> returns you to the previous menu.

#182 2:2-17

<Exit & Save> saves the form on the screen as a new form, or saves

the changes made to an existing form, and returns you to the Form

Definition menu.

#183 2:2-18

<Exit & Abandon> abandons the form, or changes made to an existing

form and returns you to the Form Definition menu.

#184 2:2-23

<Field> creates a record entry field beginning at the current cursor

position. You can view, modify, or delete an existing field

definition by moving the cursor into the field and selecting <Field>.

#185 s 2:2-24 - 25

<Form Properties> displays the Form Properties screen. Use this

screen to define security levels and help messages for the form,

encrypt records, and override the default Record Entry configuration.

#187 s 2:2-27 - 31

<Define Subform> displays the Subform Definition screen.

This screen is used to define Multiforms.

#188 2:2-32

<Print> prints the form definition.

#189 3:5-64

<Exit & Save> saves the format (in the computer's memory)

and returns you to the QBE - Quick Reports or DQL menu.

#190 1:2-18

<Exit & Abandon> returns you to the QBE - Quick Reports or DQL menu

without saving the format.

#191 s 3:5-60 - 63

<Field> defines or modifies a field in the format.

#193 s 3:2-27 - 28

<Print> prints the format.

#194 3:2-12

<Exit & Save> saves the Data-entry form (in the computer's memory)

and returns you to the DQL menu.

#195 1:2-18

<Exit & Abandon> returns you to the DQL menu without saving the

Data-entry form.

#196 3:2-9

<Field> defines or modifies a field on the Data-entry form.

#197 s 3:2-27 - 28

<Print> prints the Data-entry form definition.

#198 s 2:2-64, 2:2-72, 2:2-75

<Exit & Save> saves the Derivation Formula, Upper/Lower Limit

formula, or field help message and returns you to the Field

Definition screen.

#199 s 2:2-64, 2:2-72, 2:2-75

<Exit & Abandon> abandons any changes made to the Derivation Formula,

Upper/Lower Limit formula, or field help message and returns you to

the Field Definition screen.

#200 1:2-18

<Exit> exits Record Entry for this form and returns you to the

Record Entry menu.

#202 1:2-19 - 20

<Save> saves the record on the screen.

#203 s 1:2-19 - 20

<Modify> modifies the record on the screen.

#204 s 1:2-19 - 20

<Delete> deletes the record on the screen.

#205 s 1:2-19 - 20

<Clear Form> clears the form on the screen.

#206 s 1:2-19 - 20

<Clear Field> clears the field in which the cursor rests.

#207 s 1:2-19 - 20

<Del Long:Text line> deletes the line of the long:text field in which

the cursor rests.

#208 s 1:2-19 - 20

<Ins Long:Text line> inserts a line in a long:text field above the

line in which the cursor rests.

#209 s 1:2-19 - 20

<Undo Record> abandons the changes made to the record on the screen.

#210 1:2-21

<Print> prints a copy of the record currently on the screen.

#211 1:2-22

<Enter Search Criteria> clears the form, turns off all the

field derivations, and allows search values to be entered in Prevent

Data-entry fields.

#212 1:2-23

<Continue Search for Criteria> displays the next record that meets

the specified search criteria.

#213 1:2-22

<Begin Search for Criteria> begins a record search.

#214 1:2-22

<Next Consecutive Record> displays the next consecutive record in

the file.

#215 1:2-23

<Previous Consecutive Record> displays the previous record in the

file.

#216 1:2-23

<Go to Record Number> displays a specific record by record number.

#217 1:2-24

<Table View> displays a Table View of the records in the file.

Enter search criteria and select <Table View> to display a table

of matching records.

#218 1:2-25

<Multi-Form> creates an Ad-hoc Multiform.

#219 1:2-25

<Lookup> opens a window into a related form where you can look up

a value and bring it back into the Primary form.

#220 1:2-25

<Exit> exits a related form and returns you to the previous form.

#221 1:2-26

<Quick Report> displays the Quick Reports menu.

#222 1:2-27

<Default Field> retrieves the default value (saved on the Default

Record) for the field in which the cursor rests.

#223 1:2-27

<Default Form> retrieves the Default Record.

#224 1:2-27

<Save Default> saves the record on the screen (or in which the cursor

rests) as the Default Record.

#225 1:2-27

<Delete Default> deletes the default record.

#226 1:2-77

<Allow All Record Access> removes all locks placed on the record that

you are currently viewing.

#227 1:2-77

<Allow Read Record Access> only allows other users to view the record

you are viewing.

#228 1:2-77

<Allow No Record Access> prevents other users from accessing the

record that you are viewing.

#230 1:2-78

<Refresh> reads the record from disk and displays it on the screen.

#231 1:2-78

<Continuous Refresh> automatically refreshes the record on the

screen every few seconds.

#232 1:2-18

<Exit> exits Record Entry for this form and returns you to the

Record Entry menu.

#234 1:2-29

<Save Changes> saves all the changes/modifications made to the table.

#235 1:2-29

<Undo Changes> abandons all the changes made to the table that have

not scrolled off the screen and have not been saved by pressing

F2 SAVE.

#236 1:2-29

<Delete Record> deletes the record on the line in which the

cursor rests.

#237 1:2-29

<Clear Field> clears the field in which the cursor rests.

#238 1:2-29

<Enter New Records> scrolls some records off the screen and displays

some blank lines into which you can enter new records.

#239 1:2-21

<Print> prints the table on the screen.

#240 1:2-30

<Form View> toggles from Table View to Form View.

#241 1:2-31

<Lookup> opens a window into a related form where you can look up a

value and bring it back into the Primary form.

#242 1:2-31

<Exit> exits a related form and returns to the previous form.

#247 1:2-79

<Allow All File Access> removes any locks placed on the form you

are viewing.

#248 1:2-79

<Allow Read File Access> only allows other users to view the records

in the form you are viewing.

#249 1:2-79

<Allow No File Access> prevents other users from accessing the form

you are viewing.

#250 1:2-79

<Refresh> reads the records listed in the table on the screen and

redisplays each record as it appears on the disk.

#251 1:2-78

<Continuous Refresh> automatically refreshes the records on the

screen every few seconds.

#252 3:2-22

<Exit & Save> saves the query (in the computer's memory)

and returns you to the DQL menu.

#253 3:2-22

<Exit & Abandon> returns you to the DQL menu without saving the query.

#254 3:2-15

<Interactive Mode> switches from Edit Mode to Interactive Mode.

#255 s 3:2-18, 3:2-21

<Change Level> changes levels (from Low Level to High Level or

High Level to Low Level).

#256 s 3:6-139 - 143

<Field> displays the Report Field Definition screen and lets you

define a field in the query. This option is used with the

DQL Output command.

#257 3:2-22

<Exit & Save> saves the query (in the computer's memory)

and returns you to the DQL menu.

#258 3:2-22

<Exit & Abandon> returns you to the DQL menu without saving the query.

#259 3:2-20

<Edit Mode> switches from Interactive Mode to Edit Mode.

#260 s 3:2-18, 3:2-21

<Change Level> changes levels (from Low Level to High Level or

High Level to Low Level).

#261 3:2-16

<Skip Menu> bypasses the current Interactive menu options.

#262 1:3-9

<Exit> exits Define/Modify Record Selection or Define/Modify List

Fields and returns you to the QBE - Quick Reports menu.

#263 1:3-9

<Save> saves the record selection criteria or list field definition

for the report and returns you to the QBE - Quick Reports menu.

#264 1:3-9

<Clear Form> removes the selection criteria or list field numbers

from all the fields on the form.

#265 1:3-9

<Clear Field> removes the selection criteria or list field numbers

from the current field.

#266 1:3-9

<Print> prints the record selection criteria or list field definition

specified for the report.

#267 s 1:3-17, 1:3-22

<Multiview> displays a related form. Once the related form is

displayed you can specify record selection criteria or select fields

to list from the related form.

#268 s 1:3-17, 1:3-22

<Exit Multiview> exits a related form and returns you to the previous

form.

#269 3:2-10

<Enter & Continue Procedure> saves the data entered on the Data-entry

form and continues running the procedure.

#270 1:2-18

<Exit & Abandon> returns you to the DQL menu without saving the data

entered on the Data-entry form.

#271 s 1:2-19, 3:2-9

<Clear Form> clears all the data on the Data-entry form.

#272 s 1:2-19, 3:2-9

<Clear Field> clears the data in the current field.

#273 1:2-45

Select the form to display on the screen in a window beginning at

the current cursor position. Press ESC EXIT to remove the related form.

#274 1:2-46

Select the related form that contains the value you want to look up.

Press RETURN to bring the value from the related form back to the

Primary form.

#275 2:2-130

Select {Yes} to delete all records in the RELATIONSHIPS form that

contain the name of the form you are deleting.

Select {No} to delete the form only (do not delete any records from

the RELATIONSHIPS form).

#277 s 3:6-111 - 112

{lock} all files ^| filename ^| selected record ^[shared^| exclusive^].

LAN command used to override the default Multi-User Locking Rules

specified on the System Configuration form.

Select {lock all files} to lock all the forms referenced by the

procedure. Select {lock filename} to lock just the specified form.

Select {lock selected records} to lock just the record that is

currently being processed.

The {shared} option lets users view the locked resource. The

{exclusive} option prevents all access to the locked resource.

#278 s 3:6-186 - 187

{unlock} all files ^| filename ^| selected record .

LAN command used to override the default Multi-User Locking Rules

specified on the System Configuration form. Unlocks resources

specified by a DQL {lock} command.

Select {unlock all files} to unlock all the forms referenced by the

procedure. Select {unlock filename} to unlock just the specified form.

Select {unlock selected records} to unlock just the record that is

currently being processed.

#279 s 3:6-152 - 153

{query selection} lock files ^| records ^| nothing .

LAN command used to override the default Multi-User Locking Rules

specified on the System Configuration form.

Select {query selection lock files} to lock every form referenced by

the procedure that contains any records selected for processing.

Select {query selection lock records} to lock every record selected for

processing. Select {query selection lock nothing} to lock no forms or

records. This option allows users to view, modify, or delete records

selected for processing by the procedure.

Once the procedure begins actually processing the selected records, the

query selection lock is forfeited.

#280 s 3:6-95 - 98

{input using} FORMNAME {into} "TEMPFORM" .

Provides record entry functions at any time during the procedure and

processes the input data.

Specify the name of the form that contains the data you want to input.

Specify the name of a second temporary form, enclosed in quotation

marks, to reference the input record.

When the input record is processed, DataEase stores one of the

following values in the current status variable depending on which key

was pressed to input the record: (ESC=1), (F2=2), (F7=3), (F8=4). This

value can be used to control subsequent conditional processing.

#281 s 3:6-139 - 143

{output}:

FIELD NAME ^| TEXT

.

Writes text or fields directly to the output device while processing

the procedure.

Insert the {output} command followed by a colon in column 1 of the

query. Press F10 FIELD to enter a field or specify the text you want to

appear in the output.

Following the last line to be output, insert a period in column 1 of

the query.

#282 s 3:6-122 - 123

{message} "MESSAGE TEXT" ^[{window}^] ^[{pause}^] .

Enter the message you want to display enclosed in quotation marks.

The default displays up to a 40-character message in the upper right corner

of the screen. The {window} option displays a message of up to 4,000

characters in a window. The {pause} option requires a user to press a

key to resume processing.

#283 s 3:6-38 - 39

{case} (EXPRESSION)

{value} COMPARISON 1:

ACTION SERIES 1 .

^[{others}:

OTHERS ACTION SERIES .^]

{end}

Compares expression to a series of values and executes different

action(s) based on which comparison is true.

Insert the {case} command. Specify an expression enclosed in

parentheses and press RETURN. Next, insert the keyword {value}.

Specify a comparison value followed by a colon. After each value

statement, enter the action(s) DataEase should perform if the value

comparison is true. Each action statement is followed by a period.

After the last value-action series, optionally insert the keyword

{others} and specify the action(s) you want DataEase to take if none

of the preceding comparisons are true. The {case} command must be

terminated by an {end} command.

#284 3:6-190

{value} :

ACTION SERIES .

Part of the {case} command that compares an expression to a series of

values and executes different actions based on which comparison is

true.

Specify a value followed by a colon and press RETURN. Then specify the

action(s) you want DataEase to perform if the value comparison is true.

Each action statement is terminated by a period.

#285 3:6-138

{others} :

ACTION SERIES .

Part of the {case} command that compares an expression to a series of

values and executes different actions based on which comparison is

true.

Specify the action(s) you want DataEase to perform if none of the

preceding value comparisons is true. Each action statement is

terminated by a period.

#286 3:6-162

{run procedure} "PROCEDURE NAME" .

Loads and runs the specified procedure.

Enter the name of the procedure enclosed in quotation marks, followed

by a period.

#287 3:6-35

{call menu} "MENU NAME" .

Displays the specified DataEase system or custom defined menu.

Enter the name of the menu enclosed in quotation marks, followed by a

period. If a Chain menu is called, it is executed, but not displayed.

#288 3:6-36

{call program} "PROGRAM NAME ^[ARGUMENTS^]" .

Loads and runs the specified program.

Enter the name of the program enclosed in quotation marks, followed by

a period. The program name can be a constant or an expression involving

functions and variables. Specify the full pathname if the program is

not in the current directory.

#289 3:6-156

{record entry} "FORMNAME" .

Displays the specified form, allowing Record Entry functions to be

performed during the procedure.

The input data is entered directly into the database; it is not

processed by the procedure.

#290 3:6-89

{import} "IMPORT SPECIFICATION NAME" .

Imports data into a DataEase form according to a previously defined

import specification.

Enter the name of the import specification enclosed in quotation marks,

followed by a period.

#291 3:6-159

{reorganize} "FORMNAME" .

Reorganizes the specified form; this permanently erases all deleted

records and then recreates all the indexes used to organize the data.

Enter the name of the form enclosed in quotation marks, followed by a

period.

#292 3:6-57

{db status} .

Generates a report that summarizes the status of the forms, procedures,

and/or imports in the current database. The default displays the report on

the screen. Press SH-F9 PRINT to send the report to the printer.

#293 3:6-31

{backup db} .

Creates a backup copy of the current database in a special DataEase

format. The backup must be restored using the {restore db} command or

the [Restore Database] option on the Maintenance menu.

DataEase prompts you for the information and/or disks needed to perform

the backup.

#294 3:6-161

{restore db} .

Restores a database from a backup copy created by the {backup db} command

or the [Backup Database] option on the Maintenance menu.

DataEase prompts you for the information and/or disks needed to perform

the restore.

#295 s 3:6-113 - 114

{lock db} .

LAN command used to override the default Multi-User Locking Rules

specified on the System Configuration form.

Select {lock db} to lock the current database.

This prohibits any user from signing on to the current database.

#296 3:6-188

{unlock db} .

LAN command used to override the default Multi-User Locking Rules

specified on the System Configuration form.

Select {unlock db} to terminate the {lock db} command and unlock the

current database.

#297 3:6-99

{install appl} "INSTALLATION FILENAME" .

Installs forms, reports, procedures, or entire applications in the

current database.

Enter the name of the installation command file (.DIN filename

extension) enclosed in quotation marks, followed by a period.

#500 - 599 reserved for Japanese version


Written by DataEase 13/03/17 at 10:46:28 LegEasy 4DOS
DG3_ForumList