This function is used to create and modify the tables in the database, by describing their characteristics in the data dictionary for the folder. The confirmation of this description is then used to create the table in the database or to modify the characteristics.

The management of the tables is used to define the list of the tables in the database. In fact, activity codes are used to inhibit certain tables and/or certain indexes.

In addition to the structure of the table itself, the following are also defined in this dictionary :

  • the links to other tables (referential integrity links). These links are used by the cancellation utilities, by the import-export functionality and by other tools of this type.
  • the information proposed by default in the screens created from these tables (help key-words, format information ...).

A table is identified by its name (uppercase alphanumeric starting with a letter), and it possesses an abbreviation. The creation of new tables during the localization/customization phase assumes that the name starts with one of the letters X,Y or Z. The name and abbreviation must be unique within the database (No two tables can exist with the same name, which is logical and the same goes for the abbreviation : this last restriction is not valid for the screens).

A table can then be managed with the help of an object, on the condition that the necessary screens are created.

Prerequisite

SEEREFERTTO Refer to documentation Implementation

Screen management

The table definition is made with the help of three tabs : a general tab, a field definition tab and the index definition tab.

Header

Presentation

Close

 

Fields

The following fields are present on this tab :

The table code must be composed of 1 to 10 characters (letters or numbers but must start with a letter). It is the unique identifier for all the table abbreviations of the data dictionary. The Adonix reserved words are prohibited.

  • Abbreviation (field ABRFIC)

The abbreviation for a table must be composed of 1 to 3 characters (letters or numbers but it must start with a letter). It is the unique identifier for all the table abbreviations of the data dictionary. The Adonix reserved words are prohibited.

  • Title (field ZINTITFIC)

Destined notably to figure in the reports and the screens in which the record code can be entered or selected. This text is used to give a clear description to the record concerned.

Close

 

Tab General

Presentation

Located in this tab is the general information relative to the table and its management.

Close

 

Fields

The following fields are present on this tab :

Characteristics

The Activity Code and the Module that are used to identify if the table described in the dictionary must be created in the database of the folder. It is if the two conditions set out below are achieved simultaneously :

 the activity code field is empty or that the activity code (defined in the corresponding table) is actually activated.

 the module to which the table is attached has been declared active for the folder.

A table with an assigned activity code starting with X, Y, or Z, is considered to be specific/custom and in no case affected by a version change (these activity codes can be placed at the line level).

In addition, there is a dependence between the modules :

  • Supervisor and Common data : must be installed as a minimum. Following this the Stock, Development and General accounting modules can be installed.
  • Stock : the following modules can be installed Sales, Purchasing, Production.
  • Sales :following from this the modules CRM, Commercial actions cam be installed.
  • General accounting: there is then the possibility to install the modules fixed assets, AR/AP.
  • Module (field MODULE)

 

Table management

  • Database type (field TYPDBA)

Base type for which the table must be generated. The "Folder" base type is used to indicate to the program for the management of folders to generate the table in the base type entered in the folder record for all the files of the folder. In certain exceptional cases (in particular if it is an external table) there is the possibility to add another parameter.

  • Compatible with previous version (field FLG130)

This check box is to be set if there is a requirement to access a table for a v140 folder from a v130 folder. In this case, the structure of this table must be respect the limits for version 130 (no clob, nor blob...). Note : the inverse is possible without specify in the dictionary (access to a table 130 from a v140 folder).

  • Number of records (field NBENREG)

The number of records field is used to define the size of the table in the database. This field is used to size the table being created or modified. This value is entered on the creation of the folder for each table created, from the result of the evaluation of the sizing formula. This formula itself uses variables where the values are entered in the folder parameters.

During the revalidation of a folder, the number of records is re-evaluated, but the result of the calculation is only re-written in this field if it is greater than the value found in the table ; thus, it is possible to modify this value, increase the size of the table and this value will be recovered in the case of folder revalidation. If however, it is decreased in size, it will be taken into account immediately if the table is manually validated with the help of the corresponding button, but once a revalidation of the folder is carried out, the calculated value that is greatest, will be used in place of the entered value. This behaviour has been defined for security reasons : for performance reasons and ease of use, it is in fact better to over size a table rather than under size it. It is not necessary to protect the modification of this field with an activity code.

  • Generate translated text (field GENTRA)

