Code Layers¶
The concept of code layers is that developers should be able to include code at a layer level without interfering with any other layers of code. It also separates the code so it is easy to understand each layers interactions with the code.
In each layer, except for the base layer, it is possible to add layer specific code and to change the previous layers code by creating an override or overtake of the code. Override of code means that you, in your layer add new functionality before or after a call to the previous layers code. Overtake of a method means that you take the full responsibility of the code from this layer. You are not allowed to call any layer below the overtaken layer. Even the model is layered so it is possible to change how the code behaves within the model. Read more about this in Override and Overtake.
Having layered code and models helps IFS and our customer base apply bug fixes in an easier manner than if it had just been found in the Core layer. In most cases it is just to replace the specific code in the layer and recompile the code without the need for merging code first.
Each layer, except for the base layer, will store the source code in their own source files (source plsql, source model and source views). For the base layer you will always have the source model files.
When developing IFS Cloud base server code the layers are defined in Layers.ini, which is located in the projects root folder. You should access this file when you create a Developer Studio project. The layers that will be created depend on which project type you have chosen. The layer will then be used to create the correct file names extensions.
Read Developing in Code Layers in order to know how to work with the customization layer.
Base layer¶
The base layer is the fixed framework layer for the template code of code generation. The base layer is what you will get if you only have the model and generates the code.
Core layer¶
The core layer is where IFS R&D adds the product specific business logic or change the behavior of the base layer code. This layer together with the base layer is what will be released as a version of IFS Cloud.
Customization layer¶
The customization layer is where partners or IFS Consulting adds specific code for a customer. For the customization layer, -Cust will be added in the file name.