Folder validation
Folder validation can be run in batch mode from the folder management in the reference folder. It moves the folder to a state where connection and normal operations are possible on the corresponding endpoint. It always runs on the main application server. The server is automatically assigned by the node.js platform.
Folder validation is a complex process that involves several tasks.
The CREHISTO
function is used specifically to create a history folder. The process involves several steps that are described below.
If a history folder exists for a given folder, it is not revalidated until after the upgrade of the folder it is attached to. If the history folder remains installed in a stand-alone environment, its revalidation is performed in a second (or later) step.
History folder revalidation requires a minimum level of patches or maintenances depending on the version you start from.
The list of the prerequisites is as follows:
Product | Version or upgrades | Minimum patch list or maintenance |
---|---|---|
Sage X3 | Version 5 | Maintenance 7401 and 7402 must be installed |
Sage X3 | Version 6.x | Patch list >=33 |
Sage X3 | Version 7 | Patch list >=10 |
Sage X3 | Upgrade 8 | Patch list >=2 |
Sage HRM | Version 5 | Maintenance 3330 and 3329 must be installed |
Sage HRM | Version 6 | Patch list >=29 |
Sage HRM | Version 7 | Patch list >=3 |
The folder validation process tests validation parameters with the following actions:
If any of the preliminary checks fail, the revalidation process stops and the trace log shows the reason for the failure.
If the folder is revalidated, the folder is first switched to mono-connection mode, which means that no user can connect to the folder during the revalidation. This is only possible if no user is currently connected, otherwise the revalidation fails.
Flags indicate if elements in dictionaries need to be validated. By default, the revalidation is set to "No", unless a folder is being created. In the next steps, the flag can be set to "Yes" by one of the update procedures.
If the folder is created, a set of directories are created in the application folder. The scripts that create the user database, along with the corresponding tablespaces, are run as well.
If the folder is revalidated, a check is performed and the additional directories can be created. For example, additional directories are created when a language is added or if a new directory has been defined in the reference folder.
If the validated or revalidated folder is a history folder, the local dictionary elements (local table description) are created according to the data already stored. The dedicated menu and text files used for the user interface are generated.
If the upgrade plans have been enabled:
The tables are now updated using the AMAJ routine located in the DOSMAJ scripts. The principles are as follows:
The table dictionary is now updated and the revalidation of all the modified tables is performed. This drops the standard columns that are no longer present in the version and reindexes the existing tables.
The movement table transformations are also managed by this step. However, if upgrade plans have been used, the movement tables are empty and the update is performed at a later stage.
If deliverables or kits have been added, they are copied from the reference folder. This step is not performed on history folders.
When revalidating a normal folder, the dictionary content is updated for all elements. This includes tables, views, actions, screens, objects, windows, data types, action parameters, functions, reports, activity codes, general parameters, miscellaneous tables, purge formulas, system transaction, inquiries, navigation, transactions, memo codes, type prototypes, global variables, constants, context variables, subprograms, formula assistant contexts, URLs, documentation, data models, classes, representations, help keywords, entry points, and business object related dictionaries.
The update takes all the changes that were made into account, especially new activity codes and new legislations.
The tables are now revalidated according to the new dictionary definition. The columns that are no longer present are deleted and the indexes are recomputed.
If you are updating non-history folders, and depending on the changes in the setup, data can be copied from the reference folder, for example if a language code has been added, or if new setups are delivered in the tables that are copied. Below are some of the operations that are possible:
At this stage, a link control procedure is executed on all tables, except the movement tables if upgrade plans are used.
For non-history folders, dictionary elements are validated:
For history folder updates, only the tables and the views are generated and validated. All other dictionary elements are inherited from the main folder.
During an update, the MAJ routine in DOSMAJ* scripts are run successively for non-history folders. These processes can also perform additional updates. This step applies to both history folders and regular folders but the scripts executed can be different.
When updating non-history folders, the classes and representation links are updated, and the validation flag is set to trigger the validation later.
For non-history folder validation, the following operations are performed:
This step is only relevant for update processes if upgrade plans have been selected. Otherwise, the folder validation is complete.
At this stage, all the main parameters and dictionary tables are up to date, but the movement tables are still empty, and the corresponding data is located in the U* tables.
Running the upgrade plan transfers the data in batch in the final movement tables. This can be done with several steps in parallel and is defined by the upgrade plan setup.
When this step is complete, the folder is ready for normal operation. The U* table remains with the movement data image before the upgrade. They can be purged later, for example after a given period of normal operation, to be able to analyze further data inconsistencies that were not detected.
Note: They need to be purged before the next update is performed. This is done with function TRTMIGDEL.
The following limitations apply to application table update in history folders:
The consequence is that the following V6 fields remain empty for historical data:
Keep in mind that the accounting cumulated tables (BALANCE, BALANA, BLACMM, BLAQTY) are erased in V6. The upgrade procedure resynchronizes the balance table. If you want to use balance historical data, the GACCENTRY* and GCOMMIT* tables must also have been historized.