Wednesday, September 2, 2009

Submitting concurrent Program via API

For demo only.

DECLARE
V_REQUEST_ID NUMBER;
FILEPATH VARCHAR2(250);
V_DEV_PHASE VARCHAR2(250);
V_WAIT BOOLEAN;
V_PHASE VARCHAR2(250);
V_STATUS VARCHAR2(250);
V_DEV_STATUS VARCHAR2(250);
V_MESSAGE VARCHAR2(250);
CSTATUS_CODE VARCHAR2(250);
BEGIN
V_DEV_PHASE:='R';

V_REQUEST_ID := FND_REQUEST.SUBMIT_REQUEST('APPLICATION SHORT NAME','PROGRAM SHORT NAME',NULL,NULL,FALSE,PARAMETER1); -- submit request


WHILE V_DEV_PHASE != 'COMPLETE' -- wait until the program is completed
LOOP
V_WAIT:= FND_CONCURRENT.WAIT_FOR_REQUEST(V_REQUEST_ID
,15
,10
,V_PHASE
,V_STATUS
,V_DEV_PHASE
,V_DEV_STATUS
,V_MESSAGE);

DBMS_OUTPUT.PUT_LINE('DEV PHASE IS :'||V_DEV_PHASE);
EXIT WHEN V_DEV_PHASE = 'COMPLETE';
END LOOP;

SELECT DECODE --To find the staus of completed program
(STATUS_CODE,
'A','WAITING',
'B','RESUMING',
'C','NORMAL',
'D','CANCELLED',
'E','ERROR',
'F','SCHEDULED',
'G','WARNING',
'H','ON HOLD',
'I','NORMAL',
'M','NO MANAGER',
'Q','STANDBY',
'R','NORMAL',
'S','SUSPENDED',
'T','TERMINATING',
'U','DISABLED',
'W','PAUSED',
'X','TERMINATED',
'Z','WAITING',
STATUS_CODE) INTO CSTATUS_CODE FROM FND_CONCURRENT_REQUESTS WHERE REQUEST_ID=V_REQUEST_ID;

DBMS_OUTPUT.PUT_LINE(CSTATUS_CODE);
END;

No comments:

Post a Comment