This check box is used to define the method used, in Crystal Report, for the translated texts in this table.

  • checked : method coming from version 140, generation of the texts in the sequential files textrafra, textraeng, etc used in the Crystal report by the function X3TranslatedText.
  • not checked : method created in V5, no file generation. The Crystal report acting on this table uses a view.

It is a parameterization field that does not require an activity code to protect it. Needs to be in coherence with the technique used in the Crystal report linked to the table. For new texts to be translated, it is advised to check this box, to use the view method and thus not overload the sequential files.   

  • Reset to zero (field ZERO)

This check box is used by the return to zero utility for the movements, which is used to re-zero the movements in a folder (which is used to guard the "fixed" data - products, business partners, accounts, BOMs.... -arising from an entry deleting the movements, documents, invoices, stock movements, WO... - linked by example to a test of a real startup). When this box is checked, the re-zero utility erases all the lines in the table. One of these flags is found in each field (when a field must be reset to zero without the table being emptied).

  • Open access (field SECURE)

This check box is used to restrict the access to the data table within the folder owning the table and certain authorized folders. This notion is identical for the view. A modification of this field requires a revalidation of the table, to be taken into account in the database.

  • non secured : all the folders for the solution can access the table to read or write the data in this table. This is the case, for system tables, for dictionary tables and certain supervisor tables.
  • secured : access to this table will be made as a function of the rights to the call folder. A folder can be non authorized, authorized for reading, authorized for read/write. It is the case for functional tables and the majority of supervisor tables.

The authorized folders are :

  • the folder in which the table is defined (the system tables being in the reference folder for the solution : in the case of Sage X3, this folder is called X3).
  • the parent folders of the folder
  • an authorized folder (via the Folder management function, Links tab, Folders for the solution section).
  • the folders for the other solutions having an access by links (via the same function).

It should be noted that this check box is not updated by patch : the security strategy for the table being considered as parameterization. On the validation of the table, the fact that this check box is checked provokes the creation of a configuration file (extension .cfg) with the following code :

$SECURITY
{  "LEVEL0" }
End

If other manual directives exist in the configuration file, they are of course respected. The directives can be in effect added by update of the Configuration file section in the corresponding tab of the table management).

Folder management

  • Table type (field TYPFIC)

This field is used to class the tables according to a typology used by the folder management. It can take the following values:

 Application : this corresponds to the default case (standard tables for a folder). These tables are present or not according to the activity code and module management.

 Supervisor  : the table then becomes part of the supervisor data managed in each folder outside of the dictionary (users, operation logs, attachments...). It is always present.

 X3 System : the table is part of the general data not attached to a given folder (tables linked to the folder management, to the batch server...). These tables are only present in the supervisor folder, this folder can take various names according to the installed product: for example X3, PAYE, GX. They are therefore common to all the folders. They are therefore not concerned by the types and copy options because they are never copied.

 Dictionary : the table, which is always present, forms part of the dictionary in each folder (reports, actions, screens, data types...). The folder management takes into account in a specific fashion the tables in the dictionary during update management (dictionaryfusion procedure). Again, the Copy typeand Copy option fields are not involved with this type of table.

 Internal : no table of this type is shipped and this type is only used in the software development process and must not be used.

  • Copy type (field CRE)

It determines if the creation of the table implies a transfer of the data between the reference folder and the folder to be created during the creation of the folder. This parameter can take the following values :

 No copythe table is created clear of all data.

 Automatic copy  : the data in the table are recovered from the data existing in the source folder (the reference folder by default).

 Conditional copy : the table data is copied by logical groups. A group is created by a choice from local menu number 26, entered in the field Copy option. A list of tables is attached to each group. Amongst the groups, the Users and profiles, Miscellaneous tables, Sequence numbers, Parameters, General chart of accounts are found… On the creation of the table, Yes or No is selected.

  • Copy option (field OPT)

The copy option is attached to the copy type in the case of a conditional copy. A distinction is then made for several sub-groups of tables where the data, forming a coherent entity, can be copied from the reference folder during the initialization of the generated folder if the user requires it.

  • Copy legislation (field FLGLEG)
  • Delivery type (field TYPDLV)

Internal usage for the industrialization of a version. This parameter can take the following values :

  • Not shipped : in the case of tables in the internal X3 module.
  • No data : Shipment of the table without data.
  • Industry data : Shipment of the table with the data for the industrial folder (parameterization : styles , import templates, etc.)
  • Common data : Shipment of the table from reference folder X3REFFRA
  • Data by country : Shipment of the table from the X3REFxxx folder ( xxx : language chosen on the installation at the customer)

Specific columns

  • Title (field INTIT)

These fields are used to enter the name of the two fields in the table. They are used to identify the fields that have a title present in the table. This information is used to give an automatic display of the title of a record where the key is known (screen management, cancellations, code changes...)

  • Short title (field INTITC)

 

  • Symbol (field SYMBOL)

 

  • Format (field COLFMT)

 

  • Length (field COLLNG)

 

  • Decimals (field COLDEC)

 

Close

 

Tab Fields

Presentation

This tab is used to define all the fields in the table in a scrolling grid.

In each table, it is possible to use fields whose name is standardized and which will automatically be updated if they exist by object management. The fields are the following :

 CREDAT and UPDDAT are respectively the creation and last update dates.

 CRETIM and UPDTIM are respectively the creation and last update times.

 CREUSR and UPDUSR are the user codes who carried out respectively the record creation and its last update.

 EXPNUM is a sequential number used to date the records with respect to the import/export module (that makes it possible to only export that which has been updated since the last export).

A sixth field can also be inserted in each table. This field is called ENAFLG and it corresponds to an active/inactive flag. If the table in question is managed by an object and that a data type is associated with this fields, the following controls will be made of the fields of this type :

 the standard selection window for the object called by the selection key will automatically filter inactive records.

 an error message will prevent the direct entry by its inactive key code.

This is of course not valid for the management of the object itself (if not, it would not be possible to reactivate the records rendered temporarily inactive).

Close

 

Fields

The following fields are present on this tab :

Table

  • No. (field NUMLI)

 

  • Column (field CODZONE)

In this column the field name for the table is defined as it will be expressed in the software (a field with the name NOMCHAMP defined in an ABV abbreviation table can be accessed using the syntax [F:ABV]NOMCHAMP ).

For custom/specific fields, the field name must start with X_, Y_ or Z_.

In the database, each zone corresponds to one or more fields (according to whether or not the zone is sized : the corresponding fields are called NOMCHAMP_0, NOMCHAMP_1, NOMCHAMP_2…)

To enter and display the corresponding field on a screen, it is given the same name in the screen dictionary and the screen and the table will be used simultaneously in object management.

The field type is defined here, which characterize the entry format (numeric, any characters, date...) and the coherence controls (reference to a table for example).

The principal generic types that exist :

A : Alphanumeric
C : Short integer
L : Long integer
DCB : Decimal
D : Date
M : Local menu
MM : Local menu with filter
ACB : clob
ABB : blob

But many other predefined types exist. They often make reference to an annex table (currency, country...). A dedicated dictionary is used to described them and they can be selected using the key that is used to obtain the list.

  • Menu (field NOLIB)

Defines the local menu number associated with the field defined on the line.

When a field is of the type local menu (from 1 to 255) corresponding to the rank of a title in a table named local menu, stored in the messages table APLSTD.

On entry or on display, the following are displayed according to the choices made in the user interface :

  • either a title can be chosen in a scrolling list commonly called a combo box
  • or a list of buttons.

The interest of this type of entry is that the list of choices is displayed in the user connection language.

Each local menu number characterises the list of available titles. For example, the local menu 1 corresponds to the choice No / Yes in this order. In this particular case, the user interface can also be a check box.

  • Length (field LONG)

Used to define the length of a field when this field uses a generic data type where the length is not fixed. This is notably the case for the types A and DCB.

An activity code is used to:

  • make optional an element in the dictionary if the value associated with the activity code is null.
  • identify the specific/custom elements if they are marked with a code starting with X, Y or Z.
  • size a maximum number of lines when the activity code marks elements from a grid.

In this way, if the activity code is disabled, the marked element will not be useable, and the associated code (if any) will neither be generated nor can be activated.

  • Dim. (field DIME)

Dimension of the field in the table. The dimension can also be assigned as a function of the activity code.

  • Normal title (field INTITCOURT)

Title for the field over three lengths : short title being limited to 12 characters, normal title at 20 characters and the long title at 35 characters.

