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

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


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.


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

Submitted request 2849496 for CONCURRENT FND STARTUP

UNIX / Shell Programming Basic – Beginner Questions Answers



What is $*?

Its mainly used for showing up all params. This show all parameter values passed in shell script


What does $# stand for?

# will return the number of parameters that are passed as the command-line arguments.


What does $? Return?

$? will return exit status of command .0 if command gets successfully executed ,non-zero if command failed.


What are Different types of shells?

sh : the oldest shell 
csh : C shell 
ksh : Korn Shell 
bash : bourne again shell



How do you read arguments in a shell program – $1, $2?

Shell script accepts parameters in following format… 
$1 would be the first command line argument, $2 the second, and so on 
$0 is the name of the script or function

If your script has more than 9 params then accept in following way… 
${12} : 12th param 
${18} : 18th param


What are the different kinds of loops available in shell script?

for, if, while, case


What is the difference between a shell variable that is exported and the one that is not exported?

The Shell variable which is exported would available to all the programs outside the Shell also. And the shell variable which is not exported, would available for that shell or for the shell program only, in which the variable is declared.


Export LANG=C 
will make the variable LANG the
global variable, put it into the global environment. All other processes can use it. 
will change the value only in the current script. 



If you have a string “one two three”, which shell command would you use to extract the strings?

echo $string | cut -d” ” -f1 
echo $string | cut -d” ” -f2 
echo $string | cut -d” ” -f3 


How will you list only the empty lines in a file (using grep)?

grep “^$” filename.txt


How would you get the character positions 10-20 from a text file?

cat filename.txt | cut -c 10-20


cut -c10-20 <filename.txt>


How would you replace the n character in a file with some xyz?

sed ‘s/n/xyz/g’ filename > new_filename


We can replace n characters by using the following command:
where 1 shows that the search string will start searching patterns from first line of the file.
           ‘.’ for any character.

            g for global replacemet.



What is the difference between a ‘thread’ and a ‘process’?

A process is a collection of virtual memory space, code, data, and system resources. A thread is code that is to be serially executed within a process. A processor executes threads, not processes, so each application has at least one process, and a process always has at least one thread of execution, known as the primary thread. A process can have multiple threads in addition to the primary thread

Thread – is stream of executable code within process. They are light weight process. All thread with in a process  share process instruction,code & data segment,open file descriptor,signal handler,userID and GroupID. Thread has its own set of register including program counter,stack pointer 


What is this line in the shell script do ?#!/bin/ksh?

To invoke the shell indirectly this line is added as the first line in the file.This particular line invokes korn shell



What is use of “cut” command? Give some examples.

Cut – Utility used to cut/Strip out the required data/text from the source.

Cut can be used in three modes,

  Stripping by Character

     cut -c 1-3

  Striping by Byte length

     cut -b -1-72

Stripping by delimiter and fields.

     cut -d “|” -f1


-d “|” -> Delimiter used in input text to separate columns

-f1 -> Field/Column number  

While processing huge input files, Cut’s performance is far better than awk



thanks – shivmohan purohit