Search This Blog

Tuesday, September 25, 2012

How to Schedule a Concurrent Request to Run Periodically Only on Certain Days and Only During Certain Hours of the Day

Checked for relevance on 31-May-2012

goal: How to schedule a concurrent request to run periodically only on 
certain days and only during certain hours of the day
fact: Oracle Application Object Library
fact: FNDRSRUN - Run Reports


When scheduling a concurrent request these are the available options for running the 

1.  As soon as possible
2.  Once
3.  Periodically
4.  On specific days

Only one of these choices can be selected.  It is not possible to combine any 
of these choices.   Thus,  selecting "Periodically" and specifying &
quot;every two minutes" as the time interval, will result in a request 
running every two minutes 24 hrs per day.

Selecting "On specific days" will result in a request running only 
once on the exact days specified.

A workaround might be to create a specialized manager with a work shift from 6am 
to 7pm.   Then assign this concurrent request to that specialized manager (add 
an INCLUDE rule to the specialized manager that includes this particular 
concurrent request).    This specialized manager will work only 6am to 7pm.    
However, if the specialized manager is not available (7 pm to 6am) then any 
standard manager that exists in the Apps instance will try to run the job.   To 
stop them from running the job it will be necessary to add an exclude rule for 
those standard managers which explicitly tells them that they are not allowed 
to run this job.    However,  between 7pm and 6am, these jobs will have a 
phase/status of inactive/no manager until 6:00 am when this specialized 
manager wakes up and resumes its work shift.

Another workaround might be to write a cron job at the OS level which uses the 
CONCSUB utility to run the concurrent requests every two minutes.

No comments: