You are on page 1of 29

Workflow: Scenario 1 User 'SYSADMIN' does not have access to notification

ORA-20002: 3207
--------------------------------------------------------------------------------
Description :

Email Body Contain: ORA-20002: 3207: User 'SYSADMIN' does not have access to
notification
--------------------------------------------------------------------------------
Version:
Oracle Workflow Cartridge - Version: 11.5
This problem can occur on any platform.
OWF H
FND H
ATG H
ATG CU1
ATG CU2
11.5.10
11.5.10 CU1
11.5.10 CU2

--------------------------------------------------------------------------------
Error Messages:

Notifications contain the following in the message body:

Error
ORA-20002: 3207: User 'SYSADMIN' does not have access to notification 76183.
ORA-06512: at "APPS.WF_ADVANCED_WORKLIST", line 82 ORA-06512: at line 1

--------------------------------------------------------------------------------
Cause :

The Workflow System Administrator is assigned to a role (User or Responsibility) that is


not the default SYADMIN user or the Workflow Administrator Web Applications
responsibility. When many other roles are assigned to the Workflow System
Administrator role on the Administration (Global Preferences) page, this error is
generated in the body of emailed Summary Notifications.

--------------------------------------------------------------------------------
Solution :

A. Option #1 (RECOMMENDED):

1. Login to E-Business as the user who can modify the Workflow System Administrator
and navigate:
Workflow Administrator Web Applications > Administration

Then select either the SYSADMIN user or the Workflow Administrator Web Applications
responsibility as the Workflow System Administrator.

2. Send another type of the failing notification and confirm that the issue has been fixed.

NOTE: We highly recommend that the Workflow System Administrator be assigned to


the Workflow Administrator Web Applications responsibility. This allows the assignment
of this responsibility with its administrator menu items to users within your organization
that are responsible for administering workflow.

B. Option #2:

1. Login to E-Business as the user who can modify the Workflow System Administrator
and navigate:

Workflow Administrator Web Applications > Administration

Then select your user or responsibility as the Workflow System Administrator.

2. Change the Workflow Mailer Framework User parameter from FND_USER.USER_ID


= 0 to the USER_ID of the Workflow System Administrator user or to a user that is
assigned to the responsibility you assigned as Workflow System Administrator.

a. Obtain the FND_USER.USER_ID:

select user_id, user_name from fnd_user where user_name=upper('<name>');

b. Run $FND_TOP/sql/afsvcpup.sql to change the Framework User parameter under the


Workflow Notification Mailer Component ID to the selected user_id.

c. Shutdown and restart the Workflow Mailer Service.

3. Send another type of the failing notification and confirm that the issue has been fixed.

--------------------------------------------------------------------------------
References :

Note 344936.1

Workflow: Scenario 2 Notification Mailer Does Not Start, remains In status Starting
Describe Scenario 2 Notification Mailer Does Not Start, remains In status Starting here.
Description :

Agent Listeners Will Not Start, Stuck in Deactivating Status, Notification Mailer is
Down.

--------------------------------------------------------------------------------

Versions :

Oracle Workflow Cartridge - Version: 11.5.9


This problem can occur on any platform.
Java Mailer 11.5.9 or higher
OWF.G 2728236 or higher

--------------------------------------------------------------------------------

Error Messages:

Workflow agent listeners will not start. When viewed via the Oracle Applications
Manager (OAM) the service components are stuck in a transitional status: starting,
stopping, deactivating, terminating and never move to the final phase: started,
deactivated or terminated. This in turn prevents the notification mailer from starting up.

Often the Target and Actual processes will be asymmetrical: 1 and 0.

--------------------------------------------------------------------------------

Cause:

If the ICM or the Service container is shut down while the mailer is still running, this
may cause dead processes, which could prevent the container from restarting.

--------------------------------------------------------------------------------
Solution :

Procedure A
==========
1. Logon to OAM / workflow manager / service components and click the link to the
component container.
2. The actual and target processes on the containers should be symmetrical, that is, 1 and
1. Sometimes they're stuck with 1 and 0, which is bad.

3. Stop the containers. The status should move to deactivating and then to deactivated.
If they stay in deactivating for more than a few minutes then abort the container. the
status will move from terminating to terminated.

4. Once the status is terminated then restart the containers. Wait a few minutes to see if
the processes come up symmetrically (1 and 1) then check the listener status.

5. If the listeners still do not come up then go to procedure B.

Procedure B
==========
This takes the place of the old cmclean.sql scripts

1. Logon to OAM. in the new User Interface go to blue diagnostic tab.


On the right side there is a troubleshooting wizard box.

2. Click concurrent manager recovery Wizard.


The Internal Concurrent Manager (ICM) should be stopped when running this.

3. If your OAM User Interface isn't the same or if you have problems then use the
Help/Search screen to locate the Concurrent Manager Recovery Wizard. The location of
this wizard changes almost with every new version of OAM.

NOTE: The recovery wizard and cmclean.sql only works if there are no orphan java
processes at the OS level. They need to be killed. This works on Linux for find the
Workflow Service processes ps -ef|grep -i FNDCPGSC*.

--------------------------------------------------------------------------------
References :

Note 335652.1

Workflow: Scenario 3 Notifications With Embedded Framework Regions - Not mailed or


sent
Scenario 3: Notifications With Embedded Framework Regions Are Not Mailed or Sent

java.net.ConnectException?: Connection refused


--------------------------------------------------------------------------------

Description :

Notifications with embedded framework regions are not mailed or sent out. Other non-
framework notifications are mailed. So far, this has been observed in REQAPPRV
notifications, but this is not limited to this type of notification.

--------------------------------------------------------------------------------

Versions :

Oracle Workflow Cartridge - Version: 11.5.10 This problem can occur on any platform.
REQAPPRV notifications Any notification type with an embedded framework region
OWF.H 3258819

--------------------------------------------------------------------------------

Error Messages:

The only hint of an error may appear in the listener log file
(APPLCSF/logs/FNDCPGxxxxxx.txt) where you may see a ?http connection refused?
message such as this:

UNEXPECTED:[SVC-GSM-WFMLRSVC-28875-10006 :

oracle.apps.fnd.wf.mailer.NotificationFormatter.getFormattedMessages()

Problem getting the HTML content ->


oracle.apps.fnd.wf.mailer.NotificationFormatter$FormatterSAXException?: Problem
obtaining the HTML content -> oracle.apps.fnd.wf.common.HTTPClientException?:
Unable to invoke method HTTPClient.HTTPConnection.Get caused by:
java.net.ConnectException?: Connection refused

And the java mailer may also go down.

--------------------------------------------------------------------------------

Cause :
As was documented in the ?About OWF.H? note 258312.1, outbound notifications with
embedded framework regions require a physical web server address with a port in either
of these two profile options:

Application Framework Agent profile option (APPS_FRAMEWORK_AGENT) WF:


Workflow Mailer Framework Web Agent profile option (WF_MAIL_WEB_AGENT).

The WF_MAIL_WEB_AGENT, if not set, will default to the value of


APPS_FRAMEWORK_AGENT. If this value is a virtual address (like BigIP), or a load
balancing machine then these notifications will sit in the wf_notification_out queue and
will not be mailed. Some notifications, such as POAPPROV will be mailed, but the ones
with framework regions, such as REQAPPRV will not. You will not see errors on these
notifications if you run item based diagnostics.

--------------------------------------------------------------------------------

Solution :

The solution is to set profile WF: Workflow Mailer Framework Web Agent to a non
virtual specific machine name and port number.

Steps

1. Update the value for WF_MAIL_WEB_AGENT

If the customer environment has OWF.H installed and load balancing server like BigIP
configured, then update the value for WF_MAIL_WEB_AGENT in profile.

1.1 Check OWF.H installed in the customer environment. a. Run the following sql query
as APPS user

select BUG_NUMBER "BUG Number and Version",decode(bug_number,3258819, 'Post


11i OWF.H Patchset Note 258312.1 afwfds.odf v115.40 wfengb.pls v115.174 ') from
AD_BUGS b where b.BUG_NUMBER in('3258819');

If the above sql query returns the following output means OWF.H installed in customer
environment.

BUG Number and Version

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
DECODE(BUG_NUMBER,3258819,'POST11IOWF.HPATCHSETNOTE258312.1AFW
FDS.ODFV115.40W

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------

3258819 Post 11i OWF.H Patchset Note 258312.1 afwfds.odf v115.40 wfengb.pls
v115.174

b. If OWF.H is not installed, then you can skip the steps 1.2, 1.3 and 1.4

1.2 Check Load Balancing Server configured:

Run the following queries to make sure that the Load Balancing Server is being used:

select PROFILE_OPTION_VALUE from fnd_profile_option_values,


fnd_profile_options where
fnd_profile_option_values.PROFILE_OPTION_ID=fnd_profile_options.PROFILE_OPT
ION_ID and
fnd_profile_options.PROFILE_OPTION_NAME='WF_MAIL_WEB_AGENT' and
level_id=10001;

If the above queries return a BigIP URL, then you need to perform steps 1.3 and 1.4. The
following helps in determining whether it is a BigIP URL or not:

A non BigIP URL has ?http? in it and points to one of physical machine addresses of mid-
tier where Apache is running. A valid URL looks like the following:

http://auohsXXXX.oracleoutsourcing.com:12715://

Whereas a BigIP URL usually has ?https? and/or port 443 in it.

1.3 Once you confirmed that the customer environment has the OWF.H installed and load
balancing server(BigIP) is configured, then run the update_profile.sql in Apps MidTier?
to update WF_MAIL_WEB_AGENT profile option.

update_profile.sql will prompt you to enter the URL for WF_MAIL_WEB_AGENT


Enter the non-ssl physical webserver name with port number for both the profile options.
For example,

Sample output of update_profile.sql

From Apps MidTier?,


$sqlplus apps/<passwd>

SQL> @update_profile.sql

TODAY

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------

0511250741

Enter value for url_for_wf_mail_web_agent: http://lnxdell6.us.oracle.com:19515


Updated profile option value - 1 row(s) updated Application Id : 0 Profile Name :
WF_MAIL_WEB_AGENT Level Id : 10001 New Value :
http://lnxdell6.us.oracle.com:19000 Old Value : https://lnxdell5.us.oracle.com:19515
PL/SQL procedure successfully completed. Commit complete.

Here :http://lnxdell6.us.oracle.com is non-ssl physical webserver name 19000 is port


number of Apache web server.

Note: update_profile.sql script is part of 4693677.zip

1.4 Follow the given steps to rebuild the mailer queue(WF_NOTIFICATION_OUT).

a. Stop the mailer, listeners and service compoment container in that order using OAM

b. Run the following sql scripts in MidTier? from SQL prompt as apps user.

SQL>@$FND_TOP/sql/wfntfqup.sql APPS <APPS passwd> APPLSYS

Ensure that this index is in place:

SQL> select index_name,column_name,column_position from dba_ind_columns where


table_name='WF_NOTIFICATION_OUT' and table_owner='APPLSYS'

Look for WF_NOTIFICATION_OUT_N1 CORRID

If it?s not there you can add it back using

SQL>@$FND_TOP/patch/115/sql/wfqidxc.sql APPLSYS APPS <TableSpace?>

First check to see if $FND_TOP/patch/115/sql/wfqidxc2.sql is present and if yes use that


instead.
The index tablespace can be determined by running the following sql command

select tablespace_name, index_name from dba_indexes where index_name like 'WF_


%_N1';

Look for tablespace for indexes WF_DEFERRED_N1 and


WF_NOTIFICATION_OUT_N1

c. Start Workflow Mailer and Agent Listener service via OAM

Workflow: Scenario 4 Workflow Mailer Fails Sending Plain text with HTML
Attachments Notifications
Users with their notification preference set to Plain text mail with HTML
attachments (MAILATTCH) do not receive emailed notifications
--------------------------------------------------------------------------------

Error :
JAVA.LANG.STACKOVERFLOWERROR
JAVA.LANG.NULLPOINTEREXCEPTION
JAVA.NET.SOCKETEXCEPTION
--------------------------------------------------------------------------------

Versions :

Applies to:
Oracle Workflow Cartridge - Version: 11.5.10
This problem can occur on any platform.
ATG H
OWF H
11.5.10
ATG CU1
11.5.10 E-BUS CU1

--------------------------------------------------------------------------------

Users with their notification preference set to Plain text mail with HTML attachments
(MAILATTCH) do not receive emailed notifications. The following errors are in the
Workflow Mailer log:

fnd.wf.mailer.URLMIMETagListener?:oracle.apps.fnd.wf.mailer.URLMIMETagListener
?.tagFound(HTMLTagEvent?) TAG {<META name="fwk-error-detail"
content="oracle.apps.fnd.framework.OAException: java.lang.NullPointerException?
at oracle.apps.fnd.framework.OAException.wrapperException(OAException.java:888)
at
oracle.apps.fnd.framework.webui.OAPageErrorHandler?.prepareException(OAPageError
Handler?.java:1139)
at
oracle.apps.fnd.framework.webui.OAPageBean?.renderDocument(OAPageBean?.java:26
41)
at
oracle.apps.fnd.framework.webui.OAPageBean?.renderDocument(OAPageBean?.java:24
49)
at _oahtml._OA._jspService(_OA.java:105)
at oracle.jsp.runtime.HttpJsp.service(HttpJsp.java:119)
at oracle.jsp.app.JspApplication.dispatchRequest(JspApplication.java:417)
at oracle.jsp.JspServlet.doDispatch(JspServlet.java:267)
at oracle.jsp.JspServlet.internalService(JspServlet.java:186)
at oracle.jsp.JspServlet.service(JspServlet.java:156)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:588)
at oracle.jsp.provider.Jsp20RequestDispatcher.forward(Jsp20RequestDispatcher.java:162)
at oracle.jsp.runtime.OraclePageContext.forward(OraclePageContext.java:187)
at _oahtml._OA._jspService(_OA.java:98)
at oracle.jsp.runtime.HttpJsp?.service(HttpJsp?.java:119)
at oracle.jsp.app.JspApplication?.dispatchRequest(JspApplication?.java:417)
at oracle.jsp.JspServlet?.doDispatch(JspServlet?.java:267)
at oracle.jsp.JspServlet?.internalService(JspServlet?.java:186)
at oracle.jsp.JspServlet?.service(JspServlet?.java:156)
at javax.servlet.http.HttpServlet?.service(HttpServlet?.java:588)
at org.apache.jserv.JServConnection?.processRequest(JServConnection?.java:456)
at org.apache.jserv.JServConnection?.run(JServConnection?.java:294)
at java.lang.Thread.run(Thread.java:534)
## Detail 0 ##
java.lang.NullPointerException?
at
oracle.apps.fnd.framework.webui.laf.text.TableRenderer?._getColumnHeaderData?
(TableRenderer?.java:300)
at
oracle.apps.fnd.framework.webui.laf.text.TableRenderer?.renderContent(TableRenderer?.
java:71)
at oracle.cabo.ui.BaseRenderer?.render(Unknown Source)
UNEXPECTED:[SVC-GSM-WFMLRSVC-18366-10006 :
oracle.apps.fnd.cp.gsc.Processor.run():An unexpected RuntimeException? or Throwable
occurred ->
java.lang.StackOverflowError?

--------------------------------------------------------------------------------

Cause :
The issue is caused by Bug:4435132

When emails are sent in plain text mode, if the email content contains an
OAAdvancedTableBean?, then the Java Mailer fails with a StackOverflowError? which is
due to an internal NullPointerException? (NPE) thrown by the OA Framework. The NPE
occurs at the following location:

java.lang.NullPointerException? at
oracle.apps.fnd.framework.webui.laf.text.TableRenderer?._getColumnHeaderData?
(TableRenderer?.java:300)

--------------------------------------------------------------------------------
Solution :

1. Workaround:

Login to E-Business as the affected user and use the Preferences link at the top of the
screen to change your Email Style to HTML Mail or HTML Mail with attachments.

2. Code fix:

Apply Patch:4435132

--------------------------------------------------------------------------------
Reference :

Bug 4142597 - Java Mailer Gets Stopped With Error Java.Net.Socketexception


Bug 4189990 - Java.Lang.Stackoverflowerror
Bug 4410855 - Npe While Rendering Advanced Table In Text Laf
Bug 4435132 - Npe While Rendering Advanced Table In Text Laf

Workflow: Scenario 5 Notification Style Defaults To Do Not Send Me Mail in Home


Page Preferences
Describe Scenario 5 Notification Style Defaults To Do Not Send Me Mail in Home Page
Preferences here.

Problems sending emails with Plain text with HTML attachments


--------------------------------------------------------------------------------

Description :
Notification email style preferences defaults to "do not send mail" eventhough the
Notificiation Style is set to a different value in Workflow Global Preference e.g. "Plain
text with HTML attachments."

Therefore users can inadvertently commit the 'Do Not Send Me Mail' notification style
when changing other preferences fields.

This affects new and existing users.


--------------------------------------------------------------------------------
Versions :
--------------------------------------------------------------------------------

Steps to reproduce:

1. Created new user John as an employee with an email address.


2. Navigate Framework Personal Home Page in 11.5.10 -> Preferences. The notification
preference is 'Do Not Send Me Mail' by default.

3. Navigate to Workflow Global Preferences. In this example, the notification style is


SUMMARY.
4. Run queries in SQL*Plus:
select PREFERENCE_VALUE from FND_USER_PREFERENCES
where USER_NAME in ('JOHN','-WF_DEFAULT-') and MODULE_NAME='WF' and
PREFERENCE_NAME='MAILTYPE' ;

- no rows return for user JOHN in fnd_user_preferences


- mail type is SUMMARY for user '-WF_DEFAULT-'
- Notification Style = SUMMARY in table wf_local_roles for user John
5. Select 'Apply' in Framework PHP -> Preferences without making any changes.
6. Notice that the Notification Style now shows as 'QUERY' for user John when querying
fnd_user_preferences.
--------------------------------------------------------------------------------

Cause :

Email style in General Preferences page is required item in the Oracle Applications
11.5.10 however OA Framework preference page is not aware of the default Notification
Style for Workflow Mailer. This issue is raised in bug 4234372.

--------------------------------------------------------------------------------
Solution :

The fix to bug 4234372 is scheduled to be fixed in Patch 4125550 '11.5.10 Consolidated
Update (CU2) for ATG Product Family.'
One-off Patch 4292220 has been released for customers who apply Patch 4017300
'11.5.10 Consolidated Update (CU1) for ATG Product Family.'

This issue is fixed in the following FND file versions:

java/preferences/server/PreferencesVORowImpl?.java 115.21
java/preferences/server/PreferencesVO.xml 115.13
java/preferences/webui/PreferencesPage?CO.java 115.52
mds/preferences/webui/PreferencesPG.xml 115.26

The change in behaviour is that OA Framework 11.5.10 preferences page has the
following behaviour:
1. It detects the default email style when the user did not make specific choice.
2. It does not save when user does not make specific choice.
3. It adds a blank value to the choices for users to reset to default.
--------------------------------------------------------------------------------
References :

Bug 4234372 - Notif Email Style Defaults Do Not Send Me Mail After 11.5.10 Upgrade
Bug 4292220 - Request One-Off For Bug 4234372 On 11.5.10.1cu

Workflow: Scenario 6 ORA-06512: At Fnd_svc_comp_param_vals_pkg When


Configuring Java Mailer
Error

ORA-06512 "at %sline %s"

--------------------------------------------------------------------------------

Symptoms

Unable to Edit the Java Mailer parameters as the following error appears

This record has already been updated by another user. Please re-query and try again.
ORA-06512: at "APPS.FND_SVC_COMP_PARAM_VALS_PKG", line 288 ORA-
06512: at line 1

Navigation : OAM->Application dashbord->workflow manager- Notification mailer>edit

--------------------------------------------------------------------------------

Error Messages

ORA-06512 "at %sline %s"


--------------------------------------------------------------------------------

Cause:

The Workflow Mailer Service row has become invalid

--------------------------------------------------------------------------------

Solution :*
Here are the instructions to solve the problem:

Connect to Oracle Applications Manager with SYSADMIN


On your left you will see a drop-down list called Navigate to; select Workflow manager
and then Go
Click on the check mark next to the 'Notification Mailers'.
On the new screen there are various buttons and, among them, Create.
Click on it and follow the instructions.

Workflow: Scenario 7 Did not receive any control events


Describe Scenario 7 Did not receive any control events here.

Description :
Mailer log shows

SVC-GSM-WFALSNRSVC-695493 :
oracle.apps.fnd.cp.gsc.Processor.processControlEvent?(String)]:Did not receive any
control events.

--------------------------------------------------------------------------------

Cause :

There are Workflow related events subscribed to the wrong Business Event System. To
confirm this is the problem the following query can be used. If there are rows returned
then it means that there are incorrect event subscriptions:

select name, status from wf_events


where guid in (select event_filter_guid from wf_event_subscriptions where
system_guid <> wf_core.translate('WF_SYSTEM_GUID'));

Alternatively, the following steps can help to find those incorrect subscriptions:
- Connect to Applications and select the Workflow Administrator Web Applications
responsibility
- Click on Business Events (right panel)
- Click on Subscriptions sub-tab
- Perform a search using the Systems that are not the current one. There might be multiple
nodes, but only one is to be correct (as far as Workflow is concern). Look for those
subscriptions in those incorrect systems to confirm this is the case.

--------------------------------------------------------------------------------

Solution :

To implement this fix, please proceed as follows:

1. Backup the wf_event_subscriptions table:

create table wf_event_subscriptions_bkup


as select * from wf_event_subscriptions;

2. Update the table to have the right system guid:

update wf_event_subscriptions set system_guid =


wf_core.translate('WF_SYSTEM_GUID')
where system_guid <> wf_core.translate('WF_SYSTEM_GUID')

Commit;

3. The mailer should start up

--------------------------------------------------------------------------------
References :
Bug 3413090 - Workflow Mailer And Agent Listener Services Staying In Starting Status

Workflow: Scenario 8 Users unable to monitor the workflow. Only sysadmin can!

The workflow administrator is set to SYSADMIN which does not allow view
all workflows submitted by other users using the status monitor. Need
to change this in a way so that users can see the status of workflow
using monitoring facility. First compare with the another instance where
PMP is performed (or if it is first PMPd instance, than use the PROD instance).

SQL> select text from wf_resources where name='WF_ADMIN_ROLE';

TEXT
SYSADMIN
Once compared, update the value to match the instance where customer does
not have any issues. Even after the above, if issue still persists use the
following update statement and hopefully would resolve the issue.

SQL> update wf_resources set text='*' where name ='WF_ADMIN_ROLE';


1 row updated.

SQL> commit;
Commit complete.

Workflow: Scenario 9 ORA-24026: operation failed, queue APPLSYS.WF_CONTROL


has errors
Issue The workflow mailer does not run because of errors in the log file

ORA-20002: 3825: Error '-24026 - ORA-24026: operation failed, queue


APPLSYS.WF_CONTROL has
errors' encountered during execution of 'WF_RULE.ERROR_RULE' for event
'oracle.apps.fnd.cp.gsc.SvcComponent?.start'.
FUNCTION_NAME=WF_EVENT_OJMSTEXT_QH.enqueue()

--------------------------------------------------------------------------------

Cause :
Either the queue WF_CONTROL or its data is corrupted, probably due to the
change of the IMAP/SMTPserver settings.

Since the WF_CONTROL queue is used by the notification mailer to hold runtime
data, and it is not valid, the mailer will not be able to start up
--------------------------------------------------------------------------------

Error Messages:

ORA-20002
ORA-24026 operation failed, queue %s.%s has errors

--------------------------------------------------------------------------------
Solution :
1. Stop Workflow Agent listeners

2. Run the following:


$ cd $FND_TOP/patch/115/sql
$ sqlplus APPS/<passwd> @wfctqrec.sql APPLSYS <passwd>

3. Grant required privileges:


$ sqlplus apps/passwd @afwfqgnt.sql APPS <passwd> APPLSYS <passwd>
Note: APPLSYS password is the same as APPS.

4. Start Workflow Agent listeners.

The Workflow mailer should start now

Hint: to make sure the WF_CONTROL queue was created successfully,


the Concurrent request 'Workflow Control Queue Cleanup' should
run without errors.

Workflow: Scenario 10 WorkFlow Status view Diagram Link Error


Describe Scenario 10 WorkFlow Status view Diagram Link Error here.

This solution may work for a range of scenarios where the Diagram is not showing.

Instead of using BiGIP URL for example


https://mayappstest.johnihaas.com:443/dev60cgi/f60cgi

for the ICX:Forms Launcher profile

try the following http://hostname.oracleoutsourcing.com:port/dev60cgi/f60cgi -

bounce apache server.

Describe Good Metalink Notes about Workflow here.

note 332152.1 - OWF H Diagnostics and Solutions

note 177250.1 - Troubleshooting Generic Service Manager Problems

note 165195.1 - Using AutoConfig to Manage System Configurations with Oracle


Applications 11i

note 225947.1 - About Oracle Workflow Mini-pack 11i.OWF.G

note 246105.1 - Upgrading to J2SE 1.4.2 with Oracle Applications 11i

note 130091.1 - Upgrading to JDK 1.3 with Oracle Applications 11i

note 204090.1 - Generic Service Management

note 242941.1 - How to Troubleshoot Java-based Workflow Notification Mailer in 11.5.9


and OWF.G
note 268274.1 - How To Configure The Workflow Java Mailer Without An IMAP
Account (Assumes No Inbound Processing)

note 231286.1 - Configuring the Oracle Workflow 2.6 Java-based Notification Mailer
with Oracle Applications 11i

note 260601.1 - How To Clean Old Wferror Item Type In Workflow

note 315972.1 - Workflow Purge Does Not Remove Records From


WF_ITEM_ACTIVITY

note 418069.1 - ACCEPT button is not Working when Creating a New Agent Listener

note 297548.1 - How To to Purge the WF_ERROR (or WF_DEFERRED) Tables

note 272067.1 - Many Notifications For 'Local Event ERROR :


oracle.apps.fnd.system.metrics' With Workflow Java Mailer

Workflow: Workflow issues diagnostics Steps

Java Mailer Diagnostics Instructions OHS:

1. Run CCB 187 Workorder test


cd /autofs/upgrade/pmp/autoverify/autoverify-latest
./autoveri.sh workflows/operations/ohsoap_ccb187_app_chk.txt

2. Run the latest Java Mailer Diagnostics Test.

2.1 If Support diagnostics is installed, this scripts would be in $IZU_TOP/bin.


Go to $IZU_TOP/bin and run ./WFJavaMailerSetup?115.sh

2.2 If Support diagnostics is not installed, simply download and unzip patch 5679259
(p5679259_11i_GENERIC.zip)

Change directory to 5679259/izu/bin and run ./WFJavaMailerSetup?115.sh

The wf java mailer for OHS customers should be the same as the wf account
userid. wfsid/wdsid.

Enter the script parameters:

APPS Username * ==> apps


APPS Password (the value will not be visible) * ==>
Inbound Mail Account Username (e.g. First.Last) ==>
Inbound Mail Account Password (the value will not be visible) ==>
Inbound Mail Server (e.g. myhost.mydomain) ==>
Outbound Mail Server (e.g. myhost2.mydomain) ==>
Reply Address for the Outbound Notifications ==>

NOTE: Following query will give you requested parameter values requested by the
diagnstic script:

column PARAMETER_NAME format a15


column PARAMETER_VALUE format a35
select p.parameter_id,
p.parameter_name,
v.parameter_value, c.component_id
from apps.fnd_svc_comp_param_vals_v v,
apps.fnd_svc_comp_params_b p,
apps.fnd_svc_components c
where c.component_type = 'WF_MAILER'
and v.component_id = c.component_id
and v.parameter_id = p.parameter_id
and p.parameter_name in ('ACCOUNT', 'REPLYTO', 'OUTBOUND_SERVER',
'INBOUND_SERVER') order by c.component_id, p.parameter_name;

2.3 The output would be stored at $IZU_TOP/bin/out/WFJavaMailerSetup?


115_xxxx.tar.Z

2.4 gunzip $IZU_TOP/bin/out/WFJavaMailerSetup?115_xxxx.tar.Z and use tar xvf to


extract the .tar file and go through
each extracted file like below

WFJavaMailerSetup?115_xxxx_folderlist.txt --> List of IMAP/SMTP folders


WFJavaMailerSetup?115_xxxx_smtpout.txt --> Output for SMTP connection test
WFJavaMailerSetup?115_xxxx_wfver_sql.txt --> WF DB objects, versions, status
WFJavaMailerSetup?115_xxxx_TDTE1I_1113.mgr
WFJavaMailerSetup?115_xxxx_FNDSM237445.mgr
WFJavaMailerSetup?115_xxxx_FNDSM210152.mgr
WFJavaMailerSetup?115_xxxx_FNDCPGSC237451.txt --> Latest WF log file
WFJavaMailerSetup?115_xxxx_FNDCPGSC237467.txt --> Latest WF log file
WFJavaMailerSetup?115_xxxx_diag.txt --> Main diagnostics output

3. Check this section in WFJavaMailerSetup?115_xxxx_diag.txt

Parameters in Table FND_SVC_COMP_PARAM_VALS


Inbound mail server (INBOUND_SERVER) = 'auohsalse06.oracleoutsourcing.com'
Protocol to be used for inbound response emails (INBOUND_PROTOCOL) =
'imap'
Inbound thread count (PROCESSOR_IN_THREAD_COUNT) = '1'
Inbound mail account username (ACCOUNT) = 'wfpalsei'
Password of mail account (INBOUND_PASSWORD) = '********'
Inbox folder on the inbound server (INBOX) = 'INBOX'
Discard folder on the inbound server (DISCARD) = 'discard'
Process folder on the inbound server (PROCESS) = 'process'
Outbound mail server (OUTBOUND_SERVER) =
'auohsalse06.oracleoutsourcing.com'
Protocol to be used for outbound notifications (OUTBOUND_PROTOCOL) =
'smtp'
Outbound thread count (PROCESSOR_OUT_THREAD_COUNT) = '1'
Reply to address for the outbound notifications (REPLYTO) =
'wfpalsei@AtOracle?.com'

Verify all the pamameter values are correct


Make sure both Inbound and Outbound thread count both set to 1
(Unless we do not want to set the inbound processing, in that case
Inbound thread count = 0)

4. Check WFJavaMailerSetup?115_xxxx_wfver_sql.txt
4.1 If you see any invalid queue, do this to validate a single queue

SQL> execute dbms_aqadm_syscalls.kwqa_3gl_validatequeue


('APPLSYS','WF_JMS_OUT','WF_JMS_OUT');

and you should do this FIRST. then run wfver.sql again to doublecheck that
it is valid. Make sure you stop the mailer , listeners and service containers first.

4.2 If youe see any expired notifications, rebuild the WF_NOTIFICATION_OUT


QUEUE

5. Telnet connectivity to IMAP and SMTP server using command line

Workflow: Rebuild WF_NOTIFICATION_OUT Queue


Procedure to rebuild the WF_NOTIFICATION_OUT QUEUE
----------------------------------------------
1. Stop the mailer, listeners and service compoment container in that order.
2. Run the following to re-enqueue the oracle.apps.wf.notification.% events.

Check first that you have wfntfqup.sql 115.8


sqlplus usr/passwd@db @$FND_TOP/patch/115/sql/wfntfqup APPSusr APPSpw
FNDusr.

Example Syntax:
sqlplus apps/apps @$FND_TOP/patch/115/sql/wfntfqup APPS apps APPLSYS
3. Ensure that this index is in place, by running

SQL> select index_name,column_name,column_position


from dba_ind_columns
where table_name='WF_NOTIFICATION_OUT' and table_owner='APPLSYS'

INDEX_NAME COLUMN_NAME
------------------------- -------
WF_NOTIFICATION_OUT_N1 CORRID

Go to step 4 if the index is not there else go to step 5

4. If it?s not there then it can be added back using $FND_TOP/sql/wfqidxc.sql.


First check to see if $FND_TOP/patch/115/sql/wfqidxc2.sql is present and
if yes use that instead.

sqlplus usr/passwd@db @$FND_TOP/patch/115/sql/wfqidxc2 FNDusr FNDpwd


tablespace_name

Example Syntax:
sqlplus apps/apps @$FND_TOP/patch/115/sql/wfqidxc2 APPLSYS APPS
APPS_TS_QUEUES

Note: The index tablespace ( we put in example APPS_TS_QUEUES) can be determined


by
running the following select.

SQL> select tablespace_name, index_name from dba_indexes where index_name like


'WF_%_N1';

Look for tablespace for indexes WF_DEFERRED_N1 and


WF_NOTIFICATION_OUT_N1

5. Restart the container, listeners and mailer in that order.

Workflow: SQL to get WF parameter values


1. WF mailer parameters and values

SQL> column PARAMETER_NAME format a15

SQL> column PARAMETER_VALUE format a35


SQL> select p.parameter_id,p.parameter_name,v.parameter_value,
c.component_id,C.COMPONENT_NAME from fnd_svc_comp_param_vals_v v,
fnd_svc_comp_params_b p, fnd_svc_components c where p.parameter_name in
('ACCOUNT','INBOUND_SERVER','OUTBOUND_SERVER','REPLYTO','INBOX','DI
SCARD','PROCESS','PROCESSOR_READ_TIMEOUT_CLOSE','AUTOCLOSE_FYI','
RESET_NLS','COMPONENT_LOG_LEVEL','EXPUNGE_ON_CLOSE') and
v.component_id = c.component_id and v.parameter_id = p.parameter_id and
c.component_id in (select COMPONENT_ID from fnd_svc_components where
c.component_type = 'WF_MAILER') order by c.component_id, p.parameter_name;

--------------------------------------------------------------------------------

2. Message state

SQL> select tab.msg_state, count(*) from applsys.aq$wf_notification_out tab group by


tab.msg_state;

Workflow: Schedule bounce of Workflow Mailer


Scheduled Automatic bounce of WF mailer
Sign on to OAM and navigate to Applications System > <instance name> > Workflow >
Service Components

Edit the Workflow Notification Mailer component to regularly restart. Ensure that the
Workflow Notification Mailer is selected and click on edit. If available, click on the
Advanced button to get to the "Define" configuration stop.

Navigate to the Schedule Events page Click on Next until the Schedule page is reached.

Add a schedule event to restart the mailer

Click on "Add another Row"

Click on the flash light to search for possible events.

Choose the "Stop" event and click on Accept.

Set a submit date for "today" (ie choose the current date from the calendar).

Set a submit time (choose 01:00,midnight is the default)

Set the interval for the number of minutes (1440 suffice stop issued once everyday, 10080
would suffice stop issued once every seven days).

Click on "Add another Row"


Click on the flash light to search for possible events.

Choose the "Start" event and click on Accept.

Set a submit date for "today" (ie choose the current date from the calendar).

Set a submit time (choose 01:05, midnight is the default)

Set the interval for the number of minutes (1440 suffice start issued once everyday, 10080
would suffice start issued once every seven days).

Click "Finish" button

--------------------------------------------------------------------------------

The following was part of the metalink note for auto start stop, but its seen that this does
not have much impact on autobounce.

--------------------------------------------------------------------------------

Set the profile options to a high enough value so as not to time out (Not sure if its really
required though) Set the profile values for the SYSADMIN user (The default mailer user)
or the framework mailer user (In this case it would be preferred to have a separate Mailer
user for this workaround), to the following values:

ICX Session timeout (ICX_SESSION_TIMEOUT) 12000

ICX Limit time (ICX_LIMIT_TIME) 192

ICX Limit connect (ICX_LIMIT_CONNECT) 1000000

The objective of the work around is to set the ICX profile options so that the session does
not time out within a week and to have the mailer stop and start once a week. A smaller
frequency could also be used i.e. Once per day or once per every other day. The ICX
profile options should be adjusted to suit.

It is not recommended to make these profile value changes at the site level. They should
be done at the mailer frame work user level. The default user is SYSADMIN but a new
mailer user could be created and the profile options set for that user only. The user needs
to be configured in the mailer configuration parameters as the FRAMEWORK_USER
and the user must also have a responsibility that is listed as the Workflow Administrator
Role. The Workflow Administrator Role is configured under the Workflow Administrator
Web Applications responsibility, under the Administration menu link.
Workflow: Verify SMTP and IMAP server configuration (Manual,Automatic)
Important: These tests must be run from the concurrent processing tier where the
Java Mailer is running.

Manual verification

a) Verify SMTP Server: In this example, crmops02.us.oracle.com is the SMTP server


running on the default port 25, and ap102ses.us.oracle.com is the server where
the Java Mailer(concurrent processing tier) runs. Wfuser is the mail account used
by the Java Mailer. myemail@oracle.com is a valid email address to receive email
from the Java Mailer.

%% telnet crmops02.us.oracle.com 25

Trying 144.25.76.117...
Connected to crmops02.us.oracle.com.
Escape character is '^]'.
220 crmops02.us.oracle.com ESMTP Sendmail 8.9.3 (PHNE_18546)/8.7.1; Fri, 31 Jan
2003 05:56:18 -0800 (PST)

%% EHLO ap102ses.us.oracle.com

250-crmops02.us.oracle.com Hello ap102ses.us.oracle.com 144.25.76.44


(may be forged), pleased to meet you

250-EXPN
250-VERB
250-8BITMIME
250-SIZE
250-DSN
250-ONEX
250-ETRN
250-XUSR
250 HELP
%% MAIL FROM: wfuser@crmops02.us.oracle.com
250 wfuser@crmops02.us.oracle.com... Sender ok
%% RCPT TO: myemail@oracle.com
250 myemail@oracle.com... Recipient ok
%% DATA
354 Enter mail, end with "." on a line by itself
%% Subject: Test message via CRMOPS2
%%
%% Test message body
%% .
250 FAA17833 Message accepted for delivery
%% quit
221 crmops02.us.oracle.com closing connection
Connection closed by foreign host.

Verify that myemail@oracle.com receives an email from


wfuser01@crmops02.us.oracle.com. If not, then the SMTP server is not
configured properly. Please contact the SMTP System Administrator to
correct the problem.

b) Verify IMAP server: In this example, ap700lts.us.oracle.com is the


IMAP server running on the default port 143. Each IMAP4 command must start
with a number/character, and it does not matter if you use the same number/
character for all the commands. Spaces are important and multiple spaces/
tabs are not allowed. For each successful command completion the server
ends the response by "n OK ....". If a command fails then the failure
reason is printed.

%% telnet ap700lts.us.oracle.com 143


Trying 130.35.81.214...
Connected to ap700lts.us.oracle.com.
Escape character is '^]'.
* OK Domino IMAP4 Server Release 5.0.11 ready Sun, 23 Nov 2003 10:26:49 -0800
%% 1 login wfuser welcome
1 OK LOGIN completed
%% 1 select "INBOX"
* 23 EXISTS
* 0 RECENT
* OK UIDVALIDITY 0 UIDs valid
* FLAGS (\Flagged \Seen \Answered \Deleted \Draft)
* OK PERMANENTFLAGS (\Flagged \Seen \Answered \Deleted \Draft) Permanent
flags
1 OK READ-WRITE SELECT completed
%% 1 select "DISCARD"
* 54 EXISTS
* 0 RECENT
* OK UIDVALIDITY 6 UIDs valid
* FLAGS (\Flagged \Seen \Answered \Deleted \Draft)
* OK PERMANENTFLAGS (\Flagged \Seen \Answered \Deleted \Draft) Permanent
flags
1 OK READ-WRITE SELECT completed
%% 1 select "PROCESSED"
* 58 EXISTS
* 0 RECENT
* OK UIDVALIDITY 4 UIDs valid
* FLAGS (\Flagged \Seen \Answered \Deleted \Draft)
* OK PERMANENTFLAGS (\Flagged \Seen \Answered \Deleted \Draft) Permanent
flags
1 OK READ-WRITE SELECT completed
%% 1 logout
* BYE ap700lts.us.oracle.com IMAP4rev1 server terminating connection
1 OK LOGOUT completed
Connection closed by foreign host.
Automatic Verification

c) Patch 3265133 (included in Rollup 5.1 - patch 3409889) provides a simple


commandline interface that uses native JavaMail? APIs. This interface can be used
to validate IMAP/ SMTP connectivity from the concurrent-tier where mailer runs.
Syntax can be found by running the following on the concurrent-tier after
initializing the APPS environment:

Values in <...> are the values defined (or to be defined) for mailer configuration
using OAM.

IMAP Server:
$AFJVAPRG -classpath $AF_CLASSPATH -Dprotocol=imap
-Dserver=<Inbound EMailAccount? Server Name> -Dport=143

-Daccount=<Inbound EMail Account Username>


-Dpassword=<Inbound EMail Account Password> -Dconnect_timeout=120
-Dfolder=INBOX oracle.apps.fnd.wf.mailer.Mailer

Example output:
--------------------------------------------------------------------------------

bash-2.05$ $AFJVAPRG -classpath $AF_CLASSPATH -Dprotocol=imap


-Dserver=ap700lts.us.oracle.com -Dport=143

-Daccount=notesuser2@ap700lts.us.oracle.com -Dpassword=XXXXX
-Dconnect_timeout=120 -Dfolder=INBOX oracle.apps.fnd.wf.mailer.Mailer

Server ap700lts.us.oracle.com at port 143 is reachable


Successfully connected to the IMAP account

Testing existense of folder:INBOX


Folder INBOX exists
Note: Special folders like Inbox/Trash may not get listed on some IMAP servers
Folders defined are:

INBOX
Drafts
Sent
PROCESS
DISCARD
--------------------------------------------------------------------------------

Note: Email Processing (PROCESS and DISCARD Folder) should get listed like
"PROCESS" and "DISCARD" in output above. If not, these folders are required
to be created by connecting to the IMAP / Inbound Email account with any email
client (e.g. Netscape Messenger or Microsoft Outlook). These folders should be
created before they are specified in the mailer configuration within OAM. The
notification mailer may not be able to access folders that were created using
command line tools outside the e-mail client.

SMTP Server:
$AFJVAPRG -classpath $AF_CLASSPATH -Dprotocol=smtp
-Dserver=<Outbound Email Account Server Name>

-Dport=25 -Daccount=<Message Generation Reply-To-Address>


-Dconnect_timeout=120
oracle.apps.fnd.wf.mailer.Mailer

Example Output:
--------------------------------------------------------------------------------

bash-2.05$ $AFJVAPRG -classpath $AF_CLASSPATH -Dprotocol=smtp


-Dserver=ap6120rt.us.oracle.com -Dport=25

-Daccount=notesuser6@ap700lts.us.oracle.com -Dconnect_timeout=120
oracle.apps.fnd.wf.mailer.Mailer

Server ap6120rt.us.oracle.com at port 25 is reachable


Successfully connected to the SMTP account

--------------------------------------------------------------------------------

If above tests are successful from commandline, mailer should also be able to
connect to IMAP / SMTP server. If these tests are not successful then mailer
will also not be able to connect. Then it is IMAP / SMTP server issue that administrators
need to take a look at.

Workflow: Bounce imap servers on Redhat 3.X


-----------------------------------------------
bounce xinetd
How can I change Workflow Notification Mailer parameters without login to OAM ?
----------------------------------------------

You can use the following script to change any Workflow Notification Mailer parameter
or even any workflow agent listener parameter without login to the application

Do the following

1.Run the following script $FND_TOP/sql/afsvcpup.sql from sqlplus as apps user


2.For prompt Enter Component Id: enter id corresponds to Workflow Notification Mailer
3.For prompt Enter the Comp Param Id to update enter id corresponds to parameter you
want to change
4.For prompt Enter a value for the parameter enter your parameter value

Workflow: How To Start or Stop The Workflow Mailer From The Command Line
--------------------------------------------------------------------------------
Describe How To Start or Stop The Workflow Mailer From The Command Line here.

The Workflow Mailer runs within Workflow Mailer Service's JVM, therefore it can be
started or stopped without stopping the container Mailer Service. Just is a SQL script to
raise the proper events. The SQL script will look as follows:

declare
l_Component_Id number := '&component';
l_errcode number;
l_errstr varchar2(4000);
begin
-- to stop component
FND_SVC_COMPONENT.Stop_Component(l_Component_Id, l_errcode, l_errstr);

-- to start component
FND_SVC_COMPONENT.Start_Component(l_Component_Id, l_errcode, l_errstr);
commit;
end;
/
exit

Just alike, the Workflow Deferred Agent Listener runs within the Workflow Agent
Listener container.
Now, to find what is the value of the l_Component_Id to enter, find the Workflow Mailer
component ID. It is usually 10006, but it can vary, especially if there are other Workflow
Mailers different from the seeded one. To make sure about of the component_id run the
following query:

select component_id, component_name


from fnd_svc_components
where component_type='WF_MAILER';

If the query returns more than one row then it means there are more than one mailer.

Now, for the Workflow Deferred Agent Listener the following query can be used:

select component_id, component_name


from fnd_svc_components
where component_type='WF_AGENT_LISTENER' and
inbound_agent_name='WF_DEFERRED';

RefNote: 452354.1

You might also like