These titles are translatable texts and they are stored in a dedicated table, ATEXTE. When a new text is entered, after creation of a section, a window appears whose title is Text. There is then a choice between the following three options :

         consider that the entered text is a new text and integrate it in the database by assigning a new number. This number must be greater than 50,000 (because it is a custom/specific text).

         search for a text close to that entered in order to select the same. A selection will then open for this.

         cancel the text entry.

When in modification mode for a text already entered there is also an additional choice of displaying in the window, where the title is presented Text nnn (nnn being its number). Indeed, it is then possible to modify the text whose number is given, to conform with the text that is being entered (this modification is made wherever the corresponding text is used, once the corresponding screens have been revalidated).

In addition, it is possible to call, using the right button on the mouse, the Abbreviation function that is used to select one of the standardised abbreviations defined when a title is too long (the use of abbreviations must be avoided as far as possible to facilitate the readability of the screens).

  • Abbreviated title (field INTITABREG)

Title for the field over three lengths : short title being limited to 12 characters, normal title at 20 characters and the long title at 35 characters.

These titles are translatable texts and they are stored in a dedicated table, ATEXTE. When a new text is entered, after creation of a section, a window appears whose title is Text. There is then a choice between the following three options :

         consider that the entered text is a new text and integrate it in the database by assigning a new number. This number must be greater than 50,000 (because it is a custom/specific text).

         search for a text close to that entered in order to select the same. A selection will then open for this.

         cancel the text entry.

When in modification mode for a text already entered there is also an additional choice of displaying in the window, where the title is presented Text nnn (nnn being its number). Indeed, it is then possible to modify the text whose number is given, to conform with the text that is being entered (this modification is made wherever the corresponding text is used, once the corresponding screens have been revalidated).

In addition, it is possible to call, using the right button on the mouse, the Abbreviation function that is used to select one of the standardised abbreviations defined when a title is too long (the use of abbreviations must be avoided as far as possible to facilitate the readability of the screens).

  • Long title (field INTITLONG)

Title for the field over three lengths : short title being limited to 12 characters, normal title at 20 characters and the long title at 35 characters.

These titles are translatable texts and they are stored in a dedicated table, ATEXTE. When a new text is entered, after creation of a section, a window appears whose title is Text. There is then a choice between the following three options :

         consider that the entered text is a new text and integrate it in the database by assigning a new number. This number must be greater than 50,000 (because it is a custom/specific text).

         search for a text close to that entered in order to select the same. A selection will then open for this.

         cancel the text entry.

When in modification mode for a text already entered there is also an additional choice of displaying in the window, where the title is presented Text nnn (nnn being its number). Indeed, it is then possible to modify the text whose number is given, to conform with the text that is being entered (this modification is made wherever the corresponding text is used, once the corresponding screens have been revalidated).

In addition, it is possible to call, using the right button on the mouse, the Abbreviation function that is used to select one of the standardised abbreviations defined when a title is too long (the use of abbreviations must be avoided as far as possible to facilitate the readability of the screens).

  • Options (field OPTION)

These options are realized by characters that can be concatenated when several options are required. It is possible to choose these options thanks to a selection window. A detailed description for all the possible options is available.

Code for a table linked to that modified by means of the current field. For the data types making reference to an object, this field is assigned automatically.

 

  • Link expression (field EXPLIEN)

This field is only entered if a linked table has been specified. If this field is not assigned, the link is made directly from the field in the current line (which supposes that the primary linked table key is not the only component). In the case where the primary key possesses several components the link expression must be indicated under the form : comp1;comp2;comp;... where comp1,comp2, comp3,... are the components of the key.
Here are a few examples of possible expressions :

 if a field MYFIELD is controlled in one of the miscellaneous tables (for example the table number 43), the value 43 ;MYFIELD will be placed in the column Table linked to the value ATABDIV and in the Link expression column

 if a field MYFIELD is indexed, the expression can use the index variable that can vary between 0 to dim(MYFIELD)-1. Classic examples : the multiple statistics groups (products, suppliers, customers...) whose key structure is the group number followed by a statistics code. The key expression is then written in the form index+1 ;MYFIELD (index).

  • If the key component is a global variable, it is necessary to specify the [V] class before the name of this variable.
  • Copy legislation (field CHPLEG)
  • Cancellation (field ANNUL)

During the cancellation of a line in the linked table (source table), a particular action can be carried out on the table that is currently being modified or created (destination table). This action is defined by the code below :

  • Blocking : Cancellation of the record in the source table is impossible if a linked exists with the table currently being defined.
  • Deletion : Deletion of the records in the table currently verifying the link with the source table.
  • RAZ: Re-zeroing of the field in the table currently verifying the link with the source table.
  • Other : No particular process is carried out.
  • Verification (field VERIF)

This field is used to indicate if the coherence verification utility must verify the link.

  • Mandatory (field OBLIG)

The field Mandatory is used to define if the field can be empty or if it is mandatory that it contains a value (not empty). An empty field may be a string with an empty length, a null numeric value, a local menu value equal to zero (no choice carried out) or an empty date [0/0/0].

When the field is a key in a table, if the cancellation control is set to the RTZ value, the link cannot be mandatory (because the cancellation can erase the value of the key field) : the Mandatory field is then automatically set to No.

  • RTZ (field ZERO)

This field makes it possible to zero the field in the utility"Folder - return to zero".

Close

 

Tab Index

Presentation

This tab is used to define the different indexes defined in the table.

Close

 

Fields

The following fields are present on this tab :

Table Index

  • No. (field NUMLIG)

 

  • Index code (field CODIND)

This field corresponds to the name under which the index is known in the database. A standard is used in all the tables in the application : it consists of naming the keys by using the abbreviation for the table, followed by 0 for the principal key, by 1 for the second key, etc.... For the specific/customization, start this code with one of the following three letters : X,Y or Z.

  • Index descriptor (field DESCRIPT)

This is where the list of fields that make up the index are entered. The fields are separated by a '+' if there are several fields (for example, in the sites table FACILITY there is a key whose definition is LEGCPY+FCY).

A descending sort field is preceded with the sign "-" (warning, it is used in the left list).

The first field that makes up the index is without a sign and is therefore ascending.

  • Duplicates (field HOMONYM)

This column is used to define whether the key can or cannot accept homonyms.

  • Cluster index (field ORDIND)

 

If this field is not assigned, the index will always be present. If this field corresponds to an inactive activity code, the index will not be generated.

It is possible to add a specific/custom key by an activity code starting with X, Y or Z.

Configuration file

  • field FICCFG

A text describing the technical configuration of the table in the database is entered in this section. This text is recorded in a file "name.cfg" in the FIL directory for the application. This file is used by the "valfil" instruction. View the dedicated technical annex for more information.

Close

 

Tab Audit

Presentation

This tab is used to create the parameterization that is then used to log, by means of automatically generated database triggers, the insertions, deletions and modifications carried out on a table, by storing if necessary, the before and after values on particular fields. The modification of the record is logged on the condition that one of the conditions on the fields has been verified.

The "triggers" technique is used to log the operations even if they are carried out by a program other than Adonix.

The information in this tab is considered as being parameterization. The standard is not shipped with any audit parameterization. This tab is therefore reserved for customization. No protection is required by activity code X, Y or Z.

The information in this tab is taken into account by the re-validation of the table.

The audit is globally set by the activity code AUDIT.

This log is stored in two dedicated tables (AUDITH and AUDITL). It can simply be viewed or give rise to automated notifications by means of the Workflow.

Cannot be audited :

  • the audit tables themselves
  • the fields of the types clob and blob
  • the fields whose data type is AXX

The SUBTRIGGER process contains the description of the triggers as a function of the database. The SPETRIGGER process is reserved for customization in order to personalize their description (if required).

The results of the audit can be viewed by its inquiries :

Close

 

Fields

The following fields are present on this tab :

Type of audit

  • Creation (field AUDCRE)

These three check boxes are used to define the operations to be logged for the records in the table :

  • Creation
  • Modification
  • Deletion

Note :
Warning for the "grid" and "combined" objects that do not carry an update of the record but operate by deletion and creation of the record.

  • Modification (field AUDUPD)

 

  • Deletion (field AUDDEL)

 

Functions

  • Workflow (field AUDWRK)

makes it possible to have an automated notification by Workflow.

A Workflow batch task triggers a Workflow event for each line of the AUDITH table where the Workflow status is "to be processed", then update the status to "processed".

  • Audit bl (field AUDBI)

It is used for the incremental synchonization of the BI facts table. It is only active if the activity code ABI is active.

Update by the generation of the dataware as a function of the update type planned for the facts table. In the BI synchronization rules, if a facts table is updated by incremental synchronization from a X3DIAM table, this table is flagged "AUDIT BI".

Tracking key

  • Key (field AUDCLE)

One of the keys for the table is specified here. It is preferable that it is without homonym, to facilitate the identification of the record in the read of the audit.

If this field is not entered, the primary key is used.

Table Fields audited

  • Field (field FLD)

List of fields to be audited. Do not enter this grid, if a log of only the operations carried out on a record is required, without a log of the contents of the fields.

There will be a log for a modified record, if at least one of the conditions on the fields is verified by the new values of the field ; whilst on the creation or deletion of the record, there will systematically be a log.

  • Title (field FLDDES)

 

  • Operator (field FLDOPE)

 

  • Value (field FLDVAL)

 

Close

 

Functions accessed by right click on the grid

All the fields

In the Audit tab, it is used to load the grid with all fields in the tables.

 

Fermer

 

Limits to be respected

The existing limits when a table is created. The limits are the following :

concerning the key :
  • limited to 256 characters.
  • limited to 16 fields
concerning the record :
  • Under SQL, the limit is 8060 bytes
    Under Oracle, there is no limit; but under Adonix, the limit has been fixed to 32K
  • limit of 255 fields per table
  • limit of 512 columns ( field1*dimension1 + field2*dimension2 + ... + fieldN*dimensionN ) 
  • limited to either a blob or clob type field of any size, or to several fields, but in this case the total size of the table is limited to 64 Kb. 
number of open tables :
  • limit of 255 tables.

Reports

By default, the following reports are associated to the function :

 DICOX3 : Table dictionary

 ATABLIST : List of tables

This can be changed by a different setup.

Specific Buttons

This function is used to create or to update the table in the database from the dictionary. If the table does not exist, it is created empty of data. If it exists, the table structure is updated conforming to the new description given in the dictionary (the new fields are added, the deleted fields are removed, the fields whose structure or dimension has changed are recopied: the records are of course conserved in the table). There is the possibility to force the validation : this is a complete re-validation of the data and indexes. If this option is not specified and if the table structure is not changed, only the indexes will be recreated.

It may also be useful to give default values to the fields in the table for existing records: this is carried out using the button whose functioning is described below.

This is used to create a temporary process, named WWINIXXX, where XXX is the table abbreviation, which will be executed after the table validation (if it already exists), in order to make it possible to give default values to the fields of existing records. A default process is proposed when this button is used and it is then possible to add instructions to it.

This process is made up of 3 labels that are :

 $OUVRE - this is executed at the start before the start of the update transaction, and which must as a minimum open the table that is to be validated (and possibly others).

 $DEFAULT - this is executed after the start of the transaction but before the record read (at least one Default File instruction needs to be inserted so that the default table becomes the table to be updated).

 $INIZON - this is executed for each record, just before they are rewritten. It is therefore in this sub-program that the assignment instructions for the fields in the table can be written.

In this way, for example, if a numeric field MYFIELD is added to the table, a field that should take the value of the OTHFIELD field that exists already in the table, increased by 1, then the following is added in the line processing.

           MYFIELD = OTHFIELD + 1

Warning !
The functioning of this process is different to that carried out by previous ADONIX versions (for example those used by ADONIX ENTERPRISE version 2 and 3). Indeed, the process is executed when the structure modification phase is finished. In this way if the XXX field is renamed by calling YYY, it is necessary to carryout this operation over 2 steps, by firstly saving the two fields in the database and then carrying out the assignment YYY=XXX in the initialisation process. It is then possible to delete the XXX field. If an attempt is made to carry this out in a single stage, the process fails and causes an error (the XX field has become non-existent). It thus possible to lose its value.

________________________________________________________________________________________________________

The following fields are present on the window opened through this button :

Block number 1

  • field OBJET

 

  • field CLES

 

Block number 2

  • From folder (field DOSORG)

This field is used to define the folder from which the record is going be copied. The possible syntaxes are described in the dedicated appendix.

  • All folders (field TOUDOS)

This option is used to copy the record to all the folders defined in the dictionary (ADOSSIER table from the current solution).

  • To folder (field DOSDES)

This field used to define the folder in which the record is going be copied. The possible syntaxes are described in the dedicated appendix.

Close

This button is used to copy the table structure to another folder. Warning, only the table description in the dictionary is recopied : the table is not created in the target folder (it will be necessary to validate this description so that the table can be created). The data in the table is not recopied...

This button is used to delete the data in a table without deleting the table itself. A confirmation is required, this operation being irreversible.

It should be noted that this button deletes not only the record in the dictionary (this is the normal behaviour of this type of button), but also physically deletes the table in the database (this is the equivalent of a "Drop Table").

The two questions are posed successively (because it is possible to only delete the table without deleting the data in the dictionary).

Menu Bar

Options / Information

This function is used to display, in an information box :

  • the number of fields in the table
  • the space taken (in bytes) by a line in the table (when all the alphanumeric fields are filled)
  • the number of lines actually present in the table.

Options / Source

Options / Maintenance

Documentation / Paragraphs

This function is used to access the documentation management on the first paragraph of the documentation (if there is one) associated to the current record.

Documentation / Links

This function is used to access the links management. It is used to define the links between the current and other records (for example the links between functions and setups). These links are specific to the documentation and are used to load the generation of documentation structures.

Documentation / Generation

This menu is used to launch a documentation generation. The generation can also be launched from the [Generation] button at the bottom of the window.

Three types of generation can be launched one by one or simultaneously:

  • the generation of the documentation structure from the dictionary (tables ADOCUMENT, ADOCBLB, ADOCCLB).
  • the generation of the documentation from the previous tables.
  • the generation of the field documentation.

The range suggested by default takes into account the current record but it can be modified upon launch.

Error messages

In addition to the generic error messages, the following messages can appear during the entry :

The table contains no fields

A table has bee created without defining at least one field.

The table does not contain a primary key

As a minimum one index is required in each table.

The field title is not referenced

The title field entered in the first tab does not exist in the list of fields in the second tab.

Abbreviation exists already

Abbreviations in the folder must be unique. This message is displayed if an attempt is made to create a table with an abbreviation used by another table.

warning message, when an attempt is made to enter an abbreviation on a table that exists already for a view. It is effectively recommended that unique abbreviations are used.

Prohibited character

An attempt has been made to use the ‘"’ character in a title (this character is prohibited).

The field title is not referenced

In one of the fields a title has been entered in the general tab for a field that is not defined in the field tab.

Local menu number incorrect

the length is incorrect as a function of the internal type of the field.

  • local menu : length must be <= 30
  • short integer : length must be <= 4
  • long integer: length must be <= 8
  • decimal : integer part + decimal part <= 32
  • alphanumeric : length must be <= 250
  • blob, clob :  length must be <= 20

Incorrect length

The length field has an incorrect value (too large, or empty for example).

Incorrect option

An attempt has been made to enter an option that does not exist in the Option column associated with a field in the table.

Incorrect link expression

The link expression is syntaxically incorrect.

Index already entered

An attempt has been made to define the same index twice in a table.

Non-existent field

A field has been referenced in an index that does not exist in the list of fields.

Dimensioned field

An attempt has been made to use a dimensioned field in an index (this is prohibited).

Number of columns too great

There is a limit of 512 columns taking into account the field sizes.

Too many fields

There is a limit of 255 columns. Here the dimensions do not count.

Line length too great

It is the size of the record.
Under SQL, the limit is 8060 bytes
Under Oracle, there is no limit, but under Adonix the limit is 32 K.

Key too long

The size of an index cannot exceed 256 characters.

Too many components in the key

There is a limit of 16 fields per key.

No translatable text in this table

An attempt has been made to check the "Translatable text generation" box where the principal table managed by the object does not contain a field of the type AXX, AX1, AX2 or AX3.

Warning, this modification requires a modification in the Crystal reports linked to this table

Warning message. The modification of the "Translatable text generation" check box determines the method chosen for the printing of the translated texts in the Crystal report reports using this table. By modifying this box, the user is specifying that they are changing the method and it is imperative to modify the reports associated with this table. It is therefore recommended that this field is not modified.

Other errors likely to appear

During the table revalidation (by the validation tool) other errors are likely to appear. These errors can be viewed in the form of a log file. Amongst the errors likely to appear are the following :

  • Write error (no more disk space)
  • Oracle error / SQL SERVER error (then the actual error title itself)

Tables used

SEEREFERTTO Refer to documentation Implementation