Customization and updates
Custom ERP without problems of customizations.
An ERP is aimed at various types of companies, and each company can have, and often has, different procedures and ways of working.
Many of the management software solutions on the market offer the possibility of being customized to customer needs.
So, is customization a good approach? No, unfortunately this is not the case.
Those who wanted an ERP customized to their requirements have immediately realized that this has two main problems.
1. Costs and time of customizations
While the development costs of the standard program are shared among all users, those of the customizations are fully charged to those who request them. The final cost of the changes very often ends up being very high. In addition to this, development times are usually much longer than expected.
The use of the CrossModel development system allows extremely short development times and costs of customizations when compared to traditional methods, and this brings to reduced cost for the customer, while at the same time the vendor can have a good profit margin, so both of them can be happy.
2. Costs of customization updates
Those who have overcome the first obstacle deciding to develop a customized version of the software, later become aware of an even more serious problem. Each update of the standard program to newer versions, in fact, involves considerable costs for the transfer of customizations to the new version.
The alternative, that many end up choosing, is to remain stuck in the version of the program on which the customization was developed, giving up subsequent updates, but obviously with significant disadvantages. Furthermore, in certain situations (new operating systems, legal updates, etc.) the version update is practically mandatory.
The CROSSMODEL solution
CrossModel offers a brilliant solution for both these problems. CrossModel is the development tool used to develop X-Cross, and was specifically designed to create an ERP that addresses the issues of web based solutions and customizations.
Reduced times and costs
CrossModel, in the development phase, drastically reduces times and costs of customizations, thanks to a very advanced data modeling tool, a sophisticated framework and many very hi-level programming features.
Separated or integrated customizations?
This is the dilemma of those who have to customize a management software.
- If the customizations are developed as a separate object, their interaction with the standard program is limited.
- If the standard program is modified, the customizations can interact in a much deeper way, but the changes must be transferred to each new version.
The CrossModel technology
Thanks to its exclusive technology, the customizations developed with CrossModel are stored separately, but at the same time they can interact with the standard program in an extremely efficient way, practically as if the standard program itself had been modified.
CrossModel, therefore, puts together the advantages of both solutions, eliminating their disadvantages.
The CROSSMODEL data structure
The data modeling tool of CrossModel offers the possibility to create custom data structures that can perfectly interact with the standard program.
Tables extensions
In CrossModel, each database table can have a custom extension, where additional customization data can be stored.
This table works as an “appendix” to the main table, and is kept up to date without any additional programming work.
Complex views
A normal database view is updatable only if it involves data from only one table.
The complex views of CrossModel can contain more then one table in a join relationship. The insert-edit stored procedures “split” the data into the appropriate database table, maintaining referential integrity and joins.
A complex view, once created, can be treated as a proper database table, since all the internal operations are managed by the stored procedures.
A complex view can contain, instead of a table, another complex view with unlimited levels.
What can the complex views be used for?
These data structure is one of the most useful features of CrossModel.
In the standard program, it is used in many situations. For example, a commercial document header (e.g. an invoice, a quotation, etc.) is formed of two tables: one with the general data of all the documents (date, number, etc.) and the second one with the data that are specific for that document.
In customizations, this feature is even more useful. The standard table (or complex view) will form a lower level complex view together with the custom data, resulting in a single structure that can be treated like a table but will keep together the standard and the custom data.
Connections to standard or custom tables
The tables extensions, like the standard tables, can be connected to standard or custom tables in a seamless way, without writing code.
For every connected table CrossModel automatically offers all the functionalities that are needed:
- Find a connected record typing a search code
- A help list of values, with or without a search in the records of the connected tables if it has many records
- Zoom on the parent record window from the child one
- Insert of a new record in the connected table without writing a single line of code
Inheritance of data structures
Inheriting the classes, the standard data structures can be substituted with the customized ones, and in this way the added table columns are available in every part of the program.
CROSSMODEL classes
The classes of the program are instantiated with the “high library level” technology.
Every time a class is to be instantiated, the CrossModel engine looks for the class with that name in the library of the highest level.
In this way the customized objects (if present) are used instead of the standard ones, without modifying the latter.
Modular windows
The program windows are built with a modular technology (sub-windows), which allows the developer of the customization to add interface elements exactly where it is needed, without any change to the standard. In practice, the windows, which form the user-program interface, can have a highly customized format, but without updating problems.
Windows extensions
In many cases, the appearance of the windows cannot be inherited from the child one, since it will cause an overlapping of fields. The windows extensions technology of CrossModel solves this problem, and gives the possibility to have in the same window or sub-window tandard and custom fields together.
The user interface
As a result, we can have, in addition to a totally customized data structure, a “tailor-made” user interface to read, insert and edit data.
Classes inheritance
Thanks to the high library level technology, every class of the standard program can be substituted with a customized one. This can be a brand new class or a subclass of the standard one.
Cumulative inheritance
In this type of inheritance, the features of the child class can be added to the ones of the parent, without overriding them. For example, a window can have two menus in the parent class, and another one in the child, with a total of three.
In the case of modular windows, the additional sub windows can be added in any part of the parent window.
The programming logic
Each programming method of the standard program can be integrated or completely replaced by customized instructions, modifying the operating logic without altering the original software in any way.
No upgrade costs
Thanks to its unique technology, the CrossModel development system gives the possibility to update the customized program to the latest versions at no additional cost for the “transplant” of the customizations, that are automatically transferred in the new version without any manual programming work.