Folders

This function is used to create and update a folder. A folder is a complete reference, identified by a code, in which is found all the setups and management rules and all the data used. A folder is characterized by:

  • a root directory and a group of sub-directories on the application server. The SAFE X3 objects originating from the setups can be found there.
  • an Oracle user (or a user combination, login with SQL server) defined for the database server. All the database tables are attached to it.

The creation of a folder is necessary before starting the setup and/or the entry of data. This operation is relatively long. As much as it is normal to revalidate the folder in the process of setup when the configuration setups are changed, it is best to create the folder(s) directly with the good setups that will be used in production. Indeed, this phase will determine the correct initial sizing for the database and will avoid the later requirement to use the production tools of the database to resize it. In addition, in the production folder, a revalidation can be a relatively long operation and requires that no one be connected to the folder being processed.

A reference folder is always the starting point for the creation of a folder. The benefit in using a reference folder is to be able to start with a basic setup. The supervisor folder, which can serve as the reference folder, and which contains all the setups relative to the current language/country, is delivered with the software, but any other folder can act as the reference.

Prerequisites

See also Refer to documentation Implementation

Screen management

The setups of a folder are defined in the folder table. As soon as the folder is not created (i.e. validated by the corresponding button), these setups can still be modified with limits.

After creation, only some setups can still be modified. In order for a modification to be taken into account, the folder must be re-validated. This operation may be rather long since it may involve a change in the structure of heavy tables and a regeneration of the software screens and windows.

A folder is defined by an alphanumeric code of over 10 characters, to which a set of setups defined on tabs is linked.

Tab General

This tab contains the main organizational Information for folder definition.

Tab Options

In this tab, two tables are found containing the activity codes relative to the data structure that is required. These codes can be set up as Yes or No:

  • the first table, named Options, contains the general interest activity codes.
  • the second contains the codes starting with K, which define the management options used for the localizations.

The activity codes linked to the legislations follow a specific rule for names: the second letter corresponds to the country for which the management option was developed.

The grid below details this rule:

Activity code

Legislation concerned

KF*

French

KG*

English

KI*

Italian

KP*

Portuguese

KS*

Spanish

KU*

American

KC*

Chinese

KA*

Argentina

In version 150, setting up the activity codes of this type to Yes does not mean that the legislation concerned is going to be used for all companies. However, they have to be activated for a given legislation to be used at least on one of the companies of the folder.

Note that all the possible codes do not necessarily appear in this grid; only the active codes taking into account in the retained modules are presented.

It is important to note that when a folder is created from a reference folder other than the supervisor folder, only the activity codes that have been set to Yes in the reference folder can be set to Yes in the created folder. In this way, if another folder is created later from the folder where options are defined, it is necessary that all the required options in the final folder are present in the reference folder at creation time.

Tab Screens

In this tab, a single table appears. It contains the activity codes of two types, which are related to:

  • the sizing of grids in the screens of the software (indeed, the screens which are used to enter multi-line documents are sized statically upon entry of a function).
  • the sizing of some values that are stored randomly in the database. In this case, there are normally few values (less than a hundred).

A positive value must thus be entered with respect to these activity codes.

The activity codes of the first type are only used to define a quantity of memory used for the screen, their modification involves only the revalidation of the concerned screens and windows. It is however important to note that seriously over-sizing certain values for this table will incur the need to have available increased amounts of allocated memory for each workstation. If the memory sizing is insufficient, the No more memory available error message is likely to be displayed on the screen during the use of the software, the function concerned being stopped. It should be noted that it is possible to define additional memory quotas for the given menu profiles (if certain functions that are particularly heavy memory consumers are reserved to certain users only, this can be set up in this way).

With respect to each activity code of second type, a dimension is entered to define the number of values that can be entered in the associated screens, but also the structure of the corresponding tables in the database. Modifying these values thus results upon re-validation of the folder in a structure change of the concerned tables.

A maximum value for the database is displayed for this type of activity code. This value cannot be exceeded because it would result in a table with a number of columns or with a line size different from the allowed values.

In some cases, a minimum value for the database can be displayed. If the value entered is inferior to this value, it will be possible to enter less occurrences in the screens than what the database can store. If the entered value is superior, both sizing will be identical. This minimum value exists because if some fields were not in the database, there is a risk that the standard Crystal Reports might not work anymore.

Tab Tables

This tab makes it possible to give information for a certain number of values making it possible to then calculate a sizing algorithm:

for each database table, a physical storage size is estimated. This physical size is used during the definition of the table characteristics (planned size, extents management in Oracle, for example).

by cumulative, the global size of the database

It is important to enter these setups correctly by taking into account the requested history (if for example, there is a database with 500,000 records per year and 5 years of history is requested, it is necessary to allocate 250,000 to the corresponding VOUCHER setup). Indeed, if this is not done correctly, a reorganization of the database and its setups will be necessary at a later date to avoid fragmentation of the data and to obtain an optimal response time.

Tab Init.

In this tab there are default values used upon actual folder creation and setups influencing the way a folder is to be re-validated:

  • The copy options are used to enter the data of some tables from the table content of another folder (the copy folder declared in the first tab, the default reference folder). This is made upon folder creation or upon revalidation if a module addition activates the table that were not used yet.
  • The grid Validation of transactions is used to prevent all screens that can be set up to be revalidated from the base screen (in the setups menu in all modules) upon revalidation of a folder. Since the revalidation may take time and is not necessary if the structure of the base screens has not changed, it can be avoided by answering No to the question. When answering No by mistake or avoiding the folder revalidation time on purpose, it is still possible to relaunch the validation via the dedicated function.
  • The checkboxes Update are used to avoid the code regeneration associated with the revalidation of a certain number of elements in the dictionary upon folder revalidation. This is done in order to shorten the revalidation time. For security reasons, these boxes can only be unchecked in a development folder, and it must be done with caution. This can also be done later on via a dedicated function.
  • The language table makes it possible to define a list of languages that can be used by users connected to the folder. It is advised to only select those that are actually useful, because this slows down the folder creation (part of the files linked to the windows are generated for each language retained).

Tab Modifications

This tab defines the connection characteristics of the folder, notably information in the connection box of the workstation when connecting to the folder. Entering the information here is used to update a configuration file located on the server, in the root directory of the supervisor folder, and named X3APPLI.ini. This file can be remotely loaded on the client workstations with the aid of a suitable button, from the connection setups definition box.

Tab Miscellaneous

In this tab is found a grid containing the values and characteristics associated with the activity codes starting with X, Y, or Z, which makes it possible to mark all specific/custom developments.

This tab is used to define the sizing elements useful to the execution environment of server processings associated with each of the open software sessions. The entered data is stored in a configuration file named APL.ini, located on the server, in the folder root directory, once it is created. These setups have a minimum value that will be used if the set up values in this screen are not sufficient.

Tab Links

This tab is used to define the folder links to folders situated on other solutions (i.e. on another server or another connection service, or both).

It has the advantage of making easier the use of connection between software in SAFE X3 technology when they have to share or update common data. A typical example of this kind of cooperation is when a software must update financials situated on a remote folder.

From a technical point of view, a program situated in a folder DOSSIER1 is likely to open tables from a remote folder named DOSSIER2 via a syntax of type:

File ="serveur:[email protected]"

When this happens, a process for data access is opened on the remote folder (it is called sadora or sadoss depending on the concerned database) and tries to connect to the database with a default user name (in the database context) equal to the DOSSIER1 code from the folder where the request was launched.

If it exists, it is not a problem but the access rights to the tables from folder DOSSIER2 have to be sufficient.

If no folder with name DOSSIER1 exists on the remote folder, no access will be possible, except if a directory DOSSIER1 was defined on the remote folder, containing a minimum number of strategic files used when starting this type of process (files .users, .password, APL.ini, adxora).

The adxora file stores notably the user code in the form of a code with which the process for data access will connect, and the corresponding password.

In this tab a link grid is to be entered with setups sufficient to all the creation of files authorizing the remote connection. This creation is not performed upon line entry but it is launched when the link is activated (function accessible via right click on the line).

Note that the links may be characterized by functionality: an accounting link, for instance, corresponds to a link making it possible for a software to access a remote accounting. Only one characterized link of each type is available by folder, and in this case the exhaustive characteristics of the remote folder to be connected to are to be specified. These characterized links have following advantage: they are managed by software which support them (an accounting operation is a software without accounting will explicitly look for an accounting link in order to know whether it should access a remote accounting).

There are also links of type Miscellaneous: there can be several of this type in a given folder (knowing that the total number of links, all types together, is limited to 5). They are supposed to be managed in custom/specific processings. A link of this type does not identify compulsorily a specific folder: it can also correspond to a given environment. If this is the case, the connection occur with a database user code to be specified.

Upon entry of the link lines, the processing looks for the version of the SAFE X3 software installed in the target environment. It detects notably the presence of a file solution.xml, which makes it possible to deduce a certain number of values by default upon entry of a line. If no such file exists, the processing supposes that the remote folder is in version 13X.

Reports

By default, the following reports are associated with this function :

  ADOSSIER : Folder parameters

This can be changed using a different setup.

Specific Buttons

Validation

This button launches the function to validate the folder.

In the dedicated technical appendix the detail of the operations carried out in validating the folder can be found.

Error messages

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

Non existent volume

The name of the volume (A by default) is not known.

Code already exists in line i

In the language table, a language code has been entered that is already referenced in a previous line.

N users in the folders

An attempt is being made to start folder revalidation, but users are still connected to the folder.

Error messages on folder validation

When the folder validation is started, a log file is created. A series of errors can occur. They appear in the form of an error line (in red) in the log file, followed by additional information. Certain errors are generic, but most are linked to the complex phase of screen revalidation. The two series of errors are listed below.

Caution:

The folder validation log file is accessible via the button from the folder management. If the folder validation is started by the batch server, the log file of the request only gives the validation start time: It will be necessary to pass by the folder management to view the detailed log of the operation.

Other errors not listed are likely to occur, in particularly at version change. These errors are defined in the release notes accompanying the version updates.

Generic errors

Folder in use

Folder in process of being generated

N users in the folder

These errors can arrive in the preliminary phase of blocking a folder in the process of revalidation, blocking not being possible at this time.

Read error / Write error / Deletion error

A problem with access rights exists in a table whose name is given in the following message. These errors can arrive in any of the generation phases (screen creation, menus....) if an access problem exists in one of the corresponding dictionary tables.

Errors linked to the screen revalidation

Not enough width available( Necessary width / Maximum width )

Not enough height available(Necessary height / Maximum height)

When validating a screen, there is not sufficient space to position all the fields in a screen (this does not prevent the validation of the screen, but it is necessary to manually verify the screen).

Data type non existent

Non existent action

Non existent object

Non existent table

Non assigned setup

These non blocking errors can occur at the time of screen validation: they do not happen in the entered screens, but can occur after inter-folder element transfer by copy, followed by a revalidation of the folder: here also it is necessary to manually verify the screen.

Too many lines in a block (max 30)

Too many columns in a block (max 15)

Too many fields in a block (max 150)

Too many setups in a block (max 20)

Too many actions in a screen (max 500)

These blocking errors can occur at the time of screen validation: they do not happen in the entered screens, but can occur after inter-folder element transfer by copy, followed by a revalidation of the folder: here also it is necessary to manually verify the screen.

Variable not defined in block i

The variable from the bottom of the block has not been correctly declared in the tab structure.

Appendix: additional technical information

Volume definition

The volumes are used to define the directories where the software installation files and the files concerning the created folders (excluding the database) are located.

These directories are defined in a configuration file named adxvolumes, installed in the engine installation root directory (this directory being itself identified by the volume 0 (zero), which is reserved for the installation of the run-time engine).

The database path of a volume can be found by using the following function in the SAFE X3 calculator:

filpath("!","","","","x")

where x is the volume code (0, A,B,C...)

In assigning the second setup of the filpath function, it is possible to find the exact access path to the adxvolumes file itself:

filpath("!","adxvolumes","","","0")

In the standard installation, the adxvolumes file contains at least two lines (one of the lines for the 0 volume, the other for the A volume, possible others for the B, C, D.... volumes) in the following format (on a NT server, on a UNIX server, the paths are in the format /home/SAFEX3/runtime, for example):

0 :D:\SAFEX3\Runtime
A :D\SAFEX3\Dossiers
B :E:\VolumeB

It should be noted that using volumes other than the first two offers relatively little interest as such in version 140, because the folder structure, if it contains lots of files, takes up a space that does not change much; a problematic optimization of the entries/exits by distribution over different disks is not really useful in this case, the data being stored in the database. The only case where this could be interesting is the one where the text and image files are stored in the TXT directory as it was done in version 130 (in version 140, there is the possibility, to store them in the database which is much more preferable). In addition, when using the Web interface, the XML files generated and used by the http server are always stored in a directory defined in the volume where the supervisor folder is installed (this is normally A).

Modules usable in the folder definition

The usable modules can be defined for several types:

  • The functional modules described in an annex documentation.
  • Technical modules (Supervisor, Common data, Development, Internal X3). The Internal X3 module can not be activated (it is reserved for the SAFE X3 development teams). It is advised to activate the Development module, even if no specific development is planned, in order to have access to certain maintenance functions directly in the folder.
  • There are additional module (Specific modules 1 to 4) open to the partner development.

Interdependence constraints exist between the modules. These constraints are directly tested in the entry of active modules and are described in the annex documentation. For the technical modules, the Supervisor and Common data are compulsorily equal to Yes.

Tables used

See also Refer to documentation Implementation