Pages

OracleEBSpro is purely for knowledge sharing and learning purpose, with the main focus on Oracle E-Business Suite Product and other related Oracle Technologies.

I'm NOT responsible for any damages in whatever form caused by the usage of the content of this blog.

I share my Oracle knowledge through this blog. All my posts in this blog are based on my experience, reading oracle websites, books, forums and other blogs. I invite people to read and suggest ways to improve this blog.


Saturday, February 16, 2013

Working with CONCSUB


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 toshutdown 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 theSystem Administrator responsibility is inactive.
However to start the concurrent managers the CONCSUB is not used instead thestartmgr 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

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


The Syntax:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
CONCSUB <APPS username>/<APPS password> \
<responsibility application short name> \
<responsibility name> \
<username> \
[WAIT=N|Y|<n seconds>] \
CONCURRENT \
<program application short name> \
<program name> \
[PROGRAM_NAME=<description>] \
 
[ORG_ID=<#>] - R12 onwards only
[REPEAT_TIME=<resubmission time>] \
[REPEAT_INTERVAL= <number>] \
[REPEAT_INTERVAL_UNIT=< resubmission unit>] \
[REPEAT_INTERVAL_TYPE=< resubmission type>] \
[REPEAT_END=<resubmission end date and time>] \
[START=<date>] \
[IMPLICIT=< type of concurrent request> \
[<parameter 1> ... <parameter n>]
The Parameters:
Parameter NameRequired?Comment
<username/password>YesThe ORACLE username and password that provides access to the data that the program uses.
<responsibility application short name>YesThe application short name of the responsibility whose concurrent processing options to be used.
<responsibility name>YesThe name of the responsibility. If the name of the responsibility includes spaces, enclose that name in double quotes.
<username>YesThe uppercase username of the application user whose concurrent processing options to use.
<WAIT>NoA flag that indicates whether to wait for the submitted request to complete. If one leaves this parameter out, the default value of N makes CONCSUB return to the operating system prompt without waiting for the request to complete. Set WAIT=Y to have CONCSUB check the request status every 60 seconds and returns to the operating system prompt when the request is completed.
<CONCURRENT>YesA flag that separates the program specific parameters from the operating system parameters.
<program application short name>YesThe application short name of the concurrent program.
<program name>YesThe uppercase name of the program. It must be the short name that was enter in the Concurrent Programs window when defining a concurrent program.
<PROGRAM_NAME>NoA descriptive name for your program.
<ORG_ID>NoIntroduced in R12, set to org id required for the report to be run with.
<REPEAT TIME>NoThe time of day to resubmit the request.  The format for the time is HH24:MI or HH24:MI:SS
<REPEAT_INTERVAL>NoThe interval between resubmission (a positive integer or real number). Use this parameter along with REPEAT_INTERVAL_UNIT to specify the time between resubmissions.
<REPEAT_INTERVAL_UNIT>NoThe unit of time used for the interval between resubmissions. The available units are MINUTES, HOURS, DAYS or MONTHS. Use this parameter along with REPEAT_INTERVAL to specify the time between resubmissions.
<REPEAT_INTERVAL_TYPE>NoWhether to time the resubmission interval from the requested start time of the request or from its completion. Set this parameter either to START or END. The default value is START.
<REPEAT_END>NoThe date and time to stop resubmitting the concurrent request.
<START>NoA start date and time for the program in this format:
DDMONRR HH24:MI:SS (as in 07€“APR02 18:32:05€™)
Because this date format includes a space, one must enclose the date in double quotation marks and single quotation marks.
<IMPLICIT>NoWhether to show this concurrent request on the View Requests form. Specify NO, YES, ERROR or WARNING. The value IMPLICIT=NO allows the request to appear on the View Request form. The default value is NO.
<REPEAT_DAYS>NoThe number of days after which to repeat the concurrent request, calculated from the last requested start date.
<parameter 1> …<parameter n>NoThe program specific parameters. If a parameter includes spaces, enclose that parameter in double quotes, then in single quotes. If a parameter contains a double quotation mark as part of the argument, precede that mark with a backslash [\].
Here is an example of the command to run CONCSUB:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$ CONCSUB APPS/APPS \
SYSADMIN \
System Administrator \
SYSADMIN \
WAIT=N \
CONCURRENT \
FND \
FNDFMRTC \
PROGRAM_NAME=Register Custom Tables Weekly \
REPEAT_INTERVAL=7 \
REPEAT_INTERVAL_UNIT=DAYS \
REPEAT_INTERVAL_TYPE=START \
START='"08“JUN96 23:55:00€"'
CGL
APPLSYS
ALL
CGL

2 comments:

  1. Regards
    Sridevi Koduru (Senior Oracle Apps Trainer Oracleappstechnical.com)
    Please Contact for One to One Online Training on Oracle Apps Technical, Financials, SCM, SQL, PL/SQL, D2K at sridevikoduru@oracleappstechnical.com | +91 - 9581017828.

    ReplyDelete
  2. Hi, I am trying to make a script which I will use for submitting a concurrent request for a scheduled concurrent program. This script will also be used in future. So the parameter START='"DD-MON-YYYY HH24:MM:SS"' needs to be input through a variable. I cannot find any way to input that.

    I have saved the current date in the above format in a variable and appended the time 20:00:00 to it. When I pass it in CONCSUB, I get the below error
    "-bash: 27-NOV-2018\ 20:00:00: command not found

    You have entered an invalid request start date and time: 1. Could not submit your concurrent request or report.

    Verify that the value for the profile option "Concurrent:Request Start Time" is in the correct date and time format of DD-MON-Y
    Cannot submit your concurrent request

    Review the previous error messages"

    The Program I am trying to run is below:
    {
    #! /bin/bash

    datenow=`date +'%d-%b-%Y' | tr '[a-z]' '[A-Z]'`

    datetimenow= "$datenow\ 20:00:00"

    echo $datetimenow

    CONCSUB APPS/$APPS_PASS SYSADMIN 'System Administrator' SYSADMIN WAIT=N CONCURRENT SLCUST1 SLC_AD_SNAPSHOT_RUN START=$datetimenow REPEAT_DAYS=1
    }

    ReplyDelete