Skip to content

Reverse Engineering of Models

The reverse engineering of models are carried out from the database and not from Rational Rose and you should use IFS Developer studio to perform this work. You need two databases in order to carry out reverse engineering, the current one, where you have the code to reverse engineer and the target database, where you deploy the reverse engineered code. For IFS Consulting reverse engineering instructions and guidance are laid down in AQS and you should follow the instructions there.

Setup

In IFS Developer Studio

  • Create a project with Target Version = 8.0-CORE and the Build Home you need.
  • On the Oracle database choose, both a main database and a reverse engineering database. Reverse Engineer Database

Working Procedure

For both enumerations and entities the workflow is the same when carrying out reverse engineering.

  1. Follow the instructions described in Creating Model Files through Reverse-Engineering
  2. Apply IFSAPP 8 template changes.
  3. Correct view comments

See Examples of Reverse Engineering Issues in order to find some common problems and solutions when carrying out reverse engineering of models.

Reverse engineering of enumeration

The template for enumerations is changed in IFS Applications 8.

  • Diff-merge of customized enumerations is not possible.
  • Custom enumerations from pre Apps8 can not be reused "as-is".

New enumeration

For new enumerations that you want to uplift, you run the reverse engineering as stated in Creating Model Files through Reverse-Engineering.

Changed core enumeration

For changed core enumeration, the reverse engineering of the model has already been done in IFS Applications 8. In this case it is better to diff the changes you have done and then simply model your changes and generate new files.

Reverse engineering of entity

The template for entity has been changed in IFS Applications 8.

  • There is a new column ROWKEY and also a new unique index for ROWKEY has been added. (ROWKEY is needed for Custom Field functionality).
  • This must be added in the database for the existing customer.

New entity

For any new entity that you want to uplift, then run reverse engineering as stated in Creating Model Files through Reverse-Engineering.

Changed core entity

For any changed core entities, the reverse engineering of any model has already been done in IFS Applications 8. In these cases it is better to compare the changes you have done and then simply model your changes and generate new files. Please note that you only need to model the attribute changes made. If you have added or changed methods, then you should merge those changes to the file.

Apply IFSAPP8 template changes

The api and apy files for the customized entities are still based on templates from older version of IFS Cloud (the version you are upgrading from). Upgrading to the IFSAPP8 template is done with the RMB "Diff Against Generated File" on the api/apy file. This will bring up a window with the "internally" generated file and the actual file side by side - allowing you to synchronize statements/sections in the actual files with the default generated files.

Diff

Correct view comments

Sometimes there will be incorrect view comments which require correcting.  When generating new model files an error log for each model with an error will be created. To see what should be corrected from the model then open the model file and the apy file; any rows with errors will be highlighted. Corrections should be carried out in files where there are errors, which could be either the model file or the apy file.

Reverse engineering of entity with state machine

Reverse engineering of entity with state machine is the same as for an entity. Beware though that the implementation of state machines is changed for IFSAPP8 which has consequences when doing the upgrade.

New state machine entity

For a new state machine entity that you want to uplift, run the reverse engineering as stated in Creating Model Files through Reverse-Engineering.
For simpler state machine entities it is also possible to re-model and re-generate the code.

Changed core state machine entity

For any changed core state machine entity, the reverse engineering of the model has already been carried out in IFS Applications 8. In this case it is better to compare the changes you have done and then re-model your changes and generate new files. Please note that you only need to model the attribute changes made. If you have added or changed methods, then you should merge those changes to the file.

Apply IFSAPP8 template changes

When applying any IFSAPP8 template changes then this is the same process as with any change to entities.

Correct view comments

When correcting any view comments then this is the same process as when making changes to any entity view comments.

Uplift overview diagrams

If you wish to include overview diagrams that are held in Rational Rose then it is best to carry out re-modelling using Developer Studio.

If you wish to uplift an overview diagram then you need to have all the entity files and then you can drag-drop them into the overview diagram.  Right click in the overview diagram and choose "Show all links" to draw relations between the entities. Developer Studio will be able to confirm that all relationships have been correctly defined and that your newly refined model is correct.

Completed Model