Copyright: proNet Informationssysteme GmbH


Contents

•	Introduction

•	What is proNet START ?

•	Welcome to Version 3.0

•	New features

•	Installation and software requirements

•	Navigation and Keys

•	Database project

•	What is a database project ?

•	New database project

•	Open database project

•	Close database project

•	Open project exclusively

•	Project functions

•	Define tables

•	Repository

•	Datatype library

•	Define Default values

•	Standard table library

•	Registered databases

•	Dictionary browser

•	Create/alter database

•	Options for the database creation

•	Database maintenance

•	Database documentation

•	Import database

•	DBMS Reference

•	Troubleshooting

•	Troubleshooting

•	Error messages


What is proNet START ?

proNet START is a tool for developing, porting, altering and analyzing databases. It can run on all platforms and against all database management systems supported by Unique.

At first, proNet START is designated for the creation and maintenance of database projects inside it`s own project database.

Additional, proNet START is a front end for the START DBS compiler which can create, modify and delete physical databases.

Registered databases can be analysed in the dictionary browser, imported into the project database and the contained data can be loaded, unloaded and online modified with automatically created Maintenance application.


Welcome to Version 3.0

Welcome to proNet START version 3.01 for Unique CONCEPT Version 6.0. All import new functions of Version 2.0, 2.01,2.10,2.11,2.12,3.0 and 3.01 are described in the chapter New features.

proNet START version 3.01 is available for Unique CONCEPT 6.0. The version 3.0 is available for Unique CONCEPT 6.00-24. The version 2.12 is available for Unique CONCEPT 6.00-09. The version 2.11 is available for Unique CONCEPT 6.00-03 and 6.00-04. The version 2.01 ist available for Unique CONCEPT 5.12. Besides that, there is still version 2.0 available for Unique CONCEPT version 4.02.

Beginning with version 2.12 the support for the 16bit version is discontinued. Please change to the 32bit version or use the version 2.11 instead.

The same version number of proNet START for two different versions of Unique CONCEPT indicates that both versions are compatible when it comes to functionality and database structure.

We have already spent high efforts into the quality assurance, though some problems have not been corrected yet. But the known problems do not disturb the use of proNet START.

What´s coming after version 3.0?

•	On top of the priority list are more advanced function for the automatic application generation for e.g. standard dialogue applications, simple lists or menus.


New features

New in proNet START version 3.02

New functions for database projects

•	The maximum length of the storage codes ALPHANUMERIC(n), VARCHAR(n) and BINARY(n) has been extended to 10240 characters. It is strongly adviced to refer to the DBMS Reference where the conversion for each DBMS is documented. The possible lengths are very different in the different DBMS.

•	When generating an include file for datatypes a possible digit as the last character in the datatype name will be converted to a text string to make the 4GL compiler properly handle the constants.

New functions for registered databases

•	Support for using the new uqconfig db-type ORACLE8 has been added to access to Oracle 8.05 or higher.

New in proNet START version 3.01

New functions for database projects

•	Date column may now get the display code YYYY-MM-DD according ISO8601 (e.g.. 1999-12-31). The display code for time columns has been supported already.

New functions for registered databases

•	When analysing databases in Informix Online now a default area for data tables will be recognized.

•	When importing databases the references on areas where blob columns are stored in will only be imported, if the area where a blob column is stored in is different than the default area for the table.

•	Whein importing databases you may now decide whether you want to include Areas (the definitions of area and all references on it for tables, blob columns and indexes) into the database import. (You find more information in Import database).

New in proNet START version 3.00

General enhancements

•	Graphical database modelling with proNet START? This longlasting dream soon turn into reality. In this version you can have a look at the prototype of the graphical database modelling. You´ll find the prototype in the toolbar (See also Graphical modelling).

•	proNet START has been tested with and released for Oracle 8.0. The Unique 4GL Runtime only utilises the functionality of Oracle 7.3. Therefore, proNet START can only utilise the functionality of Oracle 7.3 in Oracle 8.0.

•	The installation instructions in the online help are now directly available through the menu item Installation in drop down menu Help.

New functions for database projects

•	You may define filters in the datatype library, e.g. Not used or used in specific project, for showing specific datatypes (You find more information in Datatype library).

•	Database projects can now be opened exclusively (You find  more information in Open project exclusively).

•	When deleting areas the references on tables, indexes and blob columns can be automatically deleted instead of just displaying an error message because of the references.

•	One can now rename a project in the Project properties. Simply enter a new project name.

•	In the main menu you may now show the project properties and print the project documentation without opening the project before. Both functions can be acessed through the existing menu item and through a new popup menu in the project list.

•	During the creation of a new project the user name will automatically used as the author, the column author is also available in the window for the creation of new projects.

New functions for registered databases

•	It is no longer possible to create a database based on a dbs file. Use the import of dbs files (See Import of dbs files for more information) instead if you only have a dbs file. The creation of database now is only done based on database projects. Only for Unique ISAM the dbs compiler is still used to create a database based on a temporary dbs file automatically generated by proNet START. Therefore, it was possible to simplify the window for the database creation.

•	During the direct creation of a database for Informix Online/SE, Sybase SQL Server and Microsoft SQL Server now there is an automatic check if the database already exists. If yes, an appropriate warning will be issued. This functionality already exists for Oracle.

•	The handling of Serial columns during the creation of databases has been completely revised. It now offers the functionality of serial columns for  Informix Online/SE, Microsoft SQL Server, Oracle, Sybase SQLAnywhere and Sybase SQL Server, though only Informix Online/SE directly supports serial columns. Besides that, it is now possible to specify a starting value for the automatic numbering (see also Datatype properties. See the DBMS Reference for the exact implementation for all DBMS.

•	During the creation of Informix Online/SE databases it is possible to specify an Informix Locale which is to be used by proNet START for the creation of the database. The selection can be found on the third tab DBMS specific options in the window Create/alter database.

•	When showing the properties of areas in running databases the detailed information about all tables will not automatically be retrieved anymore. To see the references in indexes and blob columns to areas, there is a new button Read.

•	The option for databases without a Unique Dictionary create column without datatype for the database import is not available anymore.

•	The dbspace SYSTEM in SQLAnywhere will be assumed as the default area.

•	During the creation of areas the parameter db-name-length will no longer be evaluated because area names often are oder should be longer than the identifiers of tables and columns.

•	The transaction handling during the creation of Microsoft SQL databases has been modified according to the requirements of the Microsoft SQL Server 7.0. Though, this is not yet an official release of proNet START for Microsoft SQL Server 7.0.

•	The creation of a traditional Unique Dictionary (uqdic001 table in the database) during the database creation is now possible for Oracle and Informix Online/SE.

•	The function Refresh in the database browser has been enhanced to handle the dictionary cache of the runtime engine in a better way.

•	The length create table statements within the database creation has been increased to 8000 characters.

New functions for the application generation

•	Maintenance applications for both projects and registered databases contain functions for the automatic conversion of illegal column values in date and datetime columns in the different DBMS during load action. The limitations of the different DBMS is documented in the DBMS Reference.

•	In Maintenance application based on projects a define application prefix will now also be used as a prefix for all dmp and log files.

New in proNet START version 2.12

The enhancements in proNet START version 2.12 consist of three main topics: the better handling of areas and storage parameters, especially for running databases, the direct creation of databases using the internal routines of proNet START and the significant improvements for the application generation.

General enhancements

•	The creation of the UQSTART database was simplified. For Unique ISAM, Informix C-ISAM (only till version 2.11) and Sybase SQLAnywhere ready-to-use UQSTART databases are included. For all SQL databases scripts have been preprared which create an entire UQSTART database. The section Installation and software requirements has been enhanced to include configurations examples which fit to the supplied databases and scripts. This change was already included and documented in Version 2.11, though it has not yet been listed in this section New features.

•	The definition of key respectively index types has been revised. Now there is a clear division between keys which will be created as table constraints and indexes (see also Key/Index). The exact conversion for the different DBMS is documented in the DBMS Reference.

•	Foreign keys are now supported. The support includes database projects, running databases, the reverse engineering and the database creation.

•	DBS files can now be directly imported into a project (see also New database project and Import of dbs files).

•	All windows have been converted from the simulated grid forms towards the new grid forms.

New functions for database projects

•	The management of areas was extented and simplified. For the definition of areas the columns device no, fillfact and freefact and no longer necessary and have been removed.

•	The table and blob columns references for areas have been extented by the index references.

•	The parameter Free Factor in the storage details, see also Storage details, has been removed, because none of the supported DBMS knows this parameter. The parameter Fill Factor instead is now also supported for indexes in Oracle (Reference for Oracle 7.x).

New functions for running databases

•	The generation of database specific SQL scripts within proNet START has been enhanced to support the creation of databases in all DBMS directly supported by Unique CONCEPT and other important DBMS which are accessed through ODBC. The supported databases will be besides the already supported Informix Online/SE and Oracle: Microsoft SQL Server, Sybase System 10/11 respectively Adaptive Server 11.5, Sybase SQL Anyhwere, Microsoft Access, Techra and ANSI SQL3.

•	The direct creation of database is now possible using the internal routines of proNet START. To enable this feature you need additional entries in the uqconfig which have been described in the section Installation and software requirements.

•	Areas will be shown in the browser for running databases. Additionally, areas will be imported during the import of running databases.

•	The storage details for tables and indexes, see also Storage details, will be shown in the browser for running databases. Additionally, the storage details for tables and indexes will be imported during the import of running databases.

•	The option clustered will now be read and regarded for indexes in Microsoft SQL Server and Sybase databases.

•	The window of the database browser is now sizeable, the window contents will resize automatically.

•	The new popup menu topic View/maintain data for tables opens an online screen to view and maintain the data of the selected table.

•	For Microsoft SQL Server and Sybase databases the exact version number will not be returned.

New functions for the application generation

•	The generation of Maintenance applications for both database projects and running databases is able to produce online screens with grid forms.

•	The generation of Zoom applications for database projects has been completetly rewritten and now also supports grid forms.

•	The generation of Maintenance applications for both database projects and running databases is able to produce online screens with all possible alternative-keys so that one can seach for data using all possible keys defined for the table.

•	The generation of Maintenance applications for both database projects and running databases now generates a more comfortable path selection for selecting the dmp file path.

•	One can now define the key for Maintenance applications created based on database projects in the Table properties.

•	The new switch alphanumeric columns may contain CR+LF has been introduced for Maintenance applications for both database projects and running databases. It must be set if (and only if) alphanumeric columns contain usually not allowed special characters, e.g. Carriage Return or Line Feed. If alphanumeric columns are connected with multi-line input elements, these special characters will be stored in alphanumeric columns. If this switch is not set and alphanumeric columns contain Carriage Return or Line Feed, the Dmp files cannot be loaded anymore!

•	There is a new feature to specify the file name extension for  Maintenance applicationen (by default .imp for both database projects and running databases. Besides that all file name extension will be checked if the extension is legal.

•	The options for the generation of Maintenance applications for both database projects and running databases will be stored in order to be reused during following sessions.

•	The generation of Maintenance applications for both database projects and running databases got a progress bar.

New in proNet START version 2.11

General enhancements

•	proNet START now fully supports the creation of temporary table respectively databases within Unique CONCEPT. To implement the support the window Table properties got a new tab and the creation of the Local Dictionary is done by the normal function for the database creation.

•	Some DBMS support the definition of a sorting direction for index member. This mechanism is now supported by proNet START. See Define/view member for more details.

•	The storage code WEEK has been removed because the Unique Runtime Engine does not support this storage code. During the automatic conversion the affected datatypes will be converted to DATE.

•	Blob tables have been replaced. The only DBMS which directly supported blob tables was SIBAS. For all other DBMS system tables within the proNet START were only used to define where indexes were stored in by defining a logical mapping towards an area. This mechanism was too complex to use and has been replaced by the facility to directly select an area for each index. Because the dbs compiler still uses the old behaviour the dbs files will be created in a way the dbs compiler can interpret correctly.

•	The online help got a new section DBMS Reference where the transformation of the database projects towards the different DBMS is documented.

New functions for running databases

•	The popup menu for databases in the window Running databases got the new function refresh.

•	The script creation now supports besides Informix Online/SE and Oracle now the Microsoft SQL Server, Sybase System 10/11 respectively Adaptive Server 11.5, Sybase SQL Anyhwere and ANSI SQL3.

•	proNet START has been tested and released for the usage with ODBC databases. This does not mean that much yet, though. All routines within proNet START are aware of ODBC. The basic dictionary like in other Unique tools, e.g. XTRA, is supported and can handle the browsing, generation of maintenance applications and database import. A more advanced dictionary already used in the native interfaces for e.g. Informix Online and Oracle has to be database specific even for ODBC databases. Therefore, more advanced function will take some time. The creation of databases can only be done using DBMS specific scripts. The priority for more advanced support of ODBC databases will very much depend on user requests.

•	proNet START got an own handling for Sybase SQLAnywhere. Sybase SQLAnywhere will be accessed through the ODBC interface, but proNet START got additional routines for the handling of views and indexes.

•	The script creation got a progress bar.

•	The script creation produces now an out file together with the already supported trace file.

•	The database and script creation got a better error handling.

•	The script creation now takes care of areas specified for blob columns when creating scripts for Informix Online 5.x/7.x.

New in proNet START version 2.10

•	The traditional DBS compiler is dead. Long live the database creation within proNet START. Well, the job is not yet completed. But the first steps have been done: The script creation for Oracle and Informix Online/SE as well as the creation of Local Dictionaries is now done by internal routines within proNet START, not by the DBS-Compiler. The next versions of proNet START will offer step by step more functionality.

•	For the declaration of static and local fields in Unique 4GL programs you can now let START generate an include file for you. This include file contains constants for the storage and display codes of all datatypes used in a project.

•	System tables have been removed. The only DBMS which directly supported system tables was SIBAS. For all other DBMS system tables within the proNet START were only used to define where indexes were stored in by defining a logical mapping towards an area. This mechanism was too complex to use and has been replaced by the facility to directly select an area for each index. Because the dbs compiler still uses the old behaviour the dbs files will be created in a way the dbs compiler can interpret correctly.

•	The support of keyword indexes as well as the index options BTree, Hash and Isam, which are only supported by SIBAS, have been removed. Any defined keyword indexes will be converted to duplicate indexes. The index option virtual was removed, too, because the new Local Dictionaries in opposition to the Unique Dictionary in the database do not support virtual indexes.

New in proNet START version 2.01

proNet START is entirely converted to version 5.12 of Unique CONCEPT. Therefore, proNet START utilizes all advantages of Unique CONCEPT Version 5.12.

•	Complete support of long file names in the 32bit version. Especially important for maintenance applications for tables with long names!

•	Adopted to the look&feel of Windows 95/NT 4. This includes the usage of tab forms, tool tips, spin box controls and progress bars. The basics of the user interface remained mostly unchanged. Therefore, users of the version 2.0 will find their way right from the beginning.

•	The dictionary caching of Unique CONCEPT version 5.12 can affect all functions for running databases (e.g. generation of maintenance applications) very positively.

•	The internal mechanisms of START for multi language support have been replaced by LDT system of Unique CONCEPT version 5.12.

•	The maintenance applications generated with version 2.01 can be used with Unique CONCEPT version 4.02 and 5.12.

•	The Purpose texts and Comment texts are now included when copying projects, tables or columns.

•	When creating DBS files and Maintenance applications the file formats set in the global or system dependent uqdio.ini will now be used.

•	The front end for the DBS compiler has been replaced by create/modify and drop functions in the Registered databases screen. Here, it is now possible to create a database directly based on project without creating a dbs file first.

New in proNet START version 2.0

The user interface of proNet START has been completely rewritten and is conformant to the demands on a real Windows application. This includes of course drop down menus, the toolbar and various Popup menus. If you miss some functions in a window, just click once on the right mouse button.

The structure of the START database was not changed with this version. You can continue working with your START database. The definition of some internal values for check boxes has been changed, e. g. Including in DBS in the window Table options. But in such a case, there is always a mechanism to convert those values for a project or globally.

Many functions are far more easy to find because of the new user interface. Maybe, there are functions you will find the first time using this version. This means that you can take more advantage from this version without having any conceptual changes within.

Instead, a lot of details have been improved which make proNet START far more easy to use. Any user action necessary was revised and often redesigned. Many error corrections have been done on the fly.

The module Running databases was significantly improved which is now really a control centre for the analysis, documentation and maintenance of running databases for anything Unique specific.

The maintenance applications contains additional function for loading and unloading wide columns, for truncating tables using the optimized strategy for the used DBMS, a log function and additional options for better customizing to your environment. Improvements also have been done to provide better support for databases not created by Unique.

This version is also completely available in German.

You may already have noticed that now an online help for proNet START is available. However, printed manuals for proNet START are currently not planned.

General enhancements

•	A first demonstration of the successor function of the dbs compiler can be reached through 'Running databases'->'Synchronize'. This demonstration only supports ORACLE and the creation of databases.

•	proNet START is now available for both Unique CONCEPT version 4.02 and version 5.12. The functionality ist identical. But proNet START uses in the version 5.12 the new graphical features like tab-forms, tooltips, hotkeys on buttons and the better support of proportional fonts. In the current state the 5.12 version is for demonstration purposes only.

•	In this version the support of views has been introduced. Views can be stored in the project database, imported and shown with their definition in the table browser. Among the following topics additional details for views are listed. If you move back to an older version of proNet START the definition of views will be ignored.

New functions for database projects

•	The project documentation has been enhanced and now be accessed using the toolbar. Additional, you can now directly print the documentation.

•	A database project can now be deleted in the main menu without opening it before.

•	The access rights for a new project are now by default set to 'Select'.

•	You can now create a project as a copy of an existing project.

•	You can now copy a table within a project. This has got the advantage that the entries for areas, blob and system tables will remain instead of the copying by using the standard library.

•	Using the function Check project consistency you can now check the definition of old projects.

•	You can now define a wide column table as the default wide column table.

•	The creation of the definition of areas, system tables and wide column tables in the dbs file has been revised.

New functions for running databases

•	Now an overall protocol will be produced for the load and unload jobs on the entire database, if the functions 'Run from' or 'Run all' in the menu application are executed. This also works in the maintenance application generated for a database project.

•	The lights in the main window of the Running databases handle now show three different states: unknown, opened and failed to open.

•	In the window Running databases a new button MORE is available to show additional database parameters and values.

•	proNet START now can properly work with one member group keys. Implemented is this at first for Oracle, Informix Online/SE and Sybase/MS SQL Server. The Key-Browser, the generation of maintenance applications(not for Informix Online/SE) and the database import have been modified.

•	Maintenance applications: The total length of all columns names of a table had to be smaller than 1024 characters. Now maintenance applications can be generated in any case with 256 columns per table.

•	The jobs in the menu application for maintenance applications can now also be started beginning with the selected table.

•	The limitations for the creation of maintenance applications are now fully described.

•	During the database import tables will now be imported with the option 'Include in DBS' set.

•	The Column browser was extended to display purpose texts of columns and to give better information when displaying BLOB columns and unknown storage codes.

•	In the Column browser now it is shown if  a column has got a purpose text. This saves clicking on each column to find all purpose texts.

•	In the Table browser now the table type (Data table or View) is properly displayed (for Oracle,Sybase/MS SQL Server/Informix SQL). For views also the definiton of the view can be examined. Additional the area where the table is stored in is displayed (Oracle).

•	During the generation of maintenance applications views are now properly identified and therefore not offered anymore.

Miscellaneous

•	Some small modifications for the usage in Windows 95 and Windows NT 4.0 have been done.

•	proNet START got a new main menu and a 'Tip of the Day´-window.

•	The proccesing messages like '100 records processed' have been switched off.

•	The online help is also available in a Windows 95 version (WinHelp 4.0).


Error Corrections

Version 3.02

The function Define column as key/index for a column in a database project didn´t work when using Unique CONCEPT 7.

•

Version 3.01

•	In the window Synchronize database the button Script did not work.

•	During the creation of maintenance applications for registered databases a compiler error may have occured for the tables with blob columns

•	During the creation of maintenance applications for projects and registered databases loading the data may have failed if the key used for the application was a one member group key/index with the name of the key/index different than the member name. This was mainly a problem for the PRIMARY keys from SQLAnywhere databases.

•	When creating a traditional Unique dictionary (table uqdic001) the information for columns with the storage codes Varchar(n) and Serial have not been stored correctly.

•	If the option Create keys as indexes was set during the creation of Oracle databases or SQL scripts and the database contained primary or unique keys which owned explicit storage parameters (Area or FillFactor), a wrong option has been created in the create index statement.

•	Wheun importing dbs files data types with the storage codes Packed Decimal or Unpacked Decimal have not been properly recognized, if the parameters in brackets contained blanks, e.g.: Packed Decimal ( 7, 2).

•	When importin dbs files containing data types or columns with the parameter Default a part of the default name has been cut.

Version 3.00

•	During the Reverse engineering of Unique ISAM and Techra databases sometimes unique and duplicate indexes have been analysed as unique keys.

•	In maintenance application for both projects and registered database which have the switch Alphanumeric columns may contain CR+LF set and where an alphanumeric columns has been used as the key could not be compiled.

•	In maintenance applications generated on projects the database name was misssing in the set identity insert... for the handling of serial columns in the Microsoft SQL Server.

•	During the creation of zoom applications a scratch field for the sorting has not been create for one member keys, which caused an error when compiling.

•	During the creation of keys and foreign key (indexes were not affected) in Oracle databases the key names contained the schema name which is not allowed in Oracle.

•	When creating columns with the storage code Money in Microsoft SQL Server and Sybase databases one unnecessary bracket was set.

•	During the creation of SQL scripts it could happen that an carriage return was inserted within an expression enclosed in single or double quotes if a carriage return was necessary a that position. This carriage return could produce errors when executing the script. Now, the carriage return will be done before the expression.

•	During the Import of dbs files datatypes with a storage code like ALPHANUMERIC( 10) with a blank character between the left bracket and the number of characters were not properly imported.

•	During the creation of one member keys in Microsoft SQL Server and Sybase databases no table constraints, but column constraints will be created. The naming rules do not create conflicts anymore. See the Reference for Microsoft SQL Server 6.5 for more details.

Version 2.12

•	When creating Unique ISAM databases the dbs compiler crashed, because the dbs compiler did not understand the command to ignore areas. Now the dbs compiler receives the command to create areas if required. (Note: Unique ISAM does not provide areas.)

•	The routine for analysing virtual keys in Informix Online/SE databases inserted the phrase 'Index' before the actual index name. Therefore, e.g. the maintenance applications for running databases which used a virtual key from the dictionary could not be properly compiled.

•	The display code for Integer4 columns in maintenance applications for both projects and running databases was limited to 9 digits which is one digit too less to support the full value range.

Version 2.11

•	When using the 16bit version proNet START tried to open the database in the window 'Running databases' if the user selected the function 'create/alter' or 'drop'. If the database did not exist, an error occured.

•	The index browser in the 32bit version mixed index name and member name of one member group keys in Oracle databases.

•	During the generation of maintenance applications for running databases compiler errors may have occured because the same field names were used several times.

•	The uqconfig parameter db-owner was ignored when accessing running databases. This affected among others the database import.

•	During the change of an existing datatype the change towards the storage codes Image or Text could be ignored.

Version 2.01

Error corrections since the first Beta version

•	When compiling maintenance applications for an entire database file names were cut after 8 characters.

•	Some texts within START, especially in the English version have been corrected.

Version 2.0

Error corrections since the second Beta version

•	When copying a project also objects of other projects than the source project were copied.

•	When creating dbs files without an entry for the dbs-path in the system a '\' was proposed instead of the first directory in the source-path.

•	The file name for the project documentation was cut after 30 characters.

•	When inserting a new column and creating a new datatype during this action caused that the NULL/not NULL definition of the datatype was not used.

•	In maintenance applications wrong SQL statements were generated for the DBMS-specific delete in Informix Online/SE erzeugt.

•	It was possible to enter not consistent definitions for the index properties clustered and virtual.

•	When trying to insert a new project with an already used name a project was opened although a correct error message was displayed.

•	When modifying index properties it was possible to produce a multi user conflict with yourself.

Error corrections since the second Beta version

•	If a database has been imported when before a new project was created in the window 'Import database', the database error 'database not opened' might have occured.

•	If the file format for *.imp files in the uqdio.ini was not set to UCS the trailing backslash of the Dmp file path in the maintenance applications might have been replaced by a &.


Navigation and Keys

proNet START has been written in Unique 4GL. If you now the usage of an Unique 4GL application, you need not to read any further. The key for navigating in the database and all others are defined as usual. The hot keys from former version of proNet START will not be supported and documented. Though, they may still work in some windows.

The most import functions with their key definitions in Windows are:

Next record	Page up

Previous record	Page down

First record	Pos1

Last record	End

Delete record	Ctrl+D

Don´t forget that various Popup menus are defined which can be opened using the right mouse button.

The toolbar of proNet START

Some buttons in the tool bar are not available in all windows and locked in these cases. E.g. you can just open the project details using the toolbar if a project is open. All functions in the toolbar are also available using the drop down menus.


Installation and software requirements

Requirements for the use of proNet START

•	If you received proNet START for Unique CONCEPT 6.00, Unique CONCEPT version 6.00-09 or higher must be installed on your PC.

•	Using Unique CONCEPT Version 6.00 you need some 8 MB of free disk space for proNet START.

Installation

The installation of proNet START is completely integrated into the installation of Unique CONCEPT.

UQSTART database and DBA logins

You need the UQSTART database to store the database projects and special database entries for DBA logins to retrieve information about existing databases and to create new databases. If you already have a database UQSTART, you need not to change the configuration for it.

The DBA logins are both DBMS and server specific. Therefore, you need a single entry for each DBMS on all servers you use. The DBA logins are normal database entry in the uqconfig which have the name combined of DBA and the DBMS type, e.g. DBAORACLE. If you use the same DBMS on different servers, you can use a suffix of your choice, e.g. DBAORACLE and DBAORACLE1. The DBA logins will not be shown in the database browser.

This version of proNet START contains ready-to-use UQSTART databases for Sybase SQLAnywhere and Unique ISAM. There are additional SQL scripts for Informix Online5.x/7.x, Microsoft SQL Server 6.5, Oracle 7.x, Sybase SQLAnywhere, Sybase SQL Server and Techra available. These scripts can be directly run using the utilities of the used DBMS. In the following chapter all required configuration parameters for the uqconfig are listed for each DBMS. The file uqconfig resides in the $UNIQUE_HOME\setup directory and can be changed manually or by using the Unique Configuration Manager. Change the uqconfig according to the proposals, the configuration examples assume a standard installation in the directory c:\uqwin. If you have used a different directory, please change the used path accordingly.

System section (for all DBMS)

system: MYSYSTEM

  available-database=UQSTART

  * Example for the use of all DBMS

  available-database=DBATECHRA

  available-database=DBASYBASE

  available-database=DBAINFORMIX

  available-database=DBAINFORMIX1

  available-database=DBAORACLE

  available-database=DBAMSSQL

  ...

Unique ISAM 1.0

Included database in directory: c:\uqwin\uqstart\isam

database: UQSTART

  db-type=ISAM

  db-path=c:\uqwin\uqstart\isam

  db-charset=UCS

Sybase SQLAnywhere 5.5

Included database: c:\uqwin\uqstart\anywhere\uqstart.db

You need to create a data source in the ODBC administrator besided the uqconfig entry for the use of Sybase SQLAnywhere. The name of the data source has to be same as the entry for db-server. Specify the path for the delivered Sybase SQLAnywhere database with c:\uqwin\uqstart\anywhere\uqstart.db.

database: UQSTART

  db-type=ODBC

  db-server=UQSTART * Name of the ODBC data source

  db-name-prefix=IS

  db-charset=UCS

  db-user=dba

  db-password=<? or password>

  db-dictionary=c:\uqwin\uqstart\uqstart.ini * 32bit version only

Informix Online 5.x/7.x

SQL script: c:\uqwin\uqstart\sql\infoolde.sql or c:\uqwin\uqstart\sql\infoolen.sql

infoolde.sql is for German date settings in Informix Online, infoolen.sql is for English date settings in Informix Online.

database: UQSTART

  db-type=INFORMIX-SQL

  db-name-prefix=is

  db-charset=UCS

  db-dictionary=c:\uqwin\uqstart\uqstart.ini * 32bit version only

Two entries for each database server are necessary when using Informix Online. The first entry is used for the access of the system tables, the second for the creation of new databases.

database: DBAINFORMIX

  db-type=INFORMIX-SQL

  db-physical-name=SYSMASTER

  db-owner=informix

  *  db-server=<Name of the database server> * If required actividate the db-server entry

  db-name-length=18

  db-nullvalues=ON

  db-charset=UCS

database: DBAINFORMIX1

  db-type=INFORMIX-SQL

  db-physical-name=@<Name of the database server> * e.g. @ol_myserver

  * no db-server entry !

  db-owner=informix

  db-name-length=18

  db-nullvalues=ON

  db-charset=UCS

Microsoft SQL Server 6.5

SQL script: c:\uqwin\uqstart\sql\mssql.sql

database: UQSTART

  db-type=MS-SQL

  db-server=<Name of the database server>

  db-name-prefix=is

  db-user=<User>

  db-password=<? or password>

  db-charset=UCS

  db-dictionary=c:\uqwin\uqstart\uqstart.ini * 32bit version only

database: DBAMSSQL

  db-type=MS-SQL

  db-physical-name=master

  db-server=<Name of the database server>

  db-user=sa

  db-password=<? or password>

  db-name-length=30

  db-nullvalues=ON

  db-charset=UCS

Oracle 7.x,8.x

SQL script: c:\uqwin\uqstart\sql\oracle.sql

database: UQSTART

  db-type=ORACLE

  db-server=<Name of the database server>

  db-name-prefix=IS

  db-user=ISUQSTART

  db-password=<? or password>

  db-charset=UCS

  db-dictionary=c:\uqwin\uqstart\uqstart.ini * 32bit version only

database: DBAORACLE

  db-type=ORACLE

  db-physical-name=SYS

  db-user=SYS

  db-server=<Name of the database server>

  db-password=<? or password>

  db-name-length=30

  db-nullvalues=ON

  db-charset=UCS

  db-options=MIXCHAR_ALLOWED

Sybase System 10/11, Adaptive Server 11.5

SQL script: c:\uqwin\uqstart\sql\sybase.sql

database: UQSTART

  db-type=SYBASE

  db-server=<Name of the database server>

  db-name-prefix=is

  db-user=<User>

  db-password=<? or password>

  db-charset=UCS

  db-dictionary=c:\uqwin\uqstart\uqstart.ini * 32bit version only

database: DBASYBASE

  db-type=SYBASE

  db-physical-name=master

  db-server=<Name of the database server>

  db-user=sa

  db-password=<? or password>

  db-name-length=30

  db-nullvalues=ON

  db-charset=UCS

Techra 2.33

SQL script: c:\uqwin\uqstart\sql\techra.sql

database: UQSTART

  db-type=TECHRA

  db-server=<Name of the database server>

  db-name-prefix=IS

  db-user=<User>

  db-password=<? or password>

  db-charset=UCS

  db-dictionary=c:\uqwin\uqstart\uqstart.ini * 32bit version only

database: DBATECHRA

  db-type=TECHRA

  db-physical-name=/

  db-user=system

  db-server=<Name of the database server>

  db-password=<? or password>

  db-name-length=16

  db-charset=UCS

We also deliver a DBS file, it is called uqstart.dbs and resides in the directory c:\uqwin\uqstart.

Example configuration

This example assumes one Oracle and two Informix Online server. The UQSTART database is stored on one of the Informix Online servers.

database: UQSTART

  db-type=INFORMIX-SQL

  db-server=ol_unixbox

  db-name-prefix=is

  db-charset=UCS

  db-dictionary=c:\uqwin\uqstart\uqstart.ini * 32bit version only

database: DBAINFORMIX

  db-type=INFORMIX-SQL

  db-physical-name=SYSMASTER

  db-owner=informix

  db-server=ol_unixbox

  db-name-length=18

  db-nullvalues=ON

  db-charset=UCS

database: DBAINFORMIX1

  db-type=INFORMIX-SQL

  db-physical-name=@ol_unixbox

  db-owner=informix

  db-name-length=18

  db-nullvalues=ON

  db-charset=UCS

database: DBAINFORMIX2

  db-type=INFORMIX-SQL

  db-physical-name=SYSMASTER

  db-owner=informix

  db-server=ol_ntserver

  db-name-length=18

  db-nullvalues=ON

  db-charset=UCS

database: DBAINFORMIX3

  db-type=INFORMIX-SQL

  db-physical-name=@ol_ntserver

  db-owner=informix

  db-name-length=18

  db-nullvalues=ON

  db-charset=UCS

database: DBAORACLE

  db-type=ORACLE

  db-physical-name=SYS

  db-user=SYS

  db-server=unixbox

  db-password=<? or password>

  db-name-length=30

  db-nullvalues=ON

  db-charset=UCS

  db-options=MIXCHAR_ALLOWED

and more ordinary databases...

system: MYSYSTEM

  available-database=UQSTART

  available-database=DBAINFORMIX

  available-database=DBAINFORMIX1

  available-database=DBAINFORMIX2

  available-database=DBAINFORMIX3

  available-database=DBAORACLE

   ...

Required files for proNet START

\uco60\is\i*.uco	79 applications

\uco60\is3\i*.uco	79 applications

\bin\is60_32.dll

\setup\ldtis_en.ldt

\setup\ldtis_ge.ldt

\help-en\isuser.hlp

\help-en\isuser.cnt

\help-ge\isuser.hlp

\help-ge\isuser.cnt


What is a database project ?

A database project contains information which is necessary for the database definition of a development project.

Tables, columns, keys and the definition of areas, wide column and system tables or purpose and comment texts belong this information.

The datatypes are defined globally within proNet START. This means that you just need to define types once. However, you have to take care when modifying type definitions.

Related topics

•	New database project

•	Open database project

•	Close database project


New database project

In this window you can create a new database project. Enter a project name, the name of the database which you can select from the list of running databases or enter on your own and a description and click on OK.

You can create an empty project, a project as a copy of an existing project or a project based upon a DBS file. To do so mark the appropriate check box and select a project when using the option copy of project or a dbs file and suited file format when using the option based upon dbs file. When using the option based upon dbs file a dbs file and all contained tables, columns, indexes and datatypes will be inserted. You find more information in the section Import of dbs files.

Using the check box open exclusively you may open the project exclusively. You find more information in Open project exclusively.

By clicking on Cancel you can leave the window without creating a project.


Import of dbs files

The import of dbs files supports a subset of the syntax possible in dbs files. The supported range contains what dbs files of former proNet START version usually contained. All other parameters will be ignored and does not lead to errors.

The supported syntax is described in BNF conventions. The sections area, system table, wide table, catalogue-area, log area and foreign key are not supported. All parameters which refer to storage locations or storage sizes will be ignored as well as obsolete parameters, which only were relevant for SIBAS and are not supported in database projects anyway, e.g. the key type keyword. Parameters, which were documented, but were never generated by proNet START, e.g. foreign key, will be ignored, too.

Types

create type <type name> is <storage clause>

[ generic ]

[ [not] null ]

[ default	<def name> ]

[ display	<display code> ]

[ storage	<storage clause> ]

The following types are supported. The types in the left column will be directly imported. The types in the right column are in an obsolete syntax and will automatically be converted in the current syntax.

Syntax since Unique CONCEPT 3.12	Alternative, obsolete syntax

ALPHANUMERIC(<length>)	CHARACTER <length>

BINARY(<length>)

BIT	BOOLEAN

DATE

DATETIME

IMAGE [GENERIC]

INTEGER1	I1, INT1

INTEGER2	I2, INT2, SHORT [INT]

INTEGER4	I4, INT4, LONG [INT]

MONEY

PACKED DECIMAL(digits>[,<decimals>]) [UNSIGNED]

REAL4	FLOAT

REAL8	DOUBLE [PRECISION]

SERIAL

TEXT [GENERIC]	FREE [TEXT]

TIME

UNPACKED DECIMAL(digits>[,<decimals>]) [SEPARATE]

VARCHAR(<length>)	STRING <length>

Defaults

create default <default name> <value>

Defaults (see also Default values) will be imported directly.

Tables

create table <table name>

[ heading <text> ]

{ <column definition> }...

{ <key definitions> }...

Columns

column <column name> <type name>

[ [not] null ]

[ default <def name> ]

[ display <display code> ]

[ purpose <info> ]

Purpose texts will be imported for columns!

Keys/Indexes

create <key type> key <key name>

[ <member list> ]

[ [un]clustered ]

[ virtual ]

[ heading <text> ]

The key type Keyword will be ignored.

Constants

Officially the usage of constants in dbs files was never documented. Because they have been used in some dbs files, constants will be handled like in Unique 4GL source code. Constant names may be up to 30 characters long.

$constant MyConst 'This is a ready to use alphanumeric constant'

$constant MyValue 12345678

create table MyTable heading $MyConst

Limitations

Some dbs files may also contain $include statements, which have never been documented, either. $include statements will be ignored. If necessary, the contents of include files must be copied manually into the dbs file.


Open database project

In this windows you can open an existing database project. Select a project in the list box and click on OK.

Using the check box open exclusively you may open the project exclusively. You find more information in Open project exclusively.

By clicking on Cancel you can leave this windows without opening a project.

Only one database project can be opened. If you open a new project while another project is already open, the open project will be closed.


Close database project

In this window you can close an open database project. This window can just be reached if a database project is open.

The project database remains physically open if a project was closed.


Open project exclusively

When opening oder creating (with implicit opening) a database project you may define that the project will be opened exclusively. Simply click on the check box open exclusively. If the project has not been opened exclusively by another user you then lock the project for all other users. Though, other users can still work with other projects. You on your own may open the project several times with the same username in different Unique CONCEPT sessions.

The lock will be automatically removed, if you open a different project or exit proNet START. If the mechanism sometimes do not work, you can manually remove all locks by executing the function in the drop down menu START -> Unlock projects.


Project functions

In the drop down menu Projekt the following functions are definedt:

•	Project properties

•	Generate

•	Generate DBS file

•	Generate Project documentation

•	Generate Project applications

•	Datatype include file

•	Delete project

•	Purpose text

•	Comment text

•	Advanced Options

•	Define Areas

•	Define Log Area

•	Define views

•	Table options

•	Check project

•	Project check rules

•	Result of the Syntax diagnosis

•	Result of the Import diagnosis

•	Check project consistency

•	Graphical modelling


Project properties

In this window you can define the name, the Heading, the connected database, the author, the version, the table defaults, the Access rights and the Storage details for your database project. If you change the name of the project it will be checked that the new name is not in use by another project.

In the Drop-Down-Combo-Box Database you can enter a name of your choice or select a database from the list of available database in this system. This connection of project and database is important for the function Synchronize in the window Registered databases, because only projects are offered for the synchronization which are already connected to the database.

Below the field version you see a note when the database was created. If you haven´t created the database yet, an appropriate message will be displayed.

Table defaults

Some DBMS enable you to define the Logging of all activities like updates, inserts, oder deletes. Mark the check box if you want to use this feature. By default this option is not activated.

Some DBMS enable you to define the Compression of all activities like updates, inserts, oder deletes. Mark the check box if you want to use this feature. By default this option is not activated.

The setting you define here for table defaults, Access rights and Storage details will be used as default values for all objects in your project.


Graphical modelling

Graphical modelling


Generate DBS file

Using this function you can generate the DBS file for the current database project. By default the DBS file will be created in the directory which has been specified in the section system of the uqconfig in the parameter dbs-path. If the parameter dbs-path is not speficied, the first directory for the parameter source-path is used.

You should always use the UCS file format for the dbs file, but other file formats can be selected to provide backward compatibility. The setting in the uqdio.ini will be ignored.


Generate Project documentation

Using this function you can create the documentation for the current database project. You can select the printer or file name. By default the documentation will be created in the directory specified in the parameter dbs-path in the system section of the uqconfig. If dbs-path is not specified, the first directory specified for the source-path is used.

You can include the purpose text for the project, tables, columns and keys into the documentation. Please note that this may significantly increase the size of the documentation.


Generate Project applications

In this window you find all functions for the automatic generation of application for your project.

Here, you can create Maintenance applications as well as  Zoom applications.

Select a table and press the button Start. The maintenance application for this table will be generated. You also can create mainenance applications for the entire database. In this case a menu system for the access to all maintenance applications will be started. Using the Popup menu you can reach the Table properties, where the key for Maintenance applications and Zoom applications can be defined.

For the generation of applications you can define different Generate Project applications options. In the options window also the naming conventiosn for applications can be defined.

Limitations

There are certain limitations for the creation of maintenance applications. They are documented in the section Database maintenance.


Generate Project applications options

The generation mode specifies if you want to generate just the load report, the online screen, both (default) or a Zoom application. The online screen can only be created with a grid form when selecting Online only.

The switch Compatibility to CONCEPT 4.02/5.12 forces a backward compatibility back to Unique CONCEPT 4.02. The backward compatibility requires a limited functionality and layout, therefore it should only be used if the compatibility is really necessary for you.

In the sub form Online layout mode you can set whether the online part of the maintenance applications or zoom applications should contain one column in each line or the columns should be positioned to save space. To save additional space or to increase the readability you may decrease or increase the number of character for the Heading of a column. For zoom applications you can also define the number of repeat lines, these are the simultanously displayed records of a table.

The Conversion from - (hyphen) to _ (underscore) can be activated to convert Hyphens in column, key or table names into underscores. This option makes sense in combination with the uqconfig parameter db-options=convert_names.

The switch alphanumeric columns may contain CR+LF must be set if (and only if) alphanumeric columns contain usually not allowed special characters, e.g. Carriage Return or Line Feed. If alphanumeric columns are connected with multi-line input elements, these special characters will be stored in alphanumeric columns. If this switch is not set and alphanumeric columns contain Carriage Return or Line Feed, the Dmp files cannot be loaded anymore!

You can select the source path in the list box. All source paths which have been defined for the current system are available.

Filenames and Extensions

For the different kinds of files you can partly modify the names and extensions. For zoom applications you can alter the first character (usually 'z'). If there is no special reason, you should not change these settings.


Datatype include file

For the declaration of static and local fields in Unique 4GL programs you can now let START generate an include file for you. This include file contains constants for the storage and display codes of all datatypes used in a project.

The name of the constants consists of a prefix which you can select for both storage and display code and the name of the datatype.

Example:

You have defined a datatype "Name" which has got the storage code Alphanumeric(30) and the display code X(20). When using the default prefixes you get the following constant definition.

$constant StoName Alphanumeric(30)

$constant DspName X(20)

You can defined the file name on your own. By default, the project together with the file extension .inc will be used, e.g. uqstart.inc.


Delete project

After the typical confirmation the project including all dependent objects like tables, columns and keys will be deleted. This action cannot be undone.


Define Areas

You can define one or more areas in your project.

Areas are used to specify where in the file system or in which raw devices tables and indixes are storesd. Each area has got a link to a file or a device. Some DBMS allow to split an area (in the DBMS called e.g. tablespace or dbspace) across several files. This mechanism is not supported in this version of proNet START.

Informix C-ISAM and Unique ISAM do not support areas. The area definition will be ignored.

Besides the name of the area you can define the following parameters:

•	Filename

The file must be conformant to the rules of the server operating system and of the DBMS. If the filename contains path specifications or non alphanumeric or numeric characters or the name should not be converted to uppercase letters, you have to enclose the name in single or double quotes.

If no filename is entered, the name of the area, converted into uppercase letters, will be used.

•	Size

If the file is to be produced with a certain size, you have to specify the size in bytes. You cannot use the suffixes K,M and G here.

If you use SIBAS/R on SINTRAN, the file size will be rounded up to full SINTRAN pages. One page in SINTRAN contains 2048 bytes.

•	Extented storage definition

If the area does not exist, these values will be set during the creation as the default values for all new objects in this area (see also Storage details).

•	Default areas

You can specify an area for tables and blob columns in which all tables will be created in, if you don´t define an area for a table or a blob column explicitly.

Wichtig

proNet START does not support the DBS parameter for areas 'default-log-area'. Instead, directly define a log area.


Define Log Area

You can define a log area in your project. Most databases support the logging of database operations. Some DBMS support logs only for physical databases, some for logical databases. If the DBMS supports logging for logical databases or if a 1:1 relation exists between logical and physical databases (e.g. when using SIBAS), you can define the log area here.

Unique ISAM does not support logging.

The log area specifies where the log file in the file system are to be stored. If possible the log file should be placed on a different hard disk than the other database files to simplify the restoring after a hard disk failure.

Besides the name of the area you can define the following parameters:

•	Filename

The file must be conformant to the rules of the server operating system and of the DBMS. If the filename contains path specifications or non alphanumeric or numeric characters or the name should not be converted to uppercase letters, you have to enclose the name in single or double quotes.

If no filename is entered, the name of the log area, converted into uppercase letters, will be used.

•	Size

If the file is to be produced with a certain size, you have to specify the size in bytes. Use the suffixes K,M and G for kilo-, mega-  and gigabytes. The suffix must follow directy the numer without a space.

If you use SIBAS/R on SINTRAN, the file size will be rounded up to full SINTRAN pages. One page in SINTRAN contains 2048 bytes.


Define views

In this window you can define Views. For each view you can specify both the name and a Heading. The heading will only be used within proNet START. In the sub form Access rights you can define the rights for the view like for tables.

A preview of the definition of the selected view is shown in the lower right part of the window.

•	Using the button Edit you can modify the definition of the view in the editor. Just enter the select-statement. The statement create view.. and the definition of access rights will be automatically created by proNet START.

•	Using the button New you can start the wizard for the generation of views.

•	Using the button Comment you can edit the Comment text for the view.

To enter column and table names independent of the database parameters like db-name-prefix and db-name-length, you can use the macro @ITEM, e.g. select @ITEM(Name) from @ITEM(Kunde).

The definition of views must be conformant to the syntax rules of the used DBMS.

Please note, that during the import of views from the dictionary additional statements might be inserted which should not be part of the definition. At the moment you have to delete them manually.


Table options

In this window you can set different options for single or all tables in your project and view the table type and the result of the last syntax check.

If you have already defined a table in your project, but don´t want to generate it in the physical database, don´t mark the Include in DBS. By default each table will be included in the DBS file.

You can define an own sorting order for columns of a table in the window Sort fields. If you want to use your own sorting order, mark the check box Sort by seq. no.

Some DBMS support to define the Logging for single table. If you want to do so, mark the appropriate check box.

Some DBMS support to define the Compression for a table. If you want to do so, mark the appropriate check box.

Functions

If you click on the push button Functions, a new sub form will be displayed in the lower part of the window. Here, you can set or remove the five options described above for all tables. Just select the requested option and click on the push button Set or Remove.


Project check rules

In this windows you define the rules for the syntax check before the creation of the database.

In the sub form  Options for checking you can switch off the check of the database definition before the creation of the database. You save some time by switching the option off, but risk a error message of the DBS compiler later on. By default the option is set to on.

In the sub form automatic exclusion you can exclude illegal tables and illegal groups from the dbs file generation. Illegal tables are tables without columns or without keys or tables with columns without correct datatype. Illegal groups are group keys without members. Both option are not activated by default.

In the sub form options for the DB creation you can define whether the Purpose texts should be included in the DBS file. By default the option is activated.


Result of the Syntax diagnosis

In diesem Fenster werden alle Fehler und Warnungen der Syntaxprüfung vor der Erzeugung der DBS file angezeigt, sofern Sie für dieses Projekt bereits eine DBS-Datei erzeugt haben und bei den Project check rules die Prüfung aktiviert haben.

Mit einem Doppelklick auf eine Fehlerzeile oder das Betätigen der Return-Taste können Sie zu dem entsprechenden Objekt springen, bei dem der Fehler aufgetreten ist. Bei einem Problem mit einem Datentypen geht der Sprung in die Datatype library. Bei einem Fehler mit einer Tabelle oder einem Feld geht der Sprung hingegen in das Projektfenster Define tables.

Um dieses Fenster nach einem Sprung wieder zu erreichen, öffnen Sie das Projekt, falls es noch nicht geöffnet ist, und öffnen das Fenster über den Menüeintrag Projekt->Projekt prüfen->Syntaxdiagnose.

Possible errors are:

•	Table has no columns.

•	Tabelle has no keys.

•	Group key without members.

•	No legal tables in this project.

•	Group key has a non unique name.

•	Column has got a non unique name.

•	Table has got a non unique name.

•	Datatype does not exist.

•	Systemtabelle fehlt für Tabelle.

•	Systemtabelle fehlt für Schlüssel.

•	BLOB-Tabelle fehlt für Tabelle.

•	BLOB-Tabelle fehlt für Schlüssel.

•	Feld hat keinen Datentyp.


Result of the Import diagnosis

In diesem Fenster werden alle Fehler und Warnungen des Datenbankimports angezeigt, sofern Sie in dieses Projekt vorher eine laufende Datenbank importiert haben.

Mit einem Doppelklick auf eine Fehlerzeile oder das Betätigen der Return-Taste können Sie zu dem entsprechenden Objekt springen, bei dem der Fehler aufgetreten ist. Bei einem Problem mit einem Datentypen geht der Sprung in die Datatype library. Bei einem Fehler mit einer Tabelle oder einem Feld geht der Sprung hingegen in das Projektfenster Define tables.

Um dieses Fenster nach einem Sprung wieder zu erreichen, öffnen Sie das Projekt, falls es noch nicht geöffnet ist, und öffnen das Fenster über den Menüeintrag Projekt->Projekt prüfen->Importdiagnose.

Mögliche Fehler sind:

•	Datentyp existiert bereits.

Dem Feld wurde die bereits existierende Datentypdefinition zugewiesen. In den Optionen im Fenster Import database können Sie die Behandlung von existierenden Objekten beim Import ändern.

•	Feld existiert bereits.

Das Feld ist in der betreffenden Tabelle bereits definiert, deshalb wird es einfach nur nicht importiert.

•	Tabelle exisitiert bereits.

Die Tabelle ist im betreffenden Projekt bereits definiert, deshalb wird sie je nach Importoption einfach nur nicht importiert, ignoriert, mit einem neuen Tabellennamen erzeugt, oder der komplette Import bricht ab.

•	Gruppenschlüssel ohne Elemente oder mit nur einem Element.

In der aktuellen Version von proNet START können Gruppenschlüssel mit einem Element nicht importiert werden. Definieren Sie das Feld in proNet START einfach direkt als Schlüssel.

Gleichwohl lassen sich natürlich mit Unique CONCEPT Applikationen programmieren, die diesen Index nutzen.

Auf den ersten Blick unerklärliche Fehler beim Datenbankimport können mit einer falschen Einstellung des Parameters db-name-length in der uqconfig für die importierte Datenbank zusammenhängen.


Check project consistency

In this windows you can check your database project to ensure the data consistency for the future. The background for this check are problems of previous versions of proNet START where some validations haven´t been included. Checks will be done for the definitions of default areas, default system tables and default blob tables.

Additional, some storage codes were stored with older, not usual names. E.g. the term Freetext will be replaced by Text.

To start the check, click on the button Check. If several default areas, default system tables or default blob tables are found, each first definition will remain. For obsolete storage codes the valid term will be used. After the check a protocol of the modifications will be displayed.

Important

This check is only designed for one check of old projects. The usual check will be done as a part of the DBS generation.


Standard templates

Standard templates are used for the input of purpose and comment texts. The related standard template will used as a template for each new input of a purpose or comment text.

The standard templates theirselves are not stores inside the project database, you just specifiy the filename here. To define a new standard template, click on the button with the button down to open a dialogue for the selection of the file name. You can select an existing file or enter a new name.

If you have selected a filename, you can edit the file or clear the file name using the appropriate button.


Define tables

This is the main window of proNet START. In this window you define tables, columns and keys/indexes of a project and as well access the Project functions which you can utilize for e.g. defining project details, Areas or standard templates and generating DBS files and project documentations.

Click on one of the tabs to select one of the different views for the tables. One tab shows one table together with several lines for the columns, a second one table with the defined keys/indexes, the third tab one table with the defined foreign keys. The fourth tab shows a list of tables.

The lines for columns consist of the column name, the datatype and the Heading. The lines for the keys/indexes consist of the key/index name, a drop down list box for the key/index type, a check box for identifying group keys/indexes and the Heading of the key/index. New inserted keys/indexes will defined as unique. In the drop down list box you can change the key/index type (see also Key/Index).

Please note that only one key/index can be defined as primary.

The lines for foreign keys consists of the name as well as the table and the key where the foreign key references to. The table and key can only be changed in the Foreign key properties, only the Heading may be changed in the overview. After inserting a new foreign key the window Foreign key properties will be opened automatically.

Using the Popup menus you can select the functions for tables, columns and keys/indexes.

•	Table functions

•	Field functions

•	Key/Index functions

•	Foreign key functions


Table functions

In the Popup menus for tables you can select the following functions:

•	Delete table

•	Sort fields

•	Copy table

•	Port tables

•	Edit Purpose text

•	Edit Comment text

•	Table properties

To select one of these function you have to select a table first.


Table properties

In this window you can define the Heading, the storage location for the table and the indexes of this table, a few table options, the Access rights, the Storage details as well as the settings for temporary tables on the second tab.

You can select the Area where the table should be generated. The areas have to be defined in advance in the windows Define Areas.

Options

If you already have a table defined in your project, but don´t want to include in the physical database, do not mark the check box Include in DBS file. By default each table will be included in the DBS file.

You can define your own sorting order in the window Sort fields for the columns of the current table. If you want to use your self defined order, mark the check box Sort columns by sequence.

In the window Generate Project applications you can generate  Maintenance applications and Zoom applications zoom applications. If you want to preselect the current table for the generation of a zoom application, mark the check box Generate zoom application. If you mark the check box, the drop down list box for the selection of the key for the zoom application will shown. To be able to generate a zoom application you need to select a previously defined key. If you want to use a certain key for a maintenance application, you can this key here, too. Usually, you should not select a key to let proNet START choose the key which fits best on its own.

Some DBMS enable you to define the Logging of all activities like updates, inserts, oder deletes. Mark the check box if you want to use this feature. By default this option is not activated.

Some DBMS enable you to define the Compression of all activities like updates, inserts, oder deletes. Mark the check box if you want to use this feature. By default this option is not activated.

You can as well set the options Include in DBS file, Sort columns by sequence and Generate zom application in the window Table options for alle tables.

Parameters for a Temporary Table

The settings for temporary tables will only be regarded if the table will be created as a part of a temporary database. For normal database tables these setting have no effect. The setting will be stored in the Local Dictionary of the temporary database.

Persistent

Defines if the table and its data exist through the scope of an application or a session. If persistent is set to 1 the table's data will be available until Concept is terminated. If persistent is set to 0, it means that the table's data will be available only until the application that first opens the table is exited. That is if application A is the first application in the application hierarchy that includes the temporary table A, is terminated any data in table A is removed. Any application called within the hierarchy from application A might access table A and it's data.

NULL allowed

If NULL allowed is set to 1, it is legal to insert NULL values into the table.

Default NULL

If Default NULL is set to 1, allow-nullvalues must be set to 1, and defines that when data are inserted in the table, any column not included in the application that does the insert, are initiated with the value NULL..

If default-null is set to 0 the not included columns are given default values according to type (Integers=0 characters=' ', etc).


Sort fields

The fields of a table will be by default alphabetically sorted during the creation of the database. If you prefer another sorting order you can define it in this window.

To activate the used defined sorting for the current table mark the check box in database. If you want to test your sorting order in this window and you use a SQL capable DBMS, activate the check box in this window.

Simply enter a number in the column Sequence for each field. A number may also be used more than once or can be left out. The sorting order of columns with the same number is undefined.

You can automatically renumber all columns of this table by pressing the button Renum.


Delete table

After the typical confirmation the table including all dependent objects like columns and keys will be deleted. This action cannot be undone.


Copy table

Using this function you can copy a table including their columns and keys within a project.

The difference to copying using the function Port tables is that the entries for areas, blob and system tables remain.

Simply enter the target name for the table. If a table with this name already exists, the copying will be aborted.


Port tables

Using this function you can copy a table including their columns and keys from a project into the library of Standard tables and vice versa.

When starting this function you first have the opportuniy whether you want to export or import a table. If you choose the export you just have to specify how your current table should be named in the standard table library. If you choose the import you first select a standard table and then enter a name for this table in your project.

Entries for the usage of areas, blob and system tables will not be copied.

Standard table library


Field functions

In the Popup menu for columns you can select the following functions:

•	Select datatype

•	Datatype properties

•	Delete field

•	Sort fields

•	Copy fields

•	Define field as key

•	Edit Purpose text

•	Edit Comment text

•	Field properties

To select one of these functions you have to select a column first.


Key/Index functions

In the Popup menu for keys/indexes one can select the following functions:

•	Define/view member

•	Delete key/index

•	Edit Purpose text

•	Edit Comment text

•	Key/Index properties

To select one of these function you have to select a key/index first.


Field properties

In this window you can set the Heading, the datatype, the display code, Default values and additional column dependent parameters.

By pressing ENTER or clicking on the buttons right to the datatype and display code you select the datatype or call the function Define display code.

From the list of defined default values you can select the requested value. The default value itself has to be defined in the screen Define Default values before.

Dependent on the datatype of the column several additional options might be available.

For all types except for Bit you can decide if columns of this type should get the value NULL or not.

For blob columns, i.e. columns with the storage codes Text or Image, you may specify an Area where the column will be created in.

You can define if the current column should be included into the automatic generation of zoom applications for the current table. The generation of zoom applications can be started using the function Generate Project applications.


Select datatype

In this window you can select a datatype to assign it to the current column.

Together with the name of the datatype the storage code, the Heading and the display code is displayed.


Delete field

After the typical confirmation the column will be deleted if it not a member of a group key. This action cannot be undone.


Define field as key

Use this function to define the current field as a key/index. No additional input is necessary. The key/index will always defined as a unique index.

The new key/index is displayed in the first line of the keys/indexes. Here you can alter the key/index type.


Copy fields

In this window you can copy column from other table in the current table. On the left you see the current (target) table and the containing columns, on the right the source table and their columns. You can select any table from the current database project to be the source table. The target table cannot be changed.

The push buttons in the middle have beginning on the top the following functions:

Insert of a selected column of the source table into the target table. All properties of the column will be transferred.

Remove the selected column from the target table. Column which are defined as a key or key member cannot be deleted in this window.

Columns cannot be copied more than once into the target table.


Key/Index properties

In this window you can define the Heading, the general key/index type (see also Key/Index) as well as the storage location and the Storage details.

Please note that just one key/index can be defined as primary.

You can define one key/index per table as Clustered. Clustered means that the records of the table will be inserted in the sorting order of this key/index whenever possible. This mechanism is not supported by all DBMS.

You can define the storage location for the key/index in the DBMS by selecting the Area. The area itself has to be defined in the window Define Areas in advance.


Define/view member

In this window you can define the Key/index members of  a Group key/index. On the left you see the available table columns and on the right the current definition of key/index members. Right to the key/index members you can specify the sorting for each member by assigning the value ASC for ascending and DESC for descending. Please note that only a few DBMS, e.g. Informix Online and Sybase SQL Anywhere, support the sorting for each key/index member. You will find more information about this in the DBMS Reference. The sorting order can only be specified for indexes, not for keys.

The push buttons in the middle have beginning on the top the following functions:

Insert the selected colum before the selected key/index member.

Append the selected column after the selected key/index member.

Remove the selected key/index member.

Clear the list of key/index members.

Columns cannot be defined more than once in a group key/index.

If you define more than eight key/index members the key/index cannot be generated in all DBMS supported by Unique. You will find more information about this in the DBMS Reference.


Delete key/index

After the typical confirmation the key/index including all dependent objects like key members will be deleted. This action cannot be undone.


Foreign key functions

In the Popup menu for foreign keys one can can select the following functions:

•	Delete foreign key

•	Edit Purpose text

•	Edit Comment text

•	Foreign key properties

To select one of these function you have to select a foreign key first.


Delete foreign key

After the typical confirmation the foreign key including all dependent objects like key members will be deleted. This action cannot be undone.


Foreign key properties

In this window you can define the Heading, the key members as well as the referenced table and referenced key for the currently selected Foreign key. The delete and update rules may be defined, too.

The number of key members in the foreign key must be equal to the number of members in the referenced key. The key members in the referneced key are therefore only shown for information purposes and cannot be changed.

This window will be automatically opened if a new foreign key name was entered. If you cancel the window in this situation the foreign key will not be inserted. If you confirm by pressing ok the definition of the foreign key will checked if it is complete and correct, so that a referenced table, a referenced key and the key elements always have to be entered.

For the delete and update rules you should check the support of the DBMS you use in the DBMS Reference. proNet START supports all actions defined in ANSI SQL 3, most DBMS only support a small subset of ANSI SQL 3.


Repository

The Unique Repository contains datatypes, standard values and standard tables.


Datatype library

In the datatype library you can view, modify and delete existing datatypes and insert new datatypes.

The left column contains the name of the datatype, the central column Heading and the right the storage code. The storage code cannot be entered directly. To define the storage code click on the button right to the storage code. You can also activate Change storage code using the Popup menu.

In the lower part of the screen you find three tabs for Properties of a datatype, for setting a Filter for the displaying datatypes and a tab for Functions to be executed on all datatypes.

On the tab Properties the Heading, the display code and the default value for the current datatype is displayed. Additional, a check box is displayed to show if this type is used in a database project.

On the tab Filter you may define a filter for displaying the datatypes. Four switches are available: Using Ignore the filter is switched off (the default), all datatypes will be shown, using in any project the datatypes have to be used in at least one of the projects, using Not used the datatypes will only be shown if the are not used in any project at all. Using the filter in project you can select a project and only datatypes used in this project will be shown. Though the datatypes may also be used in other projects.

On the tab Functions you can set the NULL/not NULL definition of all datatypes to the default value for the used storage code. If you mark the check box Include all fields, also the field definitions will be modified.

Using the Popup menu you can select the functions

•	Datatype properties

•	Change storage code

•	Field references

•	Delete datatype

Please note that datatypes inside proNet START are defined globally.


Datatype properties

In this windows you can set the Heading, the storage code, the display code, Default values and additional type dependant parameters.

By pressing ENTER or clicking on the buttons to the right of the storage code and display code you call the functions Change storage code or Define display code.

Select the requested default value from the list of defined default values. The default value itself must be defined before in the window Define Default values.

Dependent on the datatype several additional options may be available.

For all types except for Bit, Serial, Text and Image you can decide, if fields using this type should be initialized with the value NULL after inserting or not.

For the type Packed decimal you can decide, if fields of this type should be signed or just positive.

For the type Unpacked decimal you can decide, if the digits and decimals for fields using this type should be stored separately or not.

For the type Text and Image you can define if columns using this type are to be generated as generic wide columns. Unique supports both generic BLOBs which are managed by the DBMS and simulated BLOBs which are managed by the Unique Runtime Engine.

Using a DBMS which directly supports BLOBs the dbs compiler may create simulated BLOBs anyway because the DBMS might have limitations . E.g. in Oracle, only one BLOB column is allowed per table.

For the type Serial you may define the starting value for the automatic numbering. The default value is 1.


Change storage code

In this window you can alter the storage code for the current columns or the current datatype. The following datatypes are available:

•	Alphanumeric

•	Varchar

•	Binary

•	Bit

•	Integer1

•	Integer2

•	Integer4

•	Serial

•	Packed decimal

•	Unpacked decimal

•	Money

•	Real4

•	Real8

•	Text

•	Image

•	Date

•	Time

•	DateTime

•	Week

The storage codes Alphanumeric, Varchar und Binary need a parameter which specifies the length, the storage codes Packed/Unpacked Decimal need two parameters which speficy the number of digits and decimals.

Not all DBMS support all storage codes available whithin Unique. In these cases the Unique Runtime Engine emulates the storage codes and uses different storage codes in the DBMS. For the Unique programmer all storage codes are transparent. E.g. using Informix C-ISAM which does not support BLOBs the usage of the storage codes Text is Image possible.

The conversion of the different storage code is documented in the release notes.


Define display code

In this window you can define the display code for a datatype or column. If you have entered this window to define the display code of a datatype, you must define a legal display code oder exit this window using the button Cancel. If you have entered the window to define the display code of column, you may also define a blank display code. In this case, the display code of the datatype will be used for the column (the default).

Dependent on the storage code there are different options available. For the storage codes Date, Time, DateTime and Week you can just select from a list of predefined display codes.

Using the storage codes Alphanumeric, Varchar, Binary or Bit you can build your own code using the available options or enter one manually.

When using the storage codes mentioned above in the lower part of the window a preview of the selected display code is shown.

Using numeric storage codes except for Bit, i.e. Integer1, Integer2, Integer4, Packed decimal, Unpacked decimal, Real4, Real8 and Money the input of display code works like this: You can directly enter a display code into the field Display code. But, you can also enter the requested number of digits and decimals into the corresponding fields and select a suitable display code form the list-box Display codes. If you select a display code from the list, on the right some examples will be shown. To use the selected display code, click on the button Use. The chosen display code can be modified manually. For a manual entered display code some examples will be shown, too.

You cannot define a display code for the storage codes Text, Image and Serial because fields with this storage code cannot be displayed directly.

Using the button Default you can restore the default display code for the storage code of the datatype or column.

A full documentation of available display codes can be found in the Unique 4GL Reference manual.


Field references

In the window Field references you can view all occurences of the current datatype in all database projects. The column name, the heading, the database project and the table are displayed.


Delete datatype

Before a datatype will be deleted and before the confirmation of the deletion proNet START checks if the datatype is still used in a column definition. If this is true, an appropriate error message will be displayed and you have the opportunity to view the dependancies in the window Field references.


Define Default values

In this window you can define Default values. These default values can be assigned to datatypes and column in the windows Datatype properties and Field properties.

The usage is simple. Just enter the name for the default value in the left column and the requested value in the right column. The entered value is an expression. This means that text constant have to be enclosed in single quotes.

Please refer to the documentation for the used DBMS to find out which default values are possible.


Standard table library

In the standard table libary you can define Standard tables with their columns and keys.

The usage of the standard table library is very similar to the window Define tables. The main difference is that the drop down menu Project has no function in this window.

Click on one of the tabs to select one of the different views for the tables. One tab shows one table together with several lines for the columns, a second one table with the defined keys. The third tab shows a list of tables.

The lines for columns consist of the column name, the datatype and the Heading. The lines for the keys consist of the key name, a drop down list box for the key type, a check box for identifying group keys and the Heading of the key. New inserted keys will defined as unique. In the drop down list box you can change the key type.

Please note that only one key can be defined as primary. If you define a second key as primary the first will be modified to be unique.

Using the Popup menus you can select the functions for tables, columns and keys.

•	Table functions

•	Field functions

•	Key/Index functions


Standard tables

Standard tables are tables which do not belong to any database project, but are managed in the Standard table library. The standard tables can be used as a common basis for tables in different projects.


Registered databases

proNet START offers various function to work an already running physical databases. This window offers the access to all these functions.

If you select one of the available databases in this system, the related database parameters are displayed.

If you activate one of these functions the database will be opened first if it is still closed. If the database cannot be opened an appropriate error message will be displayed. When using Informix C-ISAM or Unique ISAM it is most likely that the parameter db-path does not refer to the correct directory. The lights in the database icon show red if the database cannot be opened or green if the database is open.

Database parameters

All parameters applicable for each DBMS will be displayed.

•	Heading

Contains a short description for the database. It is the same as the parameter db-longname in the uqconfig.

•	Alias

It is the same as the database name after the optional alias in the paramter available-database. If no alias is used, this value is the same as the database name.

database:UQSTART7

..

system: DEMO

available-database=UQSTART alias UQSTART7

•	DBMS

The name of the database management system. Is the same as the parameter db-type in the uqconfig. For most DBMS the version number of the DBMS will be displayed after opening the database.

•	SQL database

Shows if the DBMS supports SQL. Oracle, Sybase, Informix Online/SE, Techra and Ingres support SQL, Informix C-ISAM, Unique ISAM and SIBAS do not.

•	Name in the DBMS

Is the same as the parameter db-physical-name in the uqconfig.

•	Server

Is the same as the parameter db-server in the uqconfig.

•	User

Is the same as the parameter db-user in the uqconfig.

•	Path

Is the same as the parameter db-path in the uqconfig. The path is always cut after 20 characters. The Path is only used for  Informix SE and Unique ISAM and shows the directory where the database files are stored.

•	Prefix

Is the same as the parameter db-name-prefix in the uqconfig.

Functions

You reach the following functions by opening the Popup menu for a database. The popup menus for areas, tables and views allow the access to the properties of the selected object.

•	Create/alter database

Open the create/alter database window to create oder alter the selected database or selected objects within the database. The database will not be opened for this action if the dbs compiler is used..

•	Import database

Here you can import a physical database in a database project by using the reverse engineering module.

•	Database documentation

Using this function you can create a documentation for the database.

•	Database maintenance

The function database maintenance can generate Maintenance applications which you can use for loading, unloading, truncating or modifying tables.

•	Properties

Using the function you open a window where additional Unique configuration parameters (db-charset, db-name-length, db-nullvalues and db-namecase) as well as the number of tables, views, columns and indexes. If the database management system does not provide a fast way to deliver these values an additional button Count is available to produce these values. The database will be opened when showing this window.

•	Refresh

Using this function the information about database objects will be reread from the dictionaries of the DBMS and of Unique CONCEPT.

Functions for areas

Functions for tables

Functions for views


Dictionary browser

You can view the definition of all areas, tables, columns and indexes in the dictionary browser. In the main window of the dictionary browser you see all tables and the related Heading. If your database does not have a Unique dictionary the table name will be used as the heading. This rule is also valid for headings of columns and indexes.

In the sub form in the lower part of the window the table type (Data table or View) will be displayed (for Oracle,Sybase/MS SQL Server/Informix SQL). Additional the area where the table is stored in is displayed (Oracle).

You can select the view of columns and indexes for the marked table by clicking on the buttons Columns or Indexes. For a view you can examine it´s definition by clicking on Views. The sql statement used for the generation of this view will be displayed. This works with Oracle, Sybase/MS SQL Server and Informix SQL.

Column browser

In the window column browser you see all columns of the selected table with their heading and datatype. The field datatype is empte if the database does not have a Unique Dictionary. In the sub form in the lower part of the window the information storage code, length in bytes, display code and the existence of a purpose text is displayed. If the database does not have a Unique Dictionary the default display code for the storage code is shown.

If you double click on a column name or press the <Enter> key the Purpose text is shown if available.

If the information in the heading, storage code or display code seem to have values of other fields, you may have set the parameter db-name-length to a wrong value. Please note that also during the access of the dictionary this parameter is being used and that this parameter should not be changed after the creation of the database.

Key/Index browser

In the window index browser you can examine all indexes of the selected table as a tree view. Click on an index to browse into the members of the index. The different properties like unique, duplicate, clustered and virtual will be displayed behind the index name. The Heading will be displayed if it is different from the index name and if applicable the index suffix will be shown. Using Informix ONLINE/SE an index name must be unique within the entire database, not only within a table. If you use the same index name several times, the DBS compiler automatically adds an index suffix. This functionality is transparent for the programming with Unique 4GL and the interactive tools of Unique CONCEPT.

Clustered means that the records for the table will be inserted in the order of this index if possible.

Virtual means that the index is just defined in the Unique Dictionary, but not in the database itself. Virtual indexes make sense to simplify the use of virtual keys in Unique 4GL applications.


Create/alter database

In the window create/alter database you have the opportunity to create an entire new database, to recreate all database objects, but to preserve the database itself, or to alter database objects. Dependent on the used DBMS different settings are available. You can find out more about this in the DBMS Reference.

Action

In the sub form in the upper left corner you select the requested basic option Create, Recreate or Alter. Afterwards, you select the options for the action on the tabs Schema, Objects+Storage location.

Execution mode

When using a sql database, you can select whether this database will be created directly by START or just a sql script will be created. This sql script may be used afterwards to generate the database. When using Unique ISAM or Informix C-ISAM you can only directly create a database..

Schema/Objects+Storage location

On the tab Schema you specify the structure for the database. The structure of the database can be read from a DBS file or a database project (more about it in What is a database project ?). A database project can only be used as the source if an UQSTART database is available. After selection of the base Dbs file or project you have to decide for one dbs file or a project in the drop down box. You can select any dbs file, which is available in the dbs-path of the current Unique System. If no dbs-path has been set, the first directory in the source-path will be used.

On the tab Objects+Storage location you can set which objects will be created in the database. You can decide if tables and the Unique dictionary will be created or ignored. If you create a database based upon a dbs file, a Unique dictionary in the database itselft will be created. If you create a database upon a project, a Local Dictionary will be created.

Here, you also define if the Areas specified in the dbs file or the project will be created, created if necessary or if the default settings of the DBMS will be used. Please note that the parameters for areas like size and the file name including the path cannot be platform independent.

Additional options

Using the button Options you can set the Options for the database creation. These are general parameters for the execution of the create/alter action.

Start and Result

After the selection of the requested options you start the create/alter action by pressing the button Start. The action will now be executed, after the action being finished proNet START switches automatically to the tab Result. Here you see one line with a status message and you can select the buttons View output and View Trace to view the related files in the Unique EDITOR. To view the trace you have to activate the creation of a trace file in the window Options for the database creation.


Options for the database creation

The window Options for the database creation may be used for setting some general parameters for the creating and altering databases.

Output and trace files

During each database creation, altering oder deletion an output file will be created. You can specifiy the file name in the field Output file.

If you prefer a detailed protocol of all database actions, mark the check box Produce trace. If the check box is marked, you can select a file name.

If you create a database specific script for an sql database, the field SQL script contains the name of the script. If the field is not locked, you may change the file name. If proNet START contains an internal generation routine for the used DBMS and needs not to use the dbs compiler, the file name can be changed.

Command line dbs compiler

You can select a certain version of the dbs compiler. Chasnghe the setting only if you have a special reason. The default setting to use the dbs compiler uqstart.exe from the $UNIQUE_HOME\bin directory is usually correct. If you have changed the file name you can save the setting permanently by marking the check box save command line in concept.ini.

Using the button Test run you can make a test run of the dbs compiler and request information about available parameters and database interfaces.

Using the button Default you can reset all settings in this window to the default values.


Database maintenance

In this window you find all functions for the maintenance of database contents. You can generate a Maintenance application for each table to load, unload or delete the data of the table or work on the data online.

Select a table and press the button Start. The maintenance application for this table will be started and dependent upon the action and recycling setting new generated. You also can create mainenance applications for the entire database by choosing the button Start all. In this case a menu system for the access to all maintenance applications will be started.

For the generation of applications you can define different Database maintenance options. In the options window also the naming conventiosn for applications can be defined.

Action

You can decide if you just want to generate the application, to generate and compile or to generate, compile and start the application. If you choose the function Start all, a new menu system will always be generated.

Recycling

First of all, maintenance application have to be created. But if an application was already created, it can be reused.

If you start an already compiled application on a modified table, you get errors if you work on a SQL database. If you use Unique ISAM and Informix C-ISAM you always have to recompile the application because pointers on the record structure are stored inside the ucos.

Load and unload when modifying the table structure

•	Generate the maintenance application before altering the table structure.

•	Unload the data.

•	Alter the table structure.

•	Recompile the existing applications. If errors occur during the compilation or significant modifications in the table structure.have been done, you have to edit, correct and compile the application.

•	Load the data.

Important

•	A Dmp file may only be loaded by the Maintenance application which was used for unloading. Regard both files as one unit which should always be stored together and should be copied together onto other computer systems.

•	Please note that in the uqconfig for the started system the directory for the object-path must also be part of the application-path to enable proNet START to start the maintenance applications.

Limitations

•	Record length

The storage length of all columns except for blob columns of a record together must not exceed 32K.

•	Number of columns

The number of columns in one table must not exceed 256.

•	Length of alphanumeric columns

The length of alphanumeric columns must not exceed 10000 characters.

•	Table names 1 (not applicable for 32bit versions)

If the database consists of tables where the first eight characters of the table name are equal, you have take care manually that you start the correct Maintenance application and don´t overwrite the Dmp files.

•	Table names 2

If you use several databases where the same table names are used, take care that the maintenance applications and the dmp files for each database are stored in different directories. Otherwise you may overwrite the maintenance applications and dmp files.

•	Unknown storage codes

If you use a database not created by proNet START, there might be columns with storage codes not supported by Unique CONCEPT. Please refer to the release notes how the mapping between Unique´s datatypes and datatypes in the used DBMS is defined.

•	Multi-line Input fields

Alphanumeric columns which are used to store the value of multi-line input fields (fields with e.g. size(5,40)) may contain CR+LF. These special characters lead to errors during load and unload.

•	Online screen 1

If the table has got more than 21 column the online screen will not have a proper layout.

•	Online screen 2

If the table has got alphanumeric columns greater than 250 characters, the online screen cannot be compiled. Disable the creation of the online screen in this case.


Database maintenance options

The generation mode specifies if you want to generate just the load report, the online screen or both (default). The online screen can only be created with a grid form when selecting Online only.

In the sub form Online layout mode you can set how many repeat lines will be generated in the online part of the maintenance applications. If the number of columns in a table is too high, proNet START automatically reduces the number of repeat lines for this application to make sure that the application can be compiled without errors.

The switch Compatibility to CONCEPT 4.02/5.12 forces a backward compatibility back to Unique CONCEPT 4.02. The backward compatibility requires a limited functionality and layout, therefore it should only be used if the compatibility is really necessary for you.

In the sub form General options you can decide using the check box Disable views whether only data tables (the default) or also views are presented for the generation of maintenance applications. It does not make sense to produce maintenance applications for views but the check for data tables and views takes some time, therefore you can disable this check. During the generation of maintenance application for an entire system views are always excluded.

The Conversion from - (hyphen) to  _ (underscore) can be activated to convert Hyphens in column, key or table names into underscores. This option makes sense in combination with the uqconfig parameter db-options=convert_names.

The switch alphanumeric columns may contain CR+LF must be set if (and only if) alphanumeric columns contain usually not allowed special characters, e.g. Carriage Return or Line Feed. If alphanumeric columns are connected with multi-line input elements, these special characters will be stored in alphanumeric columns. If this switch is not set and alphanumeric columns contain Carriage Return or Line Feed, the Dmp files cannot be loaded anymore!

You can select the source path in the list box. All source paths which have been defined for the current system are available.

If you want to start maintenance applications for several tables you may want to specifiy the Data file path. The selected path will be proposed in all maintenance applications you start in this session.

Filenames and Extensions

For the different kinds of files you can partly modify the names and extensions. If there is no special reason, you should not change these settings.


Database documentation

In this window you can create the documentation for the database.

You can decide whether the datatype, the storage code or the display code is to be used in the documentation.

In the field Output file the file name and path is shown. By clicking on the button with the arrow down you open the dialogue Select output file where you can alter the file name, directory and file format.


Import database

In this window you can import a physical database into a database project.

Select a project in the list box or create a New database project using the button New project.

Using the check box open exclusively you may open the project exclusively. You find more information in Open project exclusively.

By clicking on the button Start import you begin the import of the database in the selected project. After the import a dialogue box shows how many tables and columns have been imported. If errors or warnings were found during the import, you can view the log file in the Result of the Import diagnosis.

Using the button Import rules you can set the options for the import. You can define how the handling for existing tables or datatypes should be. If no Unique dictionary exists for the database no information concerning datatypes is therefore available. You can decided for this situation if the storage code or the column name should be used as a datatype. The storage code is more suited than the other options to be assigned as a datatype name.

Please note that the usage of the column names generates for any column except for a few with the same name a new datatype. This means when importing a large database you can easily generate thousand or more datatypes which is actually not helpful.

Furthermore, you may decide whether you want to include Areas (the definitions of area and all references on it for tables, blob columns and indexes) into the database import.

Before the import you can modify the Project properties to adjust the creation options for new objects within your project to your needs.


DBMS Reference

All objects in a database project of proNet START are defined for the use across all supported DBMS. The DBMS Reference documents the conversion of the definitions within a database project towards the different Database management systems (DBMS).

This documentation refers to the script and database creation using the internal routines of proNet START. Two exceptions are Informix C-ISAM and Unique ISAM which can only be created by the dbs compiler. The dbs compiler only supports a subset of the described functions. This documentation does not replace the sections for the database interfaces in the Unique Operations Guide. The configuration for the databases and the information for the runtime engine is still described in the Operations Guide..

Reference for ANSI SQL3

Reference for Informix C-ISAM

Reference for Informix Online

Reference for Informix SE

Reference for Microsoft Access (Jet SQL)

Reference for Microsoft SQL Server 6.5

Reference for Microsoft SQL Server 7.0

Reference for Oracle 7.x

Reference for Oracle 8.0/8.1

Reference for Sybase SQL Anywhere

Reference for Sybase SQL Server

Reference for Techra

Reference for Unique ISAM


Reference for ANSI SQL3

The explanations refer to ANSI SQL-3. Though, the explanation are valid for SQL92 Entry level as well except for the support of BLOBs which are unknown in SQL92.

Database/User

The term Database is not defined in the ANSI SQL standard. As a collection of different data structures like tables proNet START utilises a Schema in ANSI SQL.

Areas

Areas are not supported in the SQL standard.

Logging/Log area

Definition of Logging for database objects and Log areas are not supported in the SQL standard.

Storage codes

proNet START	ANSI SQL3

alphanumeric(n)	character(n)	(no maximum defined)

varchar(n)  	character varying(n)	(no maximum defined)

binary(n)	bit(n*8)	(no maximum defined)

bit	bit(1)

date	date

datetime	timestamp

image	blob

image generic	blob

integer1	smallint

integer2	smallint

integer4	integer

money	decimal(16,2)

packed decimal(m,n)	decimal(m+n,n)

packed decimal(m,n) unsigned	decimal(m+n,n)

real4	real

real8	double precision

serial	integer

text	cblob

text generic	cblob

time	time

unpacked packed decimal(m,n)	decimal(m+n,n)

unpacked packed decimal(m,n) unsigned	decimal(m+n,n)

BLOB columns

The SQL standard does not support specifying an area for the storage location of a BLOB column.

Serial columns

Serial columns will be created as Int columns. ANSI SQL3 does not have a feature to directly create serial columns or achieve the automatic numbering using a different mechanism.

During the import of existing database serial column will be imported as Integer4 columns.

Tables

Storage parameters, see also Storage details, are not supported for tables in the SQL standard. The specifying an area where a table will be created in is not supported, either.

Keys/Indexes

Primary keys within proNet START will be created as table constraint primary key.

Unique keys within proNet START will be created as a table constraint unique key.

Unique indexes within proNet START will be created as a table constraint unique key.

Duplicate indexes within proNet START will be ignored.

The key/index option clustered within proNet START is not supported by ANSI SQL-3.

The maximum number of key members is not defined in ANSI SQL-3.

The different sorting of single index members is not supported.

Storage parameters, see also Storage details, are not supported for indexes in the SQL standard. The specifying an area where an index will be created in is not supported, either.

Foreign Keys

Foreign Keys are supported by ANSI SQL3. All delete and all update rules are supported.

Views

Views are supported in ANSI SQL.

Name length

The maximum length for specifiers in ANSI SQL3 is 128 characters. One can use the maximum of 30 characters definable in proNet START.


Reference for Informix C-ISAM

The explanations refer to Informix C-ISAM 4.1 for DOS. Unique CONCEPT for Windows uses the DOS libraries to access Informix C-ISAM databases. Therefore, Informix C-ISAM can only be used with the 16bit version of Unique CONCEPT. proNet START supports Informix C-ISAM till version 2.11 (included in Unique CONCEPT 6.00-03/04).

Together with Unique ISAM Informix C-ISAM is the only database which can only be created through the dbs compiler.

Database/User

Databases en with the same definition as in proNet START do not exist in Informix C-ISAM nicht. There is just a collection of different tables which do not own a superior structure. This structure is build by proNet START by creating all tables in the same directory in the file system. For each table there is a *.dat and a *.idx file. On top of that proNet START creates the Unique Dictionary as two *.dat and *.idx files which contain the database name.

Areas

Areas do not exist in Informix C-ISAM. All database files will be stored in one directory. This directory is specified by the uqconfig parameter db-path. Therefore, for the creation of databases, tables or indexes no areas can be assigned.

Logging/Log area

Logging and the usage of transaction is only possible with Informix C-ISAM if a log file is assigned to the database after the creation using the tool uqutilci. You find more details in the Unique Operations Guide -> Database interfaces -> Informix C-ISAM.

Storage codes

proNet START	Informix C-ISAM

alphanumeric(n)	chartype(n)

varchar(n)  	chartype(n)

binary(n)	chartype(n)

bit	inttype

date	longtype

datetime	chartype(8)

image	<simuliert>

image generic	<simuliert>

integer1	inttype

integer2	inttype

integer4	longtype

money	chartype(9)

packed decimal(m,n)	chartype((m+n)/2+1)

packed decimal(m,n) unsigned	chartype((m+n)/2+1)

real4	floattype

real8	doubletype

serial	longtype

text	<simuliert>

text generic	<simuliert>

time	longtype

unpacked decimal(m,n)	chartype(m+n)

unpacked decimal(m,n) Separate	chartype(m+n+1)

BLOB columns

Because Informix C-ISAM does not support BLOBs, specifying areas for BLOB columns is not possible. Unique CONCEPT enables the usage of BLOB columns in Informix C-ISAM by using an unique internal simulation of BLOBs. The required database structures will be created automatically by Unique. Please note, that simulated BLOBs do not have the performance of real BLOB mechanisms. Therefore, the can be used for standard purpose like documents of a word processor, but not for very big BLOBs, e.g. movie files.

Serial columns

Serial columns will be created like Integer4 columns. Informix C-ISAM does not have a feature to directly create serial columns or achieve the automatic numbering using a different mechanism.

During the import of existing database serial column will be imported as Integer4 columns.

Tables

The storage parameters, see also Storage details, for tables are not supported by Informix C-ISAM because only a *.dat and a *.idx file for table will be created which are managed by the operating system.

Keys/Indexes

Primary Keys within proNet START will be created as a primary index.

Unique indexes within proNet START will be created as unique indexes.

Duplicate indexes within proNet START will be created as indexes.

The key/index option clustered within proNet START is not supported by Informix C-ISAM.

The maximum number of index members is 8 in Informix C-ISAM.

The different sorting of single index members is not supported by Informix C-ISAM.

The storage parameters, see also Storage details, for tables are not supported by Informix C-ISAM because only a *.dat and a *.idx file for a table and their indexes will be created which are managed by the operating system.

Foreign Keys

Foreign Keys are not supported by Informix C-ISAM.

Views

Views are not supported by Informix C-ISAM.

Name length

The maximum length for specifiers of databases and tables in Informix C-ISAM is 8 characters. One can use the maximum of 30 characters definable in proNet START for columns and indexes.

Other settings

No Local Dictionary can be used for Informix C-ISAM, the dictionary must be stored directly in the database.


Reference for Informix Online

The explanations refer to Informix Online 5.x, Informix Online 6.x as well as Informix Dynamic Server 7.1 and 7.2 using the native Unique database interface for Informix Online.

Database/User

Databases in Informix Online are equivalent to the Database definition in proNet START. The database and all objects in the database will be created by the user which is specified in setnet or by the user which is specified as the db-owner in the uqconfig.

Areas

Areas are called DbSpaces and BlobSpaces in Informix Online. DbSpaces are areas for normal data tables while BlobSpaces where among others the logging is disabled are designed for BLOB columns.

Areas cannot be created with SQL, but have to be created using the Informix Online utilities onmonitor, onspaces or the Space Explorer. But, during the creation of databases, tables or indexes Informix Online allows the specification of areas where the objects should be stored in.

Logging/Log area

The database will always be created with the seting with buffered log, so that the usage of transactions is possible. Please note, that an Informix Client session can open database simultanously which have been created with and without buffered log. E.g. the Informix demo database stores7 is usually created without buffered log.

A log area cannot be specified for Informix Online. Any normal DbSpaces can be used for the physical and logical Logs. For the physical log the onconfig parameter physdbs must be set, for logical logs the DbSpace has to be specified when creating the logical log.

Storage codes

proNet START	Informix Online

alphanumeric(n)	char(n)	(maximum 32767 characters) *)

varchar(n)  	varchar(n)	(maximum 255 characters)

binary(n)	char(n)	(maximum 32767 bytes) *)

bit	smallint

date	date

datetime	datetime year to second

image	byte

image generic	byte

integer1	smallint

integer2	smallint

integer4	int

money	money(16,2)

packed decimal(m,n)	decimal(m+n,n)

packed decimal(m,n) unsigned	decimal(m+n,n)

real4	smallfloat

real8	float

serial	serial

text	text

text generic	text

time	datetime hour to second

unpacked decimal(m,n)	decimal(m,n)

unpacked decimal(m,n) Separate	decimal(m,n)

*) The Unique Runtime Engine only supports 10240 characters/bytes.

BLOB columns

One can assign a link for each BLOB column in proNet START towards an area. Only a BlobSpace can be used as an area for BLOB columns.

Serial columns

Serial columns and the starting value for serial columns are directly supported by Informix Online.

During the import of existing database serial column will be imported as Integer4 columns.

Tables

The storage parameters, see also Storage details, Initial size and Next size within proNet START will be converted to the storage parameters extent size and next size in Informix Online.

Keys/Indexes

Index names in Informix Online have to be unique within one database. Index names in proNet START have to be unique for one table only. Because of this proNet START appends an index suffix to an already used index name in order to make the index name unique.

Primary keys within proNet START will be created as table constraint primary key.

Unique keys within proNet START will be created as a table constraint unique key.

Unique indexes within proNet START will be created as unique indexes.

Duplicate indexes within proNet START will be created as indexes.

The key/index option clustered within proNet START will be created as cluster unique index or cluster index for indexes. This option is not allowed for keys in Informix Online.

The maximum number of index members is 16 in Informix Online.

The different sorting of single index members is supported.

The storage parameter Fill Factor within proNet START will be converted to the storage parameter fillfactor in Informix Online. During the database import the fillfactor cannot be retrieved from the DBMS.

Foreign Keys

Foreign Keys are supported by Informix Online. Only the delete rules 'No action' and 'Cascading delete' are supported. Update rules are not supported.

Views

Views are supported by Informix Online.

Name length

The maximum length for specifiers in Informix Online is 18 characters.

Informix Global Language Settings(GLS)

During the database creation the configuration of the Global Language settings since Informix Online 7.2 respectively National Language settings in earlier versions are important for the definition of default values of date columns. During the creation of a database the user can decide between the locales de_de.cp1252,de_de.8859P1,en_us.cp1252 and en_us.8859P1, the default value is en_us.8859P1.

Other settings

All tables will be created with lock more row, this means that all tables will be created with row level locking.


Reference for Informix SE

The explanations refer to Informix SE 5.x and Informix SE 5.x for Windows using the native Unique database interface for Informix SE.

Database/User

Databases in Informix SE are equivalent to the Database definition in proNet START. The database and all objects in the database will be created by the user which is specified in setnet or by the user which is specified as the db-owner in the uqconfig.

Areas

Areas do not exist in Informix SE. All database files will be stored in one directory. This directory is specified by the uqconfig parameter db-path oder the Informix environment variable DBPATH. Therefore, for the creation of databases, tables or indexes no areas can be assigned.

Logging/Log area

Logging and the usage of transactions is only possible with Informix SE if a log file has been specified during the creation of the database. The file name can be specified as the file name for the log area in proNet START, the name of the log area will be ignored.

Please note, that an Informix Client session can open database simultanously which have been created with and without buffered log. E.g. the Informix demo database stores7 is usually created without a log file.

Storage codes

proNet START	Informix SE

alphanumeric(n)	char(n) 	(maximum 32511 characters) *)

varchar(n)  	varchar(n)	(maximum 255 characters)

binary(n)	char(n)	(maximum 32511 characters) *)

bit	smallint

date	date

datetime	datetime year to second

image	<simuliert>

image generic	<simuliert>

integer1	smallint

integer2	smallint

integer4	int

money	money(16,2)

packed decimal(m,n)	decimal(m,n)

packed decimal(m,n) unsigned	decimal(m,n)

real4	smallfloat

real8	float

serial	serial

text	<simuliert>

text generic	<simuliert>

time	datetime hour to second

unpacked decimal(m,n)	decimal(m,n)

unpacked decimal(m,n) Separate	decimal(m,n)

*) The Unique Runtime Engine only supports 10240 characters/bytes.

BLOB columns

Because Informix SE does not support BLOBs, specifying areas for BLOB columns is not possible. Unique CONCEPT enables the usage of BLOB columns in Informix SE by using an unique internal simulation of BLOBs. The required database structures will be created automatically by Unique. Please note, that simulated BLOBs do not have the performance of real BLOB mechanisms. Therefore, the can be used for standard purpose like documents of a word processor, but not for very big BLOBs, e.g. movie files.

Serial columns

Serial columns and the starting value for serial columns are directly supported by Informix SE.

During the import of existing database serial column will be imported as Integer4 columns.

Tables

The storage parameters for tables , sell also Storage details, are not supported by Informix SE because for a table a *.idx and a *.dat file will created which are simply managed by the operating system.

Keys/Indexes

Index names in Informix SE have to be unique within one database. Index names in proNet START have to be unique for one table only.  Because of this proNet START appends an index suffix to an already used index name in order to make the index name unique.

Primary keys within proNet START will be created as table constraint primary key.

Unique keys within proNet START will be created as a table constraint unique key.

Unique indexes within proNet START will be created as unique indexes.

Duplicate indexes within proNet START will be created as indexes.

The key/index option clustered within proNet START will be created as cluster unique index or cluster index for indexes. This option is not allowed for keys in Informix SE.

The maximum number of index members is 8 in Informix SE.

The different sorting of single index members is supported.

The storage parameters for indexes are not supported by Informix SE because for a table and their indexes a *.idx and a *.dat file will created which are simply managed by the operating system.

Foreign Keys

Foreign Keys are supported by Informix SE. Only the delete rules 'No action' and 'Cascading delete' are supported. Update rules are not supported.

Views

Views are supported by Informix SE.

Name length

The maximum length for specifiers in Informix SE ist 18 characters.

Informix Global Language Settings(GLS)

During the database creation the configuration of the Global Language settings since Informix SE 7.2 respectively National Language settings in earlier versions are important for the definition of default values of date columns. During the creation of a database the user can decide between the locales de_de.cp1252,de_de.8859P1,en_us.cp1252 and en_us.8859P1, the default value is en_us.8859P1.

Other settings

All tables will be created with lock more row, this means that all tables will be created with row level locking.


Reference for Microsoft Access (Jet SQL)

The explanations refer to Microsoft Jet SQL, the SQL implementation for the work with Microsoft Access databases. Microsoft Access can only be accessed through the Unique database interface for ODBC.

Database/User

Databases in Microsoft Access are equivalent to the Database definition in proNet START. A new Microsoft Access database has to be created with Microsoft Access oder through the ODBC administator as an emptry database, because Jet SQL does not support the creation of a database. A Microsoft Access database is a mdb file in the filesystem.

Areas

Areas are not supported by Microsoft Access.

Logging/Log area

The definition of the logging for database objects and log areas are not supported by Microsoft Access.

Storage codes

proNet START	Microsoft Access

alphanumeric(n)	text(n)	(maximum 255 characters)

varchar(n)  	text(n)	(maximum 255 characters)

binary(n)	binary(n)

bit	bit

date	datetime

datetime	datetime

image	longbinary

image generic	longbinary

integer1	byte

integer2	short

integer4	long

money	currency

packed decimal(m,n)	currency

packed decimal(m,n) unsigned	currency

real4	single

real8	double

serial	long

text	longtext

text generic	longtext

time	datetime

unpacked packed decimal(m,n)	currency

unpacked packed decimal(m,n) unsigned	currency

BLOB columns

Microsoft Access does not support specifying the storage location for a BLOB columns.

Serial columns

Serial columns will be created as Int columns. Microsoft Jet SQL does not have a feature to directly create serial columns or achieve the automatic numbering using a different mechanism. But, using DAO (Database Access Objects) afterwards it is possible to assign the value GetUniqueId() to the DefaultValue property of a column in a TableDef object. See the DAO Reference shipped with Microsoft Access for more information.

During the import of existing database serial column will be imported as Integer4 columns.

Tables

Storage parameters for tables, see also Storage details, are not supported by Microsoft Access. Specifying an area where a table is to be stored in is not supported, either.

Keys/Indexes

Primary keys within proNet START will be created as table constraint primary key.

Unique keys within proNet START will be created as a table constraint unique key.

Unique indexes within proNet START will be created as a table constraint unique key.

Duplicate indexes within proNet START will be ignored.

The key/index option clustered within proNet START is not supported by ANSI SQL-3.

The maximum number of index members is 10 in Microsoft Access.

The different sorting of single index members is supported.

Storage parameters for indexes, see also Storage details, are not supported by Microsoft Access. Specifying an area where an index is to be stored in is not supported, either.

Foreign Keys

Foreign Keys are supported by the Microsoft Access. Only the delete rule 'No action' is supported. Update rules are not supported.

Views

Views are not supported by Microsoft Access.

Name length

The maximum length of specifiers in Microsoft Access is 64 characters. One can use the maximum of 30 characters definable in proNet START.

Miscellaneous

Access rights are not supported by the SQL interface of Microsoft Access. The access rights can only be change through Microsoft Access oder the DAO interfaces (Data Access Objects). As Microsoft Access applications are usually not used in security relevant areas, this limitation is acceptable.

Important

Please note that the database administator Admin by default has no select rights on important system tables. For the use of proNet START the MSys* tables should have select rights for the user Admin or the group Admins.


Reference for Microsoft SQL Server 6.5

The explanations refer to the Microsoft SQL Server 6.5 using the native Unique database interface for MS SQL Server.

Database/User

Databases in the MS SQL Server are equivalent to the Database definition in proNet START. The database and all objects in the database will be created by the db-user or db-owner which is specified in the uqconfig.

In the MS SQL Server a certain size is assigned to a database. proNet START assign the database size which has been specified in the Project properties. If no database size has been entered in proNet START, the default size set in the configuration of the MS SQL Server will be used. Please note that the default value after the installation is 2MB (for an entire database) which is not appriopriate in most cases.

Areas

Areas are database devices in the MS SQL Server. A database device cannot be created by a sql statement. To create a database device the Microsoft Enterprise Manager has to be used. Though, the MS SQL Server allows specifying a database device where the database is to be stored in during the database creation. The default area for tables will be used by proNet START.

Besided the database devices the MS SQL Server supports so called Segments. These segments are not supported by proNet START.

Logging/Log area

The MS SQL Server knows the assignment of a certain database device which is going to be used for the loggin. If no database device has been specified for storing the log information, this information will be stored in the same database device than the data. If a log area has been entered in proNet START, this log area will be specified as the log database device. If an log area size has been entered, this will be used as the maximal size of the log.

Storage codes

proNet START	MS SQL Server

alphanumeric(n)	char(n)

varchar(n)  	varchar(n)

binary(n)	binary(n)

bit	bit

date	int

datetime	datetime

image	image

image generic	image

integer1	tinyint

integer2	smallint

integer4	int

money	money

packed decimal(m,n)	binary((m+n)/2+1)	(Standard)

packed decimal(m,n) unsigned	binary((m+n)/2+1)

packed decimal(m,n)	money	(db-options=decimal_as_money in uqconfig)

packed decimal(m,n) unsigned	money

real4	real

real8	float

serial	int identity(<Starting value>,1)

text	text

text generic	text

time	int

unpacked packed decimal(m,n)	binary(m+n)	(Standard)

unpacked packed decimal(m,n) unsigned	binary(m+n+1)

BLOB columns

The MS SQL Server does not support specifying an area for the storage location of a BLOB column.

Serial columns

Serial columns will be created as Int columns with the identify property, the starting value will be used.

Please note that columns with the Identify property must not be part of a insert statement if no 'set identity_insert <table> on' has been executed before. But, If the MS SQL Server option IDENTITY_INSERT has been set to ON, the serial column miust get an explicit value with each insert statement. The automatically by proNet START generated maintenance applications regard this issue.

During the import of existing database serial column will be imported as Integer4 columns.

Tables

Storage parameters for tables, see also Storage details, are not supported by the MS SQL Server.

Keys/Indexes

Primary keys within proNet START will be created as table or column constraint primary key.

Unique keys within proNet START will be created as a table or column constraint unique.

Unique indexes within proNet START will be created as unique indexes.

Duplicate indexes within proNet START will be created as indexes.

The key/index option clustered within proNet START will be regarded for both keys and indexes.

The maximum number of index members is 16 in the MS SQL Server.

The different sorting of single index members is not supported.

The storage parameter Fill Factor within proNet START will be converted to the storage parameter fillfactor in the MS SQL Server.

Names for constraints and therefore for primary and unique keys are unique for an entire database.

Foreign Keys

Foreign keys are supported by the MS SQL Server. Only the delete rule 'No action' is supported. Update rules are not supported.

Names for constraints and therefore for Foreign Keys are unique for an entire database.

Views

Views are supported by the MS SQL Server.

Name length

The maximum length for specifiers in the MS SQL Server is 30 characters.


Reference for Microsoft SQL Server 7.0

The explanations refer to the Microsoft SQL Server 7.0 using the native Unique database interface for MS SQL Server.

Database/User

Databases in the MS SQL Server are equivalent to the Database definition in proNet START. The database and all objects in the database will be created by the db-user or db-owner which is specified in the uqconfig.

In the MS SQL Server a certain size is assigned to a database. proNet START assign the database size which has been specified in the Project properties. If no database size has been entered in proNet START, the default size set in the configuration of the MS SQL Server will be used. Please note that the default value after the installation is 2MB (for an entire database) which is not appriopriate in most cases.

Areas

Please note that the handling of areas has been completely changed between Microsoft SQL version 6.5 and 7.0.

Areas are operating system files in the MS SQL Server 7.0. A database device cannot be created by a sql statement. To create a database device the Microsoft Enterprise Manager has to be used. Though, the MS SQL Server allows specifying a database device where the database is to be stored in during the database creation. The default area for tables will be used by proNet START.

Logging/Log area

The MS SQL Server knows the assignment of a certain database device which is going to be used for the loggin. If no database device has been specified for storing the log information, this information will be stored in the same database device than the data. If a log area has been entered in proNet START, this log area will be specified as the log database device. If an log area size has been entered, this will be used as the maximal size of the log.

Storage codes

proNet START	MS SQL Server

alphanumeric(n)	char(n)	(maximum 8000 characters)

varchar(n)  	varchar(n)	(maximum 8000 characters)

binary(n)	binary(n)	(maximum 8000 bytes)

bit	bit

date	int

datetime	datetime

image	image

image generic	image

integer1	tinyint

integer2	smallint

integer4	int

money	money

packed decimal(m,n)	binary((m+n)/2+1)	(Standard)

packed decimal(m,n) unsigned	binary((m+n)/2+1)

packed decimal(m,n)	money	(db-options=decimal_as_money in uqconfig)

packed decimal(m,n) unsigned	money

real4	real

real8	float

serial	int identity(<Starting value>,1)

text	text

text generic	text

time	int

unpacked packed decimal(m,n)	binary(m+n)	(Standard)

unpacked packed decimal(m,n) unsigned	binary(m+n+1)

BLOB columns

The MS SQL Server 7.0 does not support specifying an area for the storage location of a BLOB column.

Serial columns

Serial columns will be created as Int columns with the identify property, the starting value will be used.

Please note that columns with the Identify property must not be part of a insert statement if no 'set identity_insert <table> on' has been executed before. But, If the MS SQL Server 7.0 option IDENTITY_INSERT has been set to ON, the serial column miust get an explicit value with each insert statement. The automatically by proNet START generated maintenance applications regard this issue.

During the import of existing database serial column will be imported as Integer4 columns.

Tables

Storage parameters for tables, see also Storage details, are not supported by the MS SQL Server 7.0.

Keys/Indexes

Primary keys within proNet START will be created as table or column constraint primary key.

Unique keys within proNet START will be created as a table or column constraint unique.

Unique indexes within proNet START will be created as unique indexes.

Duplicate indexes within proNet START will be created as indexes.

The key/index option clustered within proNet START will be regarded for both keys and indexes.

The maximum number of index members is 16 in the MS SQL Server 7.0.

The different sorting of single index members is not supported.

The storage parameter Fill Factor within proNet START will be converted to the storage parameter fillfactor in the MS SQL Server.

Names for constraints and therefore for primary and unique keys are unique for an entire database.

Foreign Keys

Foreign keys are supported by the MS SQL Server 7.0. Only the delete rule 'No action' is supported. Update rules are not supported.

Names for constraints and therefore for Foreign Keys are unique for an entire database.

Views

Views are supported by the MS SQL Server 7.0.

Name length

The maximum length for specifiers in the MS SQL Server 7.0 is 128 characters. One can use the maximum of 30 characters definable in proNet START.

Quoted Identifiers

The MS SQL Server 7.0 supports so called quoted identifiers which are identifiers enclosed in square brackets oder double quotes. Here, most syntax rules have no effect, so that special characters or spaces. This mechanism is not supported by proNet START.


Reference for Oracle 7.x

The explanations refer to Oracle 7.0-7.3 and Personal Oracle 7.2-7.3 using the native Unique database interface for Oracle.

Database/User

Databases in proNet START are equivalent to users in Oracle 7.x. The user cannot be created through proNet START during the direct execution of a databases, but  hat to be created using Oracle utilities like svrmgr or sqldba. When creating a script the user will be created, though. All objects in the database will be created as objects which are owner by the user.

Areas

Areas in Oracle are called Tablespaces. The Tablespaces can be created by proNet START if required. The storage location specified for tables and indexes will be regarded. The default area defined in proNet START will be assigned as the default tablespace for the user. This means, that additional database objects of this user will be created in the default area by default without having to specify the area name.

All storage parameters for areas will be used, the storage parameters in have got the same names as the parameters in Oracle.

Logging/Log area

An Oracle database server always runs with logging. The logging is managed for the entire server, therefore proNet START cannot set logging parameters or a log area for a single database. The logging is done with the rollback segments which should be stored in an own tablespace, usually RBS, and with redo log files which are normal files in the file system.

Storage codes

proNet START	Oracle

alphanumeric(n)	varchar2(n)	(maximum 2000 characters)

varchar(n)  	varchar2(n)	(maximum 2000 characters)

binary(n)	raw(n)

bit	number(1,0)

date	number(8,0)

datetime	date

image	<simulated>

image generic	long raw

integer1	number(3,0)

integer2	number(5,0)

integer4	number(12,0)

money	money(14,2)

packed decimal(m,n)	numeric(m+n,n)

packed decimal(m,n) unsigned	numeric(m+n,n)

real4	number

real8	number

serial	number(12,0)

text	<simulated>

text generic	long

time	number(6,0)

unpacked decimal(m,n)	numeric(m+n,n)

unpacked decimal(m,n) Separate	numeric(m+n,n)

BLOB columns

The storage location for BLOB columns may not be specified in Oracle. Therefore, specifying an area for a BLOB column in START has no effect. Oracle 7.0-7.3 only supports one BLOB column for each table. This is the reason why Unique CONCEPT supports the simulation of BLOBs for Oracle which is usually only necessary for simple file-oriented databases like Informix C-ISAM/SE. proNet START automatically creates the necessary data structures when necessary.

If the type Generic has been set for a BLOB column, a true BLOB column will be created. By default Generic is set to off, in this case a simulated BLOB column will be created. Please note that simulated BLOBs naturally cannot have the same perfomance as true BLOB columns. Therefore, they are suitable for normal usage, e.g. for text documents, but not for large BLOBs like movie files.

Serial columns

Serial columns are not directly supported by Oracle 7.x, but will be simulated by a number(12,0) column, a sequence and a trigger. A trigger will be created on the table which will retrieve a new number from the sequence and automatically stores the number when inserting a new record. The starting value for the serial columns will be used when defining the sequence. The definition of the sequence and the trigger looks like this:

create sequence <Database>.<Table>$<Column> increment by 1 start with <Startwert>;

create or replace trigger <Database>.<Table>$<Column> before insert on <Database>.<Table> for each row declare nextsequence number(10); begin select <Database>.<Table>$<Column>.nextval into nextsequence from dual;:new.<Column>:=nextsequence; end;

During the import of existing database serial column will be imported as Integer4 columns.

Tables

All storage parameters except for Fill Factor, see also Storage details, for tables will used, the storage parameters in proNet START are the same as the parameters in Oracle.

Keys/Indexes

Unique CONCEPT supports Oracle hints for specifying index name in select statements. Therefore, the index names have to follow a certain syntax in order to make the Runtime engine specify the indexes easily. Index names in Oracle will be created with the syntax tablename$indexname.

Primary keys within proNet START will be created as table constraint primary key.

Unique keys within proNet START will be created as a table constraint unique key.

Unique indexes within proNet START will be created as unique indexes.

Duplicate indexes within proNet START will be created as indexes.

The key/index option clustered is not supported by Oracle and will be ignored.

The maximum number of index members is 16 in Oracle.

The different sorting of single index members is not supported. The sorting can be specified, but it is ignored by Oracle.

All storage parameters for indexes will used, the storage parameters in proNet START are the same as the parameters in Oracle except for Fill Factor which will be translated to the Oracle parameter PCTFREE ( calculated as Fill Factor=100-PCTFREE).

Foreign Keys

Foreign Keys are supported by Oracle. Only the delete rules 'No action' and 'Cascading delete' are supported. Update rules are not supported.

Views

Views are supported by Oracle.

Name length

The maximum length of specifiers in Oracle ist 30 characters.


Reference for Oracle 8.0/8.1

The explanations refer to Oracle 8.0/8.1 and Personal Oracle 8.0 using the native Unique database interface for Oracle.

Database/User

Databases in proNet START are equivalent to users in Oracle 8.0/8.1. The user cannot be created through proNet START during the direct execution of a databases, but  hat to be created using Oracle utilities like svrmgr or sqldba. When creating a script the user will be created, though. All objects in the database will be created as objects which are owner by the user.

Areas

Areas in Oracle are called Tablespaces. The Tablespaces can be created by proNet START if required. The storage location specified for tables and indexes will be regarded. The default area defined in proNet START will be assigned as the default tablespace for the user. This means, that additional database objects of this user will be created in the default area by default without having to specify the area name.

All storage parameters for areas will be used, the storage parameters in have got the same names as the parameters in Oracle.

Logging/Log area

An Oracle database server always runs with logging. The logging is managed for the entire server, therefore proNet START cannot set logging parameters or a log area for a single database. The logging is done with the rollback segments which should be stored in an own tablespace, usually RBS, and with redo log files which are normal files in the file system.

Storage codes

proNet START	Oracle

alphanumeric(n)	varchar2(n)	(maximum 4000 characters)

varchar(n)  	varchar2(n)	(maximum 4000 characters)

binary(n)	raw(n)	(maximum 2000 bytes)

bit	number(1,0)

date	number(8,0)

datetime	date

image	<simulated>

image generic	BLOB

integer1	number(3,0)

integer2	number(5,0)

integer4	number(12,0)

money	money(14,2)

packed decimal(m,n)	numeric(m+n,n)

packed decimal(m,n) unsigned	numeric(m+n,n)

real4	number

real8	number

serial	number(12,0)

text	<simulated>

text generic	CLOB

time	number(6,0)

unpacked decimal(m,n)	numeric(m+n,n)

unpacked decimal(m,n) Separate	numeric(m+n,n)

BLOB columns

Oracle 8.0/8.1 supports among the already existing BLOB storage codes LONG and LONG RAW the new LOB-Datatypes (BLOB,CBLOB,NCBLOB and BFILE). Unique 4GL supports since version 7.00-02 the new LOB-Datatypes BLOB and CLOB and using the uqconfig database parameter db-settings=simulate_blobs also the simulated BLOB columns. Simulated BLOBs and native BLOB column cannot be mixed within one database (See Reference for Oracle 7.x for more details on simulated blobs).

Serial columns

Serial columns are not directly supported by Oracle 8.0, but will be simulated by a number(12,0) column, a sequence and a trigger. A trigger will be created on the table which will retrieve a new number from the sequence and automatically stores the number when inserting a new record. The starting value for the serial columns will be used when defining the sequence. The definition of the sequence and the trigger looks like this:

create sequence <Database>.<Table>$<Column> increment by 1 start with <Startwert>;

create or replace trigger <Database>.<Table>$<Column> before insert on <Database>.<Table> for each row declare nextsequence number(10); begin select <Database>.<Table>$<Column>.nextval into nextsequence from dual;:new.<Column>:=nextsequence; end;

During the import of existing database serial column will be imported as Integer4 columns.

Tables

All storage parameters except for Fill Factor, see also Storage details, for tables will used, the storage parameters in proNet START are the same as the parameters in Oracle.

Keys/Indexes

Unique CONCEPT supports Oracle hints for specifying index name in select statements. Therefore, the index names have to follow a certain syntax in order to make the Runtime engine specify the indexes easily. Index names in Oracle will be created with the syntax tablename$indexname.

Primary keys within proNet START will be created as table constraint primary key.

Unique keys within proNet START will be created as a table constraint unique key.

Unique indexes within proNet START will be created as unique indexes.

Duplicate indexes within proNet START will be created as indexes.

The key/index option clustered is not supported by Oracle and will be ignored.

The maximum number of index members is 32 in Oracle 8.0/8.1, but only 16 index members may be used with Unique CONCEPT. Though, during the Reverse Engineering all 32 index members will be handled.

The different sorting of single index members is not supported. The sorting can be specified, but it is ignored by Oracle.

All storage parameters for indexes will used, the storage parameters in proNet START are the same as the parameters in Oracle except for Fill Factor which will be translated to the Oracle parameter PCTFREE ( calculated as Fill Factor=100-PCTFREE).

Foreign Keys

Foreign Keys are supported by Oracle. Only the delete rules 'No action' and 'Cascading delete' are supported. Update rules are not supported.

Views

Views are supported by Oracle.

Name length

The maximum length of specifiers in Oracle ist 30 characters.


Reference for Sybase SQL Anywhere

The explanations refer to Sybase SQL Anywhere 5.5. Sybase SQL Anywhere can only be accessed through the Unique database interface for ODBC.

Database/User

Databases in Sybase SQL Anywhere are equivalent to the Database definition in proNet START. The database and all objects in the database will be created by the user which has been specified in the uqconfig.

A database file will be assigned to a database in Sybase SQL Anywhere. The default area for table will be used as the database file. If no default area has been specified, the database name with the extension '.db' will be used.

Areas

Areas are called dbspaces in Sybase SQL Anywhere. Dbspaces are ordinary files in the file system. All areas except for the default area for table will be created as dbspaces. In opposite to most other DBMS dbspaces in Sybase SQL Anywhere can only be used by one database, but not by all databases in the databases server.

Logging/Log area

To be able to use logging in a SQL Anywhere datanase, a log file has to be specified during the creation of the database. proNet START uses the file name which has been specified for the log area. If no log area has been defined, the database name together with the extension '.log' will be used.

Storage codes

proNet START	Sybase SQL Anywhere

alphanumeric(n)	char(n)	(maximum 32767 characters) *)

varchar(n)  	varchar(n)	(maximum 32767 characters) *)

binary(n)	binary(n)	(maximum 32767 bytes) *)

bit	tinyint

date	date

datetime	timestamp

image	long binary

image generic	long binary

integer1	tinyint

integer2	smallint

integer4	int

money	decimal(14,2)

packed decimal(m,n)	decimal(m,n)

packed decimal(m,n) unsigned	decimal(m,n)

real4	real

real8	float

serial	int

text	text

text generic	text

time	time

unpacked decimal(m,n)	decimal(m,n)

unpacked decimal(m,n) unsigned	decimal(m,n)

*) The Unique Runtime Engine only supports 10240 characters/bytes.

BLOB columns

Sybase SQL Anywhere does not support specifying the storage location for a BLOB columns.

Serial columns

Serial columns will be created as Int columns with the default value autoincrement, a starting value is not supported by Sybase SQLAnywhere. In Sybase SQLAnywhere, the next inserted value is calculated based on the highest inserted value so far. By manually inserting a record with the requested starting value one can achieve the same result.

Please note that Sybase SQLAnywhere only inserts a value automatically if the serial column is not part of the insert statement.

During the import of existing database serial column will be imported as Integer4 columns.

Tables

Storage parameters for tables, see also Storage details, are not supported by Sybase SQL Anywhere. Specifying an area where a table is to be stored in is not supported, either.

Keys/Indexes

Primary keys within proNet START will be created as table constraint primary key.

Unique keys within proNet START will be created as a table constraint unique key. Please note that primary and unique keys do not have own name in Sybase SQL Anywhere.

Unique indexes within proNet START will be created as unique indexes.

Duplicate indexes within proNet START will be created as indexes.

The key/index option clustered within proNet START is not supported by Sybase SQLAnywhere.

The maximum number of index members is not limited in Sybase SQL Anywhere.

The different sorting of single index members is supported.

Storage parameters for indexes, see also Storage details, are not supported by Sybase SQL Anywhere. Specifying an area where an index is to be stored in is not supported, either.

Foreign Keys

Foreign Keys are supported by Sybase SQL Anywhere. All delete and all update rules are supported.

Views

Views are supported by Sybase SQL Anywhere.

Name length

The maximum length of specifiers in Sybase SQL Anywhere is 128 characters. One can use the maximum of 30 characters definable in proNet START.


Reference for Sybase SQL Server

The explanations refer to Sybase System 10/11 and to the Sybase Adaptive Server 11.5.

Database/User

Databases in the Sybase SQL Server are equivalent to the Database definition in proNet START. The database and all objects in the database will be created by the db-user or db-owner which is specified in the uqconfig.

In the Sybase SQL Server a certain size is assigned to a database. proNet START assign the database size which has been specified in the Project properties. If no database size has been entered in proNet START, the default size set in the configuration of the Sybase SQL Server will be used. Please note that the default value after the installation is 2MB (for an entire database) which is not appriopriate in most cases.

Areas

Areas are database devices in the Sybase SQL Server. A database device cannot be created by a sql statement. To create a database device the sybase utilities, e.g. Sybase Central, have to be used. Though, the Sybase SQL Server allows specifying a database device where the database is to be stored in during the database creation. The default area for tables will be used by proNet START.

Besided the database devices the Sybase SQL Server supports so called Segments. These segments are not supported by proNet START.

Logging/Log area

The Sybase SQL Server knows the assignment of a certain database device which is going to be used for the loggin. If no database device has been specified for storing the log information, this information will be stored in the same database device than the data. If a log area has been entered in proNet START, this log area will be specified as the log database device. If an log area size has been entered, this will be used as the maximal size of the log.

Storage codes

proNet START	Sybase SQL Server

alphanumeric(n)	char(n)	(maximum 255 characters)

varchar(n)  	varchar(n)	(maximum 255 characters)

binary(n)	binary(n)	(maximum 255 bytes)

bit	bit

date	int

datetime	datetime

image	image

image generic	image

integer1	tinyint

integer2	smallint

integer4	int

money	money

packed decimal(m,n)	binary((m+n)/2+1)	(Standard)

packed decimal(m,n) unsigned	binary((m+n)/2+1)

packed decimal(m,n)	decimal(m+n,n)	(db-options=packed_as_numeric in uqconfig)

packed decimal(m,n) unsigned	decimal(m+n,n)

packed decimal(m,n)	money	(db-options=decimal_as_money in uqconfig)

packed decimal(m,n) unsigned	money

real4	real

real8	float

text	text

text generic	text

time	int

unpacked packed decimal(m,n)	binary(m+n)	(Standard)

unpacked packed decimal(m,n) unsigned	binary(m+n+1)

BLOB columns

The Sybase SQL Server does not support specifying an area for the storage location of a BLOB column.

Serial columns

Serial columns will be created as Int columns with the identify property, the starting value is not supported by Sybase SQL Server.

Please note that columns with the Identify property must not be part of a insert statement if no 'set identity_insert <table> on' has been executed before. But, If the Sybase SQL Server option IDENTITY_INSERT has been set to ON, the serial column miust get an explicit value with each insert statement. The automatically by proNet START generated maintenance applications regard this issue.

During the import of existing database serial column will be imported as Integer4 columns.

Tables

Storage parameters for tables, see also Storage details, are not supported by the Sybase SQL Server.

Keys/Indexes

Primary keys within proNet START will be created as table or column constraint primary key.

Unique keys within proNet START will be created as a table or column constraint unique.

Unique indexes within proNet START will be created as unique indexes.

Duplicate indexes within proNet START will be created as indexes.

The key/index option clustered within proNet START will be regarded for both keys and indexes.

The maximum number of index members is 16 in the Sybase SQL Server.

The different sorting of single index members is not supported.

The storage parameter Fill Factor within proNet START will be converted to the storage parameter fillfactor in the Sybase SQL Server. During the database import the 0fillfactor cannot be retrieved from the DBMS.

Names for constraints and therefore for primary and unique keys are unique for an entire database.

Foreign Keys

Foreign keys are supported by the Sybase SQL Server. Only the delete rule 'No action' is supported. Update rules are not supported.

Names for constraints and therefore for Foreign Keys are unique for an entire database.

Views

Views are supported by the Sybase SQL Server.

Name length

The maximum length for specifiers in the Sybase SQL Server is 30 characters.


Reference for Unique ISAM

The explanations refer to Unique ISAM 1.0. Unique ISAM is a single user dbms, which is designed for the prototyping only.

Together with  Informix C-ISAM Unique ISAM is the only database which can only be created through the dbs compiler.

Database/User

A Database in the sense of proNet START is equal to the database definition in Unique ISAM.

Areas

Areas are not available in Unique ISAM. When using Unique ISAM all database files will be stored in one directory. This directory is set by the uqconfig-Parameter db-path. Therefore, for the creation of databases, tables or indexes no areas can be assigned.

Logging/Log area

Logging and dthe usage of transaction is not available in Unique ISAM. The definition of a log area is not supported.

storage codes

All storage codes in proNet START except for serial can be used with Unique ISAM. Serial columns will be created like Integer4 columns. The maximum length of column with the storage codes alphanumeric(n), varchar(n), binary(n) is 1013.

BLOB columns

Unique ISAM does not support specifying an area for the storage location of a BLOB column.

Serial columns

Serial columns will be created like Integer4 columns. Unique ISAM does not have a feature to directly create serial columns or achieve the automatic numbering using a different mechanism.

During the import of existing database serial column will be imported as Integer4 columns.

Tabellen

Storage parameters, see also Storage details, are not supported for tables in Unique ISAM.

Keys/Indexes

Primary Keys within proNet START will be created as a primary index.

Unique indexes within proNet START will be created as unique indexes.

Duplicate indexes within proNet START will be created as indexes.

The key/index option clustered within proNet START is not supported by Unique ISAM.

The maximum number of index members is 8 in Unique ISAM.

The different sorting of single index members is not supported by Unique ISAM.

Die unterschiedliche Sortierung einzelner Indexelemente wird von Unique ISAM nicht unterstützt.

Storage parameters are not supported for indexes in Unique ISAM.

Foreign Keys

Foreign Keys are not supported by Unique ISAM.

Views

Views are not supported by Unique ISAM.

Name length

The maximum length for specifiers is 30 characters in Unique ISAM.

Other settings

No Local Dictionary can be used for Unique ISAM, the dictionary must be stored directly in the database.


Reference for Techra

The explanations refer to Techra 2.32 und 2.33 using the native Unique database interface.

Database/User

A Database in proNet START will be created as a Techra directory. The uqconfig parameter db-directory will be ignored, the database will be created in the root directory. A database in Techra is a combination of database files and server processes and can be regarded as a database server.

Areas

Areas in the terms of Techra as areas, too. The size of an area in Techra has to be specified in blocks while proNet START allows the specification of an area size in bytes. proNet START assumes a block size of 4KB. During the creation of databases or tables Techra allows the specification of areas where the objects should be stored in, but not for indexes.

Logging/Log area

The logging can not be set for a Unique database, i.e. a Techra directory, but for a Techra database. The settings for the logging can only be changed through the Techra configuration.

Storage codes

proNet START	Techra

alphanumeric(n)	char(n)	(maximum 2000 characters)

varchar(n)  	char(n)	(maximum 2000 characters)

binary(n)	byte(n)	(maximum 2000 bytes)

bit	int

date	longint

datetime	byte(8)

image	seq byte

image generic	seq byte

integer1	int

integer2	int

integer4	longint

money	byte(9)

packed decimal(m,n)	byte((m+n)/2+1)	(Standard)

packed decimal(m,n) unsigned	byte((m+n)/2+1)

packed decimal(m,n)	decimal(m+n,n)	(db-options=packed_as_numeric)

packed decimal(m,n) unsigned	decimal(m+n,n)

real4	real

real8	longreal

serial	integer4

text	seq char

text generic	seq char

time	longint

unpacked decimal(m,n)	byte(m+n)

unpacked decimal(m,n) Separate	byte(m+n+1)

BLOB columns

Techra does not support specifying the storage location for a BLOB columns.

Serial columns

Serial columns will be created like Integer4 columns. Techra does not have a feature to directly create serial columns or achieve the automatic numbering using a different mechanism.

During the import of existing database serial column will be imported as Integer4 columns.

Tables

The storage parameter, see also Storage details, Fill Factor within proNet START will be converted to the storage parameter FILL in Techra. Specifying an area as the storage location of a table is supported.

Keys/Indexes

Primary keys within proNet START will be created as a primary key. If no primary key is defined for a table, an unique key will be used instead. If no unique key is defined for table, either, the table cannot be created.

Unique keys within proNet START will be created as unique indexes.

Unique indexes within proNet START will be created as unique indexes.

Duplicate indexes within proNet START will be created as indexes.

The key/index option clustered within proNet START is not supported by Techra.

Clustered indexes within proNet START will be created as a unique index.

The maximum number of index members is 16 in Techra.

The different sorting of single index members is supported for indexes. A primary key cannot contain a sorting. The sorting will be used when creating a database, but it is ignored when importing a database.

The storage parameter, see also Storage details, Fill Factor within proNet START will be converted to th storage parameter FILL in Techra. Specifying an area as the storage location of an index is supported.

Foreign Keys

Foreign Keys are not supported by Techra.

Views

Views are not supported by Techra.

Name length

The maximum length of specifiers in Techra is 30 characters.


Troubleshooting

This small section Troubleshooting is still under construction.

DBS compiler doesn´t exit properly on Windows NT

Project is locked


DBS compiler doesn´t exit properly on Windows NT

You might experience that the DBS compiler (uqstart.exe) does not properly exits after creating or dropping a database, so that proNet START does not get the control back. In this situation you have to change an entry in the Windows NT Registry. You should set the key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WOW\DefaultSeparateVdm

to 'yes' using regedt32.exe.


Project is locked

If you try to open a project but receive the message that the project has been opened exclusively by another user, you may wait until the other user has finished his work our aks him to close the project and to reopen it without activating the check box open exclusively. If you got the impression that no one still works with the project and that the lock has not been removed correctly, you can remove all project locks using the function in the drop down menu START -> Unlock projects.

You find more information in Open project exclusively.


Error messages

IS-10000: Storage code WEEK no longer supported

The storage code WEEK is no longer supported by proNet START. This error can only occur if the automatic conversion of the database projects during an update of proNet START was not correctly executed. The storage code WEEK was converted to DATE.

IS-10001: Unknown Datatype found

A column in the database project refers to a non defined data type. Look for the Field properties of the affected column in this project and change the datatype accordingly.

IS-10002: SQL error. See SQL error number/text for details

A DBMS specific error occured during the database creation. Please see the error number and the error text in the trace file for more details.

IS-10003: Max. number of key member supported by the DBMS: xx, used: xx

An index has got more member column than supported by the DBMS. You find the maximum number of index members for each DBMS in the DBMS Reference.

IS-10004:No primary key found for this table

Only valid for Techra: A table must always be created with a primary key. But, no primary key or unique key which could be used instead were for in this table.

IS-10005: Max. storage length supported by the DBMS: xx, used: xx

The columns storage length is higher than supported by the DBMS. You find the maximum possible length for each DBMS in the DBMS Reference.


Database

A database is a collection of Tables which have all a related contents.

In the different SQL DBMS Unique databases are sometimes implemented as a schema or user while a database contains all contents (e.g. Unique databases, internal structures).


Table

Tables are the basic structures to store similar kind of data in a database.

The data in a table are divided into records (rows) and Columns unterteilt.


Column

A column or field is part of a Table.


Key/Index

Keys enable a integrity check for data. Primary and unique keys make sure that no records can be inserted in to the table where the key columns have the same value. There can only be one primary key for a table, but there might be several unique keys. The keys will be created a table constraints in the database, very often the DBMS automatically creates an index which contains the same columns.

An index allows a fast access to records of a table. An index contains of one or more columns. There can be several indexes defined on one table. Besides the faster access indexes may also check the integrity of data. Unique indexes have the same functionality as unique keys.

The main difference between keys and indexes is that keys represent the logical data model. Keys are also necessary to define foreign keys which refer to the table.

Indexes instead support in several DBMS the feature to define a different sorting order for single index columns. Usually, the indexes provide more features to influence the storage location of the index and the Storage details.


Group key/index

A group key/index is a key respectively index which consists of several Key/index members.


Key/index member

A key/index member is a part of a group key or index. Dependent on the DBMS a different number of key/index members can be defined. Portable acrocs all DBMS supported by Unique are eight key/index members.


Area

An area ist a location within a DBMS which is dedicated for the storage of data. An area can be implemented as an operating system file or a raw device. Informix calls areas dbspaces, Oracle tablespaces, Microsoft and Sybase database devices.


Foreign key

A foreign key defines a relationship between a row in a so called child table and a row in a parent table. The foreign key itself is defined on the child table. The parent table may be another or the same table. In this relationship the values of certain columns of a row in the child table have to match the values of referenced columns of a row in the parent table. These certain rows make up the foreign key. The referenced columns have to be part of a primary or unique key in the parent table.

Foreign keys may have delete and update rules defined which define automatic actions if a row in the parent table is deleted or columns

in the referenced primary or unique key are being updated. START supports all actions defined in ANSI SQL 3, i.e. No action to be done, cascading delete of all rows in the child table referencing to the row in the parent table, assigning the default values to the columns in the rows of the child table or setting the columns to null in the rows of the child table. One of these four actions can be defined for each update and delete rule.

Please note that most DBMS only support very limited delete and update rules. See the DBMS Reference for more details.


Maintenance application

A maintenance application ist first of all a normal Unique 4GL application. Using a maintenance application you can load and unload data from a specific table, truncate the table and insert, modify and delete records online. You can also edit the related Dmp file up to a certain size.

The file name of a maintenance application is the name of the table which is usually .imp.


View

Views are used in SQL databases to define a certain sight at one or more tables. A view can simply be a selection of columns of a table oder may contain a complex SQL query with joins and other expressions. Informix C-ISAM, Unique ISAM and SIBAS do not support views.


Zoom application

Zoom applications are small search programs for a table which are opened usually with the command <ZOOM> (Strg+S in Windows) to make the input in a field easier.

Zoom application can be automatically created by proNet START.


DBS file

A DBS file contains the complete description of a database project. This file can be created by proNet START and is used by the DBS compiler to create the physical database. The DBS file has got the name of database and the extension .dbs. Please note that the generation and the import of DBS files in proNet START is only supported for backward compatibility. proNet START does not need the usage of DBS files.

The syntax for the DBS file is described in the manual Unique START DBS compiler shipped with Unique CONCEPT 4.0x.


Dmp file

A Dmp file contains the unloaded data of a specific table. The file name is usually the name of the table, the extension is usually .dmp.


Default values

When inserting a new record into the database it may happen that not all  column of this table is a specific value assigned to. In this case for columns which didn´t get a value in the application a default value is used by the DBMS. These default values can be predefined during the creation of the table. Otherwise, the default value is assigned by the DBMS. Usually, the DBMS assigns the value NULL or assigns dependent on the storage code the value e.g. 0 or an empty string.

When using Unique you should avoid the usage of NULL values.


Purpose text

For various objects you can define Purpose texts. Purpose texts are free defined texts which are stored in wide columns. Purpose texts are designed for the user documentation.

The purpose texts for columns can be retrieved by the user at runtime by pressing the key HELPFIELD (usually F1).


Comment text

For various objects you can define Comment texts. Comment texts are free defined texts which are stored in wide columns. Comment texts are designed for the internal documentation of a project.


Heading

For various objects you can define headings which contain a more detailed description of an object. The headings for tables and columns is used on other Unique Tools like QUICK or XTRA.


NULL

NULL is an own value of a column in a database. This value means that no explicit value was assigned to a column. Import is to differentiate between NULL and the value 0 for numeric column and an empty string for alphanumeric columns. Both, 0 and an empty string are explicit values in a database and not equal to NULL.

During the creation of a database for the usage with Unique CONCEPT NULL values should not be allowed. (uqconfig Parameter db-nullvalues in the database section is set to OFF by default.) Exceptions are database which already contain NULL values, databases which have to be used with other applications or databases which will be accessed through the ODBC interface.

Additional information

Unique Operations Guide -> uqconfig file -> parameters for the database section

Unique 4GL Reference Manual -> Funktion null-assign und Operator ISNULL


Temporary Table

Unique CONCEPT includes support for a special database type 'TEMP', in which temporary tables are defined. From the 4GL programmers' point of view, a temporary table allows the same 4GL operations as any table within a single-user DBMS without transaction control. The major difference between temporary tables and (normal) database tables is found in the life cycle of the data in the table. A temporary table is either configured to hold its data throughout a complete Unique CONCEPT session (a 'persistent' table) or it can be set up to follow the life cycle of an application ('non-persistent'). The implementation of a temporary table is a file found on the scratch path.

Temporary tables are useful if you want to operate locally on a data-set that may be fetched from a database. Operating on such a set locally will result in a much better response time thus limiting database access and network traffic.

Additional information

Unique Operations Guide -> Databases interfaces -> Temporary database interface

Unique 4GL Reference Manual -> Componentes and Definitions -> Definitions -> temporary tables


Local Dictionary

Starting with Unique CONCEPT 6.00 local dictionaries are being supported. In opposite to the Unique Dictionary in previous versions which was stored in the database as an own table (most often uqdic001) a local dictionary will be stored as a file. The storage location is defined with the database parameter db-dictionary in the uqconfig.

The advantage of local dictionaries is that less database accesses are necessary and that a local dictionary can be replaced more simple. Additional, now databases which will be accesssed through the ODBC interface can benefit from a Unique dictionary.

A special case of a local dictionary is a local dictionary for Temporary Tables. Though normal database tables can be handled more easily with a Unique dictionary, but do not need one, a temporäre database requires a local dictionary because all struture information is only stored within the local dictionary. In this case the storage location for the local dicitonary is stored within the Unique system database.

Additional information

Unique Operations Guide -> uqconfig -> Database section -> db-dictionary

Unique Operations Guide -> Databases interfaces -> Temporary database interface


Alphanumeric

Columns that are to hold short texts containing printable characters such as A:Z, a:z, 0:9, space and punctuation marks should be defined as alphanumeric. The maximum length for an alphanumeric column is not defined. However if lengths greater than 255 are used it will not be portable to all types of database. The storage requirement in the database table for a columns of type alphanumeric(n) is n bytes.


Varchar

Columns which are to store variable length short texts containing printable characters such as A:Z,a:z, 0:9, space and punctuation marks should be defined as varchar. The maximum length for an varchar column is not defined. However if lengths greater than 255 are used it will not be portable to all types of database. The storage requirement in the database table for a column of type alphanumeric(n) is up to n+1 bytes. An extra byte is allocated for zero termination.

When using databases which do not support the storage code varchar the storage code alphanumeric is used instead. Please note that the types Alphanumeric and Varchar cannot be used at the same time.


Binary

Columns that are to hold reasonably small amounts of data should be defined as binary. Binary columns may hold alphanumeric data but they are not limited to printable characters. This means that they may contains characters with ASCII codes in the range 0:255. The maximum length for a binary column is not defined. However if lengths greater than 255 are used it will not be portable to all types of databases. The storage requirement in the database table for a column of type binary(n) is n bytes.


Bit

Columns that are to be used as flags with only two possible values should be defined as bit. Bit columns may only have a value 0 or 1. NULL values are not allowed. If NULL is specified in the type or column definition with this primitive attribute an error message will be given. NULL values are not allowed. The storage requirement for column of type bit is dependent upon the type of database. If the DBMS supports bit columns and several are specified they may be packed into the same byte(s). If the database does not support bit columns they will be simulated and stored as Integer2 columns occupying 2 bytes.


Integer1

Columns which are to hold small numeric values should be defined as integer1. The values which can be stored in an integer1 column are database dependent. Unique supports values in the range 0:127. Some databases will support values in the range 0:255 while others will support values in the range -128:127. The storage requirement for an integer1 column is database dependent. With those databases which support integer1 the storage requirement is 1 byte. For those which have integer1 simulated the storage is 2 bytes since they are implemented asInteger2 columns.


Integer2

Columns which are to hold numeric values in the range -32,768:32,767 should be defined as integer2. The storage requirement for integer2 columns is 2 bytes.


Integer4

Columns which are to hold large numeric values in the range -2,147,483,648:2,147,483,647 should be defined as integer4. The storage requirement for integer4 columns is 4 bytes.


Serial

Columns which are to be used to obtain a unique identifying number when stored should be defined as serial. The identifiying number is filled in by the DBMS. The storage requirement for a serial column is 4 bytes. With DBMS which do not support serial columns and have no way of simulating serial columns, a normal Integer4 is used instead and no unique number is generated.

A starting value may be assigned to serial column which will be used for the first number. If no starting value is assigned, the first used number is with 1.

Serial columns will be represented as Integer4 column in the other interactive tools within Unique CONCEPT. In Unique 4GL application serial column will also handled like Integer4-Felder.


Packed decimal

Columns which are to hold data in binary coded decimal (BCD) should be defined as packed decimal. The sum of the number of digits and the number of decimals should not exceed 18. The storage requirements of a packed decimal column can be calculated from the following equatation:

 s = ( m + n ) / 2 + 1 ,

 where s is the storage requirement in bytes,

      m ist the number of digits and

      n the number of decimals.

Packed decimals can be defined as unsigned to store just positive values.


Unpacked decimal

Columns which are to hold data in ASCII coded decimal (ACD) should be defined as unpacked decimal. The sum of the number of digits and the number of decimals should not exceed 18. The storage requirements of an unpacked decimal column can be calculated from the following equatation:

 s =  m + n ,

 where s is the storage requirement in bytes,

    m is the number of digits and

    n is the number of decimals.

Unpacked decimals can be defined as separate to store digits and decimals separately. In this case an additional byte is required.


Money

Columns which are to hold data pertaining to an amont of money should be defined as money. Money columns have a storage which is dependent upon the type of database. They are guaranteed an accuracy equivalent to a Packed decimal(14,2) but may have greater values and greater precision. In SYBASE money columns are equivalent to packed decimal(15,4).


Real4

Columns that are to hold large decimal values and cannot be defined as Packed decimal should be defined as real4. Real4 columns can hold data in the range -9,999.999E+76 : -9,999.999E+76. The accuracy of a real4 column is 7 significant figures. The storage requirement of a real4 is 4 bytes. As usually real columns cannot store absolutely precisive values. Therefore you should not use real columns as key. To avoid this problem you should whenever possible use packed decimal columns instead.


Real8

Columns that are to hold large decimal values with great precision and cannot be defined as Packed decimal should be defined as real4. Real8 columns can hold data in the range -9,999.999.999.999.999E+76 : -9,999.999.999.999.999E+76. The accuracy of a real8 column is 16 significant figures. The storage requirement of a real8 is 8 bytes. As usually real columns cannot store absolutely precisive values. Therefore you should not use real columns as key. To avoid this problem you should whenever possible use packed decimal columns instead.


Text

Columns which are to hold huge amounts of variable length, alphanumeric data should be defined as text. Text columns are a type of wide column. Text columns may contains descriptions and documentations in simple alphanumeric text. If the contenst of the column are to contain text in a special format such as RTF or WordPerfect then the storage type Image should be used instead. The normal storage limit for a text column is 2 gigabytes but some DBMS may not support more than 64K. The limit for database systems which support the simulated wide columns is 2 gigabytes. The storage requirement in the data table is database dependent and varies form 4 to 18 bytes.


Image

Columns which are to hold huge amounts of variable length, binary data should be defined as image. Image columns are a type of wide column. Image columns may encoded pictures, voice patterns, complex text format like WordPerfect files or simple alphanumeric text. The normal storage limit for a text column is 2 gigabytes but some DBMS may not support more than 64K. The limit for database systems which support the simulated wide columns is 2 gigabytes. The storage requirement in the data table is database dependent and varies form 4 to 18 bytes.


Date

Columns that are to contain a date should be defined as date. Date columns contains the day, month and year. Date columns differ from DateTime columns which contains both the date and the time. The way in which date columns are stored is different for each type of database but all will be interpreted in Unique 4GL in the same way.


Time

Columns which are to hold a time values should be defined as time. The storage requirement for a time column is dependent upon the type of database. Unique 4GL guarantees that time columns contain the second, month and year. Some database systems may offer more components but there are not available to Unique 4GL.


DateTime

Columns that are to contains data and time information should be defined as datetime. Datetime columns vary with the type of database. Unique 4GL supports datetime with values for the second, minute, hour, day, month and year. Components smaller than one second are not supported. The storage requirements for datetime columns varies with the type of database.


Week

Columns which are to store date values formatted to specify the day, week and year should be defined as week. The storage requirement of week columns is database dependent. For those databases which do not support week columns an Integer4 is used instead and the storage requirement is 4 bytes.


Storage details

For various objects in the DBMS the storage usage can be predefined. Among these objects are the database itself, Areas,  normal data table and indexes. The storage specification is handled differently by the DBMS. Some databases like Informix C-ISAM and Unique ISAM do not support this mechanism at all and therefore storage settings are then ignored. Please refer to the DBMS Reference for legal parameters. If these parameters are not set, the default settings of the DBMS are used.

Please note that these definitions affect all dependent objects which have no own storage definitions, e.g. tables and indexes in an area.

Initial size (initial)

The default number of bytes to be allocated to the first extent of the object in the database (available for areas, tables and indexes).

Next size (next)

The default number of bytes to be allocated to the second and subsequent extents of the object in the database (available for areas, tables and indexes).

Pct. Increase (percentage increase)

Specifies the percentage all extents beginning with the third are increased relatively to the size of the current extent. The number has to be positive (available for areas, tables and indexes).

Min. extents (minimum)

Specifies the minimum number of extents which will be allocated for the object (available for areas, tables and indexes).

Max. extents (maximum)

Specifies the maximum number of extents which will be allocated for the object (available for areas, tables and indexes). For an unlimited number of extents specify the value -1.

Fill factor (fill factor)

The amount of space to be used in one particalur extent allocated to an index before the next extent is used is expressed as a percentage in the fill factor (available for tables and indexes).

Extent is the allocation unit for database object. The possible values depend on the DBMS, the hardware platform and the DBMS configuration.

You can specify the suffixes K, M and G for Kilobytes, Megabytes and Gigabytes for values where an absolute number in bytes is used. The values will be automatically calculated and converted to the units and the syntax expected by the different DBMS. If you have specified a database size of e.g. 1G, proNet START automatically converts the size for the Microsoft SQL Server into Megabytes and removes the character. A database size of 1024 will be assigned for the database in the Microsoft SQL Server: create database MYDB on MYAREA=1024.


Access rights

For various object in the DBMS access rights for a general user (often user PUBLIC) can be defined. Among the objects are the database itself, Areas and tables.

The access rights are Query, Update, Insert and Delete with their common meaning.


First record

Using this button you jump to the first record..


Last record

Using this button you jump to the last record.


Next record

Using this button you jump to the next record.


Previous record

Using this button you jump to the previous record.


Delete record

Using this button you can delete the current record. In proNet START this can be a table, a column or any other object.


Call Help

Using this button you start the context sensitive online help.


Popup menu

Using a Popup menu you can reach function which are only available for certain object classes. Click on the right mouse button if the mouse pointer is positioned on an objetc. The Popup menu opens. Now, select the requested function by clicking on the menu entry using the left mouse button.

Popup menus exist for tables, columns, keys and areas.