Activate and deactivate rowkey

If you want to extend a LU with some of the functionality like Custom Objects you need to activate the column called ROWKEY. In IFS Applications all LUs has a column ROWKEY but the column is not activated by default. ROWKEY is a column that s used by the framework to connect different database objects with each other.

Contents

Activate Rowkey

This step is an off line activity, meaning that you should do this step when you are alone on the system (in a maintenance window) or when there are little of almost none other activity in the system that can be affected. You need to find out all of the LU’s that that you want to extend with Custom Attributes and activate these LU’s on by one. What you do when you activate a LU is that you update the column ROWKEY in all your rows in this LU. The ROWKEY is updated to an Oracle GUID (32 byte string) using function SYS_GUID(). The more rows you have the more complicated update and the longer this operation takes. At the end the ROWKEY column is set to NOT NULL meaning that it must contain a value otherwise you will get an error. All IFS Applications LU’s is predefined with a ROWKEY column but they are not filled with data, since this would cause an upgrade of IFS Applications to take a lot longer time. Activating the ROWKEY also causes a small overhead whenever a new row is created. By letting our customers decide which LU’s should be activated we avoid lots of performance problems during the upgrade of IFS Applications and they also decide where this performance “problem” is worth taking. If you are unsure if activating a LU can lead to performance problems either test it in a test installation or discuss it with an IFS Consultant. All LU activations are done as a background job that makes 3 things:

  1. Update all the rows in the table where ROWKEY is null and set the ROWKEY to SYSGUID() column in batches of 10000 rows
  2. Set ROWKEY to NOT NULL and add a default value SYS_GUID()
  3. Recompile all invalid objects (packages and views dependent of the table we change).

 

Deactivate Rowkey

what you do when you deactivate ROWKEY is that you set ROWKEY to a nullable column and you remove the default value. This means that no value will be generated to new rows for this LU and it will be possible to have rows without any value in ROWKEY. Existing rows that might already have a value in column ROWKEY will be left as they are.

  1. Set ROWKEY to null and remove the default value



Note: Activation of Rowkey is considered to be an offline activity, meaning that it can disturb ongoing transactions in IFS Applications. You can compare Activating Rowkey with performing an upgrade or applying of a patch in IFS Applications.