Upgrade of a Changed Core Server File¶
In order to upgrade changed core server files to IFS Applications 9, you need to compare your changes and manually copy and paste in order to do a re implementation. A pre-requisite is that you have already done the reverse engineering to IFSAPP8, so you have the correct model in place.
It is not an easy task to uplift customizations or localizations; the guidelines issued here provide you with one way of approaching this task.
In Developer Studio, create a project where the Target Version = 9.0-CORE and the 'Build Home' is what you need.
Uplift model file¶
In order to uplift a model file please carry out the following:
- Create the Cust model file with the same name as the core model file, but with <LU-name>-Cust.entity and also make sure that you have the layer Cust; in the model file.
- Compare your customized model file with the standard model file you made the customization from.
- Paste your customized changes into the model file.
Uplift server code¶
In order to uplift server code please carry out the following steps:
- Create the cust plsql file with the same name as the core plsql file but with the name <LU-name>-Cust,plsql. You will get this when you generate from a customized model for the first time.
- Compare your customized apy file with the standard apy file from which you made the customization from.
- Compare your customized api file with the base api file that you made the customization from.
- If the comparison only contains new or changed methods, then you do not need to do anything, as the api file is generated from what exists in the.plsql file.
- If the comparison contains other changes, then you need to take care of them.
*.ins, *.rdf files and other server file types have the same merge process as in previous IFS Cloud releases.
Completely new method to lift¶
If it is a completely new method to lift then you can paste the method as it is in the plsql file. Please note that you need to check that all of the calls to other internal methods are valid.
Changed core method to lift¶
If it is a changed core method to lift then you need to take care and consider how your customization should be implemented. You should aim to get your customization as an override as this should lead to a reduction in the applying of patches.
|What it means
|Make customizations as override.
|This means that you put your logic before, or after the core logic, so you can always calls the core logic with a 'super call'.
|Make an overtake of parts of the method using overtake using Search & Replace statements.
|This means that you do a surgical overtake of the core method. You search for a sentence in the core method and replace/include your customization.
|Make an overtake of the whole method and add your customization.
|This means that you overtake the whole core method and do the customization you need in the overtaken method.
If you have only added a new customized attribute to the model and not changed any other logic except for getting the attributes in all methods, you do not need to copy and paste that part of the logic to all methods. The attributes from the model are auto generated to all methods included from the template.
If the core method you have changed in your customization does not exist in the plsql file, then you need to create the method from the base file and then apply your customization changes.
Please note that several methods are now obsolete. The main one is that Basic_Data_Translation_API has replaced Module_Translate_Attr_Util_API. It is nearly a one to one match. Also Unpack_Check_Insert___ and Unpack_Check_Update___ has been removed and replaced by other methods, see Code Generation Template. Another important change is that PCM has been split into the components WO, PM, PCMSTD and PERISO. All other changes can be found on the Installation Roadmap.
If you have created global variables for your customization, you need to remove them, see Removal of global variables.
In order to uplift views do the following:
- Create the cust views file with the same name as the core views file but with the name <LU-name>-Cust.views. You will get this when you generate from a customized model the first time.
|What it means
|Only added new customized attributes in the model
|- You do not need to do anything for the base view, this will come automatically when the code is auto generated
- However if the attributes also is added to the non-based views you need to overtake the non-base view and add the attributes
|Changed where clause in the base view
|- You need to overtake the base view and add the changes in the where clause
|Changed where clause in the non-base view
|- You need to overtake the non-base view and add the changes in the where clause