Wednesday, February 27, 2008

Workflow Related - Users are not receiving emails


Issue Reported :- Users are not getting emails with new passwords once they click on once they click on Forgot password linkResolution :-1) Check to see if users email is updated in the system properly Navigation -> Query Security -> Users form for that particular user and check if email address column is updated if not please enter the correct email address of that user 2) Assign Preferences SSWA responsibility to the user and check their email preferences should be set to HTML 3) To update these from backend Login to apps and issue following 2 sql statements

SQL>update wf_local_roles
set notification_preference = 'MAILHTML2'
where name=' and user_flag='Y'

SQL>update fnd_user_preferences
set preference_value = 'MAILHTML2'
where user_name=' and preference_name = 'MAILTYPE'

2. Commit **********************************************************************************

Reference SR which resolved this issue is 6785164.992 ( Leviton Mfg Co )
Breif abstract of what happened in the SR and how the analyst recommeded these solutions follows :-### Detailed Problem Statement ###
Forgot password link is not working. When user clicks on forgot password , the next page shows
up which asks to input the userid . After that nothing happens.

Normally we should expect to see a email from workflow asking to approve or reject . But
email does not show up

Resolution Steps taken :-

ACTION PLAN
============

1. Is the Notification Mailer currently running?

select fcq.USER_CONCURRENT_QUEUE_NAME Container_Name, DECODE(fcp.OS_PROCESS_ID,NU
LL,'Not
Running',fcp.OS_PROCESS_ID) PROCID,
fcq.MAX_PROCESSES TARGET,
fcq.RUNNING_PROCESSES ACTUAL,
fcq.ENABLED_FLAG ENABLED,
fsc.COMPONENT_NAME,
fsc.STARTUP_MODE,
fsc.COMPONENT_STATUS
from APPS.FND_CONCURRENT_QUEUES_VL fcq, APPS.FND_CP_SERVICES fcs, APPS.FND_CONCURRENT_PROCESSES
fcp, fnd_svc_components fsc
where fcq.MANAGER_TYPE = fcs.SERVICE_ID
and fcs.SERVICE_HANDLE = 'FNDCPGSC'
and fsc.concurrent_queue_id = fcq.concurrent_queue_id(+)
and fcq.concurrent_queue_id = fcp.concurrent_queue_id(+)
and fcq.application_id = fcp.queue_application_id(+)
and fcp.process_status_code(+) = 'A'
order by fcp.OS_PROCESS_ID, fsc.STARTUP_MODE;


2. Please test the delivery of other types of Notifications or test the Mailer by g
oing to OAM > Workflow Manager >
Notification Mailer > View Details > Test Message > enter a Username that has been set up to receive mail
Enter the Recipient Address and wait for delivery,

-- Does it get delivered?


3. The Forget Password ITEM_TYPE=UMXUPWD

-- SQL> Select select NOTIFICATION_ID, MESSAGE_TYPE, MESSAGE_NAME, RECIPIENT_ROLE,
STATUS, MAIL_STATUS, FROM_USER, TO_USER
from WF_NOTIFICATIONS
where MESSAGE_TYPE='UMXUPWD'


4. Use the NOTIFICATION_ID from one of the rows returned in the above sql

$FND_TOP/sql/wfmlrdbg.sql

-- This produces an html output file, upload it


Second Action Plan

ACTION PLAN
============

1. Please confirm if you have received any other type of Notifications other than "UMXUPWD"?

2. Change the Log Level for the Workflow Mailer

From OAM, Workflow Manager:
Select "Notification Mailers"
In the "Container" column, select "Workflow Mailer Service"
Select the radio button for the "Workflow Mailer Service" then click on
"Edit".

Under the "Workshifts" section, click on the "Edit Service Parameters"
Button.

Locate the parameter "SVC_CONTAINER_LOG_LEVEL" and set the value to 1.

Example:

SVC_CONTAINER_LOG_LEVEL=1

Click on "OK"
Click on the "Save" button
Acknowledge the change by clicking on "OK" once more.


CHANGE THE WORKFLOW SERVICE CONTAINER TO "STATEMENT" LEVEL LOGGING:

Go back to the "Notification Mailers" section once more by either navigating
from the Workflow Manager page or clicking on the "Service Components" link
on the list of pages visited at the top of the current page.

If not already selected, select the radio button for " Workflow Notification
Mailer" and then click on the Edit button.

Click on "Next" to navigate to the "Details" stop.
Change the log level to STATEMENT.


Click the "Next" button
Click the "Next" button
Click the "Finish" button
Click the "Finish" button



3. Bounce the Workflow Mailer Services

4. Restart the Services

5. Retest sending a Notification ( a few times)

6. Upload the latest logs from $APPLCSF/log//FNDCPGSC#####.txt

7. You can also check what happened to the notification you have sent .

Navigation path in R12 is :-

Workflow : Administrator Workflow -> Notifications and click on the links you see.


Since other users were receiving the emails, we just checked if email is set properly in the system for the user and if his notification preferences are set to HTML .



Tuesday, February 26, 2008

FRM-92102 ERRORS


Error reported was

Users are experiencing FRM-92102:A network error has occurred . The forms client attempted to reestablish its connection to the server 5 time(s) witho
ut success. Please check the network connection and try again.

Reference SR is 6782240.992 ( Leviton Mfg Co )

Please read through Note: 365529.1 Ext/Pub Troubleshooting FRM-92XXX Errors in Oracle Applications:
Please provide feedback on the questions listed in sections:
A. General List of Questions
D. Intermittent or Random Disconnects

These sections gave very good understanding on the problem at hand.

The most important point was timeout settings.
What the following timeout settings are set to:
Timeout Parameters:

FORMS60_TIMEOUT = 120

Heartbeat = 2 in $OA_HTML/bin/appsweb.cfg

Self Service Timeout Profile Options:
ICX: Session Timeout = 30
ICX:Limit Time = 4
ICX:Limit connect = 1000

session.timeout=1800000 (zone.properties in Apache)

So analyst recommended following adjustments

The 'FORMS60_TIMEOUT = 120' should not be set so high. For users that walk away and stay con
nected, this will consume unnecessary resources.
It is recommended that the 'FORMS60_TIMEOUT be set to something like 30 minutes with 60 minutes being about the
max.

Concerning the:
ICX:Limit Time = 4
ICX:Limit connect = 1000


The ICX:Limit Time, controls the total time a session can be logged in. If set to 4 hours,
then after 4 hours the user will get disconnected, regardless of what activity
is being done. Bump this setting up to something like 8 to 10 hours.

The ICX:Limit connect, needs to be bumped up to 2000 +, because each time Session Time is
checked it adds another ICX connection. This IS NOT DETERMEND BY THE NUMBER OF U
SER CONNECTIONS. The more ICX checks its self the more ICX connections you are g
oing to see. Session expiration can also occur when the total number of times th
e session is validated exceeds 'ICX: Limit Connect'.

The above two ICX settings are most likely the source of the errors you are seeing.

So we had to reset above settings and bounce apps.

We had a question about licensing issue as well and analyst said

The 'ICX:Limit Connect' has nothing to do with the number of concurrent users connecting to the a
pplications. Increasing ICX:Limit Connect to 2000+ will NOT voilate your licens
ing with Oracle ( Leviton had only 1000 concurrent user license) .

How to Merge Patches Using admrgpch

You can merge multiple patches into a single patch by using AD Merge Patch.
This AD utility is an executable located in AD_TOP/bin that merges multiple
AutoPatch compatible patches into a single, integrated patch. Once the merge is
complete, you use AutoPatch to apply the resulting patch in a single operation.
Using a merged patch reduces the time it takes to complete the patching process.
The command for merging patches is admrgpch.

AD Merge Patch reads the c.drv, d.drv, and g.drv
for each patch in the source directory and merges them to create a single set
of driver files (for example, cmerge99.drv, dmerge99.drv, and gmerge99.drv) in
the destination directory. It also merges the set of files contained in the
individual patches under the source directory according to file revision and
copies them to the destination directory. If a file exists in more than one
source patch, only the highest revision of the file is copied to the
destination directory.

Complete these steps:
1. Review the readme files carefully.
Some patch readme files contain special instructions for applying merged
patches. The patch may also require manual steps.
2. Create directories.
In the patch top area, create a source directory and a destination directory.
Choose any name for these directories.
3. Unzip patches.
Copy all the patches to be merged into the source directory and unzip them.
4. Run AD Merge Patch.
Run AD Merge Patch and supply the arguments for the destination directory
name and the source directory name. You also need to specify the merged patch
name, or accept the default.
5. Check AD Merge Patch log files.
After AD Merge Patch runs, check the admrgpch.log file for errors. The file
is located in the current working directory (where AD Merge Patch was run).
6. Run the merged patch.
Once a merged patch is created, apply it just like a single patch.

AD Merge Patch cannot merge patches of different releases, different parallel
modes, or different platforms. However, it can merge patches for a specific
platform with a generic patch, or patches with different source character sets.
AD Merge Patch notifies you if you try to merge incompatible patches.

How to change the password for apps username in Oracle 11i

1. Just make sure that your Concurrent Manager is down. There should'nt be any running FNDLIBR process.

2. FNDCPASS apps/apps_old_pwd 0 Y system/system_pwd SYSTEM APPLSYS apps_new_pwd

3. Try new SQLPLUS connection with new apps password.

sqlplus apps/apps_new_pwd

4. Change apps password in the following file.

vi $IAS_ORACLE_HOME/Apache/modplsql/cfg/wdbsvr.app

5. Start the concurrent manager.

Note: Dont ever change oracle applications apps password through SQLPLUS. Always use the above procedure to change apps password.

Applysys account locked

Issue faced :- When applying patch, adpatch was unable to accept apps user password but strangely it was allowing me to login as apps user

Issue Resolution :- Found out that Applsys user accout was locked

select user_name,end_date from applsys.fnd_user where end_date <> null;

update applsys.fnd_user
set end_date = NULL
where user_name = 'APPLSYS';