Forms were failing with the below error after cloning
Error:
Cannot complete application logon. You may have entered an invalid application password, or there may have been a database connect error
Upon investigation, the problem was traced to the SESSION_COOKIE_NAME stored in the ICX_PARAMETERS table.
Executing the query below should provide the EBS DB name as the output, but in our situation, it returns an empty result:
select FND_SESSION_MANAGEMENT.getsessioncookiename() from dual;
The function `FND_SESSION_MANAGEMENT.getsessioncookiename()` retrieves the value from the ICX_PARAMETERS table.
Upon inspecting the ICX_PARAMETERS table, it was found that the SESSION_COOKIE_NAME column is null.
To address the issue with ICX_PARAMETERS having no rows, the following steps were taken to resolve the problem:
1. Before inserting rows into any table, it is crucial to check the dependencies on that table.
2. In our specific scenario, the table had no dependencies and only had an editioning view, so the act of inserting rows did not cause any issues.
3. No other package is updating the ICX table.
SQL> select * from dba_dependencies where owner='ICX' and REFERENCED_NAME like 'ICX_PARAM%';
OWNER NAME TYPE REFER REFERENCED_NAME REFERENCED_TYPE REFERENCED_LINK_NAME DEPE
---------- -------------------- ------------------- ----- -------------------- -------------------- -------------------- ----
ICX ICX_PARAMETERS# VIEW ICX ICX_PARAMETERS TABLE HARD
SQL> select count(*) from DBA_SOURCE where text like '%UPDATE%ICX_PARAMETERS%';
COUNT(*)
----------
0
SQL> select count(*) from DBA_SOURCE where text like '%INSERT%ICX_PARAMETERS%';
COUNT(*)
----------
0
Since the ICX_PARAMETERS table had no rows, we resolved the issue by inserting the required rows based on a reference from a functioning instance. The columns in the table were populated according to the configuration of the working instance.
SQL> insert into icx.icx_parameters (HOME_URL,QUERY_SET,CREATED_BY,CREATION_DATE,LAST_UPDATED_BY,LAST_UPDATE_DATE) Values ('&EBS_URL',25,1, TO_DATE('12-08-2001', 'dd-mm-yyyy'),1, TO_DATE('12-08-2001', 'dd-mm-yyyy'));
1 row created.
SQL> update icx.icx_parameters set SESSION_COOKIE_NAME='&DBNAME' where HOME_URL='&EBS_URL';
1 row updated.
SQL> commit;
Commit complete.
Synonym and editioning views are working fine after inserting rows into the base table.
SQL> select count(*) from apps.icx_parameters;
COUNT(*)
----------
1
SQL> select count(*) from icx.icx_parameters#;
COUNT(*)
----------
1
Comentários