Solved

Activate Rowkey Aborting/Timing out

  • 24 July 2020
  • 3 replies
  • 303 views

Userlevel 4
Badge +11

I’m trying to create some custom fields for the SalesContract LU.  I understand that I have to activate the rowkey before I can publish the new fields.

When I try to use the Direct option to activate the RowKey for the SalesContract LU, it aborts after 30 minutes.  I put the debug on and it shows “java.sql.SQLTimeoutException: ORA-01013: user requested cancel of current operation.

If I use the Background Job option, it gives me a popup application information message: “Request Aborted”, but the background job still appears in the list of jobs with a state of “executing”.  I can’t stop/kill it without asking the DBA to get involved.

There’s only 3 Sales Contracts in the instance.  Why is the job taking so long and where do we adjust the timeout so it can run longer without stopping?

 

icon

Best answer by DrJeffreyWhite 4 August 2020, 17:02

View original

3 replies

Userlevel 5
Badge +12

Hi,

If you know the exact table/s you want to add the rowkey column you can use below code to do it manually.

 

DECLARE
   table_name_ VARCHAR2(30) := 'TABLE_NAME_TAB';
   columns_    Database_SYS.ColumnTabType;
   column_     Database_SYS.ColRec;
BEGIN
   Database_SYS.Reset_Column_Table(columns_);
   Database_SYS.Set_Table_Column(columns_, 'ROWKEY', 'VARCHAR2(50)', 'N', 'sys_guid()');
   Database_SYS.Create_Or_Replace_Table(table_name_, columns_, '&IFSAPP_DATA', NULL, TRUE);
END;

Userlevel 4
Badge +11

Thanks Ruchira.  We’ll try that if we can’t get the process to complete.  

Userlevel 2
Badge +4

If the rowkey column already exists in the table then you may need to add a sys_guid() to any rows with a null value prior to activating the rowkey within IFS.

 

Example:

UPDATE table_name

SET ROWKEY = SYS_GUID();

WHERE ROWKEY IS NULL;

 

COMMIT;

 

This has worked for us in situations where the rowkey was activated at one point, deactivated, and then an attempt to activate it again is done at a later point in time.  It may also have something to do with DME being installed in the environment and a rowkey is not activated on a prerequisite table.  Regardless, running this update prior to activating the rowkey in IFS worked.

Reply