Monday, March 10, 2008

To Submit a concurrent program from command line

To Submit a concurrent program from command line and check the result we can use CONCSUB utility

CONCSUB [ORACLE ID] [Responsibility Application Short Name]
[Responsibility Name] [User Name]
[WAIT=[Wait Flag] CONCURRENT [Concurrent Program Application Short Name] [Concurrent Program Name]
[START=Requested Start Date]
[REPEAT_DAYS=Repeat Interval]
[REPEAT_END=Request Resubmission End Date]
[Concurrent Program Arguments [][]...]



For Ex. create a script as following :-
$cat con.sh
CONC=`CONCSUB apps/xxxxxx SYSADMIN 'System Administrator' SYSADMIN WAIT=Y CONCURRENT FND FNDSCURS`
RES=`echo $CONC | grep 'Normal completion'`
if [ $? -ne 0 ]
then
echo "Error"
else
echo "Complete Normal"
fi
echo $CONC > rslt.lst
cat rslt.lst
rm rslt.lst

$sh con.sh
Complete Normal
Submitted request 1234567890 for CONCURRENT FND FNDSCURS Normal completion

Or else you can use the following qry. :-

select REQUEST_ID,
CASE WHEN (PHASE_CODE) = 'C' THEN 'Completed'
WHEN (PHASE_CODE) = 'I' THEN 'Inactive'
WHEN (PHASE_CODE) = 'P' THEN 'Pending'
WHEN (PHASE_CODE) = 'R' THEN 'Running'
ELSE 'NODATA'
END AS PHASE,
CASE WHEN (STATUS_CODE) = 'A' THEN 'Waiting'
WHEN (STATUS_CODE) = 'B' THEN 'Resuming'
WHEN (STATUS_CODE) = 'C' THEN 'Normal'
WHEN (STATUS_CODE) = 'D' THEN 'Cancelled'
WHEN (STATUS_CODE) = 'E' THEN 'Error'
WHEN (STATUS_CODE) = 'F' THEN 'Scheduled'
WHEN (STATUS_CODE) = 'G' THEN 'Warning'
WHEN (STATUS_CODE) = 'H' THEN 'Hold'
WHEN (STATUS_CODE) = 'I' THEN 'Normal'
WHEN (STATUS_CODE) = 'M' THEN 'No Manager'
WHEN (STATUS_CODE) = 'Q' THEN 'Standby'
WHEN (STATUS_CODE) = 'R' THEN 'Normal'
WHEN (STATUS_CODE) = 'S' THEN 'Suspended'
WHEN (STATUS_CODE) = 'T' THEN 'Terminating'
WHEN (STATUS_CODE) = 'U' THEN 'Disabled'
WHEN (STATUS_CODE) = 'W' THEN 'Paused'
WHEN (STATUS_CODE) = 'X' THEN 'Terminated'
WHEN (STATUS_CODE) = 'Z' THEN 'Waiting'
ELSE 'NODATA'
END AS STATUS
from fnd_concurrent_requests where REQUEST_ID=&REQ_ID;