Cloud consistency controls for addons, vertical, specifics
Classic Function | Function code | ACTLSPE |
---|
A common observation about Sage X3 technology is that the tool enables you to make a lot of modifications and offers a reasonable way for protecting these modifications by specific or vertical activity codes. It has also been observed that the patching process can be complex and difficult to automate, especially when conflicts and errors arise due to modifications that require manual intervention to resolve.
This is especially critical for the Cloud installations where the exploitation and therefore the application of patches must be fully automated.
For this reason, it is necessary to restrict the creation of specific and/or vertical developments by defining rules that regulate the dictionary modifications. Once validated, these rules can be used in two ways:
The purpose of this tool, a control program, is to check compliance of these rules with development performed in a folder.
Best practices to ensure cloud compatibility will evolve in the future, and the control program presented here will also evolve accordingly.
This document explains how the control program can be used and describes the rules that are checked today as well as expected improvements.
The control program is also available on request (dedicated patch) for the prior releases.
How to launch the tool
When the function is executed, a dialog box displays requiring the following information to be entered:
- The folder to be checked (the current folder by default)
- The reference folder that holds the standard dictionary (usually Sage X3 or HRM)
- A check box that indicates if the detailed list of impacted elements must be given in the log
Click OK
to run the tool. When complete, a log file displays that provides the following information:
* Risks
are minor errors that might be considered in the future as stronger.
* Errors
are errors that can cause new issues for patch installation.
* Fatal errors
are errors that can compromise the normal behavior of the software or the patching process.
Cloud compatibility can be considered good if only Risks are detected, but they should be addressed in the future.
If Errors are detected, they must be fixed before cloud compatibility is ensured.
Fatal errors should prevent the use of the software on premise.
Version V2015-04-20
Control of activity codes
No differences
Control of tables
...
Control of local menus
Fatal error: Local menu 588, cannot be modified, but the number of choices has been changed (2 instead of 3).
Error: Local menu 1001, This specific local menu is not protected by an activity code
Control of screens
Fatal error: Screen APO1, block no 3 (), Specific development not allowed for an object of the "Supervisor" module
...
Control of processings
Risk: The processing AXDTCOR_201.adx that exists in the application X3 should not be in MYFOLDER
...
Number of errors found : 6 fatal error(s), 6 error(s), 3 warning(s)
Controls performed and errors severity level
The following table lists all controls performed
Elements controlled | Type of control | Severity |
---|---|---|
All supervisor elements | No modification is allowed on supervisor elements (activity codes, tables, data types, miscellaneous tables, local menus, masks, windows, actions, classes, representations, parameters). | Fatal error |
Activity codes | Naming range (X-Z) not respected. Changes on min/max dimensions on standard activity codes. | Fatal error |
Any entity | Naming range (X-Z) not respected: applies on tables, data types, masks, windows, actions, classes, representations, parameters. The same controls are done on numeric ranges for miscellaneous tables and local menus. | Error |
Any entity | Standard entity no more present: applies on tables, data types, masks, windows, actions, classes, representations, parameters, miscellaneous tables, local menus. | Error |
Any entity | Naming range (X-Z) respected, but no specific activity code present on the entity, or a standard activity code is used: applies on tables, data types, masks, windows, actions, classes, representations, parameters. The same controls are done on numeric ranges for miscellaneous tables and local menus. | Error |
Any entity | Standard activity code replaced by a specific one on a standard element: applies on tables, masks, windows, actions, classes, representations, parameters but not on data types. The same controls are done on numeric ranges for miscellaneous tables and local menus. | Error |
Additional sub elements in a standard entity | Naming range not respected (X-Z): applies on columns in tables, fields in screens, properties or collections in classes and representations. | Error |
Additional sub elements in a standard entity | No specific activity code on them (X-Z): applies on columns in tables, and fields in screens. | Error |
Standard sub elements in a standard entity | Standard activity code deleted or replaced by a specific one (X-Z): applies on columns in tables, fields in screens, properties or collections in classes and representations. | Error |
Columns in tables | Activity codes present on properties present on keys. | Error |
Standard data type | Basic data type changed (Integer to Char, Char to Decimal, Decimal to Integer...) or length/precision decreased. | Error |
Standard data type | Length/precision increased but without being protected by a specific activity code. | Error |
Standard no generic data types | Length/precision increased. | Risk (1) |
Standard miscellaneous tables | Length of codes decreased. | Error |
Standard miscellaneous tables | Length of codes increased. | Risk |
Standard miscellaneous tables | Flags company, site, mandatory modified, or length of code increased, without protection by a specific activity code. | Error |
Standard not modifiable local menus | Any modification on the characteristics, including the addition of choices in the enumeration. | Error |
Standard not modifiable local menus | Suppression of choices in the enumeration. | Fatal error |
Standard screens | Renumbering of standard blocks. Changing the type of a standard block. Adding a specific block not protected by a specific activity code. Changing a standard activity code on a standard block by a specific activity code. Using a standard activity code on a specific block(2). | Error |
Standard screen fields | Moving a standard field from a block to another. | Error |
Standard windows | Changing the order of standard screens, deleting standard screens, assign to them a specific activity code or change it. | Error |
Actions | Changes done in standard actions (including changing the data types or number of parameters). | Error |
Standard methods / operations in classes / representations | Changing parameters type, name, number. | Error |
Specific methods / operations in classes / representations | not following the codification range (X-Z), not protected by a specific activity code. | Error |
Notes
(1) The list of columns, fields... using the corresponding data type are listed if the Impact checkbox is set.
(2) The activity code must be specific, but can have a dependency formula based on a standard code value.
(3) Setting a specific activity code to a standard sub-element (column in a table, field in a mask, property in a class or representation) is forbidden. Changing some properties of these elements doesn't require to protect them by activity code:
* Changing a label can be done using the vocabulary adaptation function.
* Making a field mandatory can be done by adding a control.
* Enlarging the length can be done on the data type.
* Adding a button can be done without needing an activity code protection, as long as it is a specific action; adding a specific link on a standard class/representation is protected at the link level and not at the property level.