Working with CONCSUB
Working with CONCSUB
Last week I had taken off for a vacation so did not find time to blog, now once back it great to be back posting.
In today's post I will talk about the one of the lesser used, but important to understand Oracle Applications utilities the CONCSUB utility.
The CONCSUB is a utility which allows you to submit a concurrent program to the concurrent manager from the operating system level without having to log on to Oracle Applications.
The CONCSUB executable is located at $FND_TOP/bin/CONCSUB.
The functionality of the CONCSUB can be categorized into the following
- Submitting Concurrent Requests
- Controlling Concurrent Managers
Submitting Concurrent Requests
You can use the CONCSUB to execute both seeded and custom programs in Oracle Applications. In case of custom programs they must first be registered in Oracle Applications before you can execute them with CONCSUB.
The following can be used in Oracle Applications to run the active users report from the command line without logging in the applications
CONCSUB APPS/APPS SYSADMIN "System Administrator" SYSADMIN WAIT=N CONCURRENT FND FNDSCURS PROGRAM_NAME='"Active Users"'
Submitted request 2866136 for CONCURRENT FND FNDSCURS PROGRAM_NAME="Active Users"
The log and out file for this program is also created at the location defined by your $APPLCSF/$APPLLOG and $APPLCSF/$APPLOUT respectively.
The WAIT=Y/N is used to specify weather to wait for the first concurrent request to be completed before the second is submitted or not.
You can also use various printing parameters with the COCNCSUB to directly print the output of your concurrent request.
PRINTER=<printer name>
NUMBER_OF_COPIES=<number of reports to be printed>
PRINT_STYLE=<printer style to be used>
LANGUAGE=<language to be used>
Also you could specify the start date and completion options along with CONCSUB by using the following parameters
START=<Requested Start Date>
REPEAT_DAYS=<Repeat Interval>
REPEAT_END=<Request Resubmission End Date>
Controlling Concurrent Managers
Apart from submitting concurrent request the CONCSUB can also be used to shutdown your concurrent managers
CONCSUB apps/apps_password SYSADMIN 'System Administrator' SYSADMIN WAIT=N CONCURRENT FND SHUTDOWN
Sometimes the shutdown of the concurrent managers via the CONCSUB utility using the SHUTDOWN clause hangs and you may want to terminate your concurrent managers, in such a case you can use the ABORT clause with CONCSUB to do a force shutdown of your concurrent managers.
CONCSUB apps/apps SYSADMIN 'System Administrator' SYSADMIN WAIT=N CONCURRENT FND ABORT
In this case a concurrent request to terminate the concurrent managers is fired with a -75 priority. In case of the shutdown the priority is 0 and default priority is of a concurrent request 50, by assigning a -75 priority the CONCSUB ensures abort is executed before shutdown.
Needless to say that the shutdown would fail in case the SYSADMN user or the System Administrator responsibility is inactive.
However to start the concurrent managers the CONCSUB is not used instead the startmgr executable is used.(Though possible)
This is located at $FND_TOP/bin/startmgr.
$startmgr sysmgr=apps/apps@sam
Starting icm@sam Internal Concurrent Manager
Default printer is
By default if no manager name is specified the ICM or the Internal Concurrent Manager is started. You can also start a specific manager by using the mgrname clause
To use CONCSUB to start the concurrent managers the STARTUP clause is used
$ CONCSUB apps/apps SYSADMIN 'System Administrator' SYSADMIN WAIT=N CONCURRENT FND STARTUP
Submitted request 2849496 for CONCURRENT FND STARTUP
Comments
nice job Sam. Thanks.
Posted by: Kevin | January 17, 2007 10:07 PM
Sam,
Fantastic blog! We are currently trying to implement submitting concurrent requests from the command line for postcloning. I have a question. How would you submit the request with parameters?
Thanks again,
Matt
Posted by: Matt Youmans | January 18, 2007 07:32 PM
Thanks Kevin.
Posted by: Sam | January 19, 2007 04:51 PM
Thanks Matt,Maybe you can give metalink note 1037268.6 a look.
Sam
Posted by: Sam | January 19, 2007 04:53 PM
Got it. Thanks again,
Matt
Posted by: Matt Youmans | January 19, 2007 11:57 PM
Thanks
Posted by: kalpit | January 25, 2007 04:05 AM
Hi Sam,
I've known that FNDLOAD with afcpprog.lct would get the concurrent program information whose ldt can be used to move it to another instance. But is there a way wherein we can as well attach this concurrent program to a responsibility by script?
I've come across the lct files to download responsibilities as such but how can a concurrent program be attached to a single responsibility in Apps?
Awaiting your response
-vani
Posted by: vani | January 25, 2007 02:16 PM
Sam,
Is there a way that I can use CONCSUB to submit a request set?
Regards
Posted by: Praveen | February 6, 2007 03:11 PM
Hey,
I love what you'e doing!
Don't ever change and best of luck.
Raymon W.
Posted by: RaymonWazerri | April 21, 2007 03:22 AM
how to pass the parameters by using CONCSUB Utility.
Posted by: gangadhara Rao.G | April 26, 2007 12:39 PM