Users Notification Preference Becomes Disabled In FND_USER_PREFERENCES Table

Lets understand why notification_preference for recipients to become DISABLED.


If your email server crashed and caused an outage of several hours then its caused the recipients notification_preference to change to DISABLED in the FND_USER_PREFERENCES and WF_LOCAL_ROLES tables.


We can find out  those user 
that are DISABLED using following sql statement in FND_USER_PREFERENCES .

SQL>select user_name,preference_value from fnd_user_preferences where PREFERENCE_VALUE = 'DISABLED';

SQL>select * from WF_LOCAL_ROLES where notification_preference in ('DISABLED','QUERY') and orig_system='PER';

SQL>select *from WF_LOCAL_ROLES where notification_preference='DISABLED';




To identify disabled user using below statement.


SQL>SELECT * FROM FND_USER_PREFERENCES WHERE user_name LIKE '&user_name' AND module_name = 'WF' ;

SQL>select *from WF_LOCAL_ROLES where notification_preference='DISABLED';




-----------Please ensure a backup is performed for recovery as needed. Apply in TEST instance before in PROD ---------

.
We need to update  FND_USER_PREFERENCES and WF_LOCAL_ROLES manually.

FND_USER_PREFERENCES for particular user and all user:- 


SQL>update FND_USER_PREFERENCES 
set PREFERENCE_VALUE = 'MAILHTML' where USER_NAME='SYSADMIN' and MODULE_NAME='WF' and PREFERENCE_NAME='MAILTYPE' ;

SQL>commit;



For all User:-


SQL>update WF_LOCAL_ROLES set notification_preference='MAILHTML' where notification_preference='DISABLED';


SQL>commit;



WF_LOCAL_ROLES for particular user and all user:- 


SQL>update WF_LOCAL_ROLES set notification_preference='MAILHTML' where notification_preference='DISABLED' and name='ISBENIWAL-I0001';


SQL>commit;



For all User:-

SQL>update WF_LOCAL_ROLES set notification_preference='MAILHTML' where notification_preference='DISABLED';


SQL>commit;



Another way to fix this issue:-

Set ‘General Preferences show flag’ profile at user level, so that it will enable the ‘Preference’ flag in user application.


Go to preference tab, Notifications, set email style to ‘HTML mail with attachments’.

Workflow Email Notifications not working for a particular user

If this is ‘Disabled’ or ‘Do not send me email’ users wont get notifications through mail.If you want to receive notification change it as 'HTML mail with attachments'.



Sometimes it is difficult to set it for every user.

IAS component OC4JGroup:default_group (OC4J:oacore) stopped/failed automatically in EBS

In our production instance R12.1.X.X  IAS component "oacore" frequently
down/failed.

Check the services in case of oacore failure..

$sh adapcctl.sh status

You are running adapcctl.sh version 120.7.12010000.2
Checking status of OPMN managed Oracle HTTP Server (OHS) instance.

Processes in Instance: PROD.xxxxxxxxxx
---------------------------------+--------------------+---------+---------
ias-component                    | process-type       |     pid | status
---------------------------------+--------------------+---------+---------

OC4JGroup:default_group          | OC4J:oafm           |   19410 | Alive
OC4JGroup:default_group          | OC4J:forms          |   19319 | Alive
OC4JGroup:default_group          | OC4J:oacore        |   19140 | Failed
HTTP_Server                             | HTTP_Server       |   19069 | Alive
OC4JGroup:default_group          | OC4J:oacore    |  23108 | failed

To resolve the above issue  need to be modify/increase the JVM processes as below in context file: 


<oacore_jvm_start_options oa_var="s_oacore_jvm_start_options">-
server -verbose:gc -Xmx512M -Xms128M -XX:MaxPermSize=160M -
XX:NewRatio=2 

To 


<oacore_jvm_start_options oa_var="s_oacore_jvm_start_options">-
server -verbose:gc -Xmx1024M -Xms512M -XX:MaxPermSize=256M -
XX:NewRatio=2 

=> Stop the services
 
=> Run autoconfig 

=> Restart the services 


Check it again:-


$sh adapcctl.sh status


You are running adapcctl.sh version 120.7.12010000.2


Checking status of OPMN managed Oracle HTTP Server (OHS) instance ...


Processes in Instance: PROD.xxxxxxxxx

---------------------------------+--------------------+---------+---------
ias-component                    | process-type       |     pid | status
---------------------------------+--------------------+---------+---------

OC4JGroup:default_group          | OC4J:oafm          |   19410 | Alive

OC4JGroup:default_group          | OC4J:forms         |   19319 | Alive

OC4JGroup:default_group          | OC4J:oacore       |   19140 | Alive

HTTP_Server                             | HTTP_Server     |   19069 | Alive


In my case issue was resolved successfully ......😁

adop phase=prepare ORA-20008: No Concurrent Manager is running that can run concurrent program

Below error coming while executed adop phase=prepare.

Submitting ADZDPATCH concurrent program.
    Waiting for conflicting requests to complete.
    [ERROR]     Failed to execute sql statement:
select AD_ZD_ADOP.WAIT_FOR_CP_TO_RUN(35360925) from dual
    [ERROR]     SQLPLUS error: buffer=
SQL*Plus: Release 10.1.0.5.0 - Production on Sat Sep 8 14:01:00 2018
Copyright (c) 1982, 2005, Oracle.  All rights reserved.

SQL> SQL> Connected.
SQL> select AD_ZD_ADOP.WAIT_FOR_CP_TO_RUN(35360925) from dual
       *
ERROR at line 1:
ORA-20008: No Concurrent Manager is running that can run concurrent program
ADZDPATCH
ORA-06512: at "APPS.AD_ZD_ADOP", line 282
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

    [UNEXPECTED]Error calling runConcurrentProgram subroutine.
    Stopping services on patch file system.
    Stopping admin server.
    Stopping node manager.
    [ERROR]     Prepare phase has failed.


Solution:-


Set the Run filesystem / environment and run command:


FNDLOAD apps/apps 0 Y UPLOAD $FND_TOP/patch/115/import/afcpprog.lct $AD_TOP/patch/115/import/US/adzdpatch.ldt - CUSTOM_MODE=FORCE


If still not resolve the issue. Pls follow the below steps.



First of all truncate the following tables.

truncate table applsys.fnd_nodes;
truncate table applsys.fnd_oam_context_files;
truncate table applsys.adop_valid_nodes;

 If on AD/TXK 8 or higher:

truncate table applsys.ad_nodes_config_status;

run autoconfig on DB and appsTier.



To check whether its working or not.

The syntax to run an empty patch cycle is:


Quick Version:

$ cd <EBS_ROOT>
$ source EBSapps.env run
$ adop phase=prepare,finalize,cutover
$ source EBSapps.env run
$ adop phase=cleanup


Complete Version:

$ cd <EBS_ROOT>
$ source EBSapps.env run
$ adop phase=prepare
$ adop phase=actualize_all
$ adop phase=finalize finalize_mode=full
$ adop phase=cutover
$ source EBSapps.env run
$ adop phase=cleanup cleanup_mode=full