fnd_global.apps_initialize(user_id, resp_id,
resp_appl_id);
User_id: ID del usuario de Oracle aplicaciones
Resp_id: ID de la Responsabilidad donde se ejecutara el
reporte
Resp_appl_id: ID de la aplicación donde se ubica la
responsabilidad
Luego podemos usar el API de la siguiente manera:
vn_request_id := fnd_request.submit_request(Aplication,
Program ,
Description ,
Start_time,
Sub_request,
argument1,
argument2,
.
.
.
argument100);
Parámetros
Aplication: Nombre corto de la aplicación asociada al concurrente a ejecutar.
Program: Nombre corto del programa concurrente
Description: Descripción de la solicitud (Opcional).
Start_time: Hora que debe empezar, con el formato HH24:MI or HH24:MI:SS (Opcional).
Sub_request: Establecer a TRUE si la solicitud viene de otra solicitud sino FALSE
Argument1 ... 100: Los parámetros para la solicitud del concurrente; Se permite un máximo de 100 argumentos.
Normalmente para verificar y hacer unseguimiento de la solicitud ejecutada se crea una variable que lo reciba en este caso vn_request_id es el ID de la solicitud del concurrente al completar con éxito. si hubiera algún problema devuelve 0.
Podemos crear el siguiente código para demostrar y realizar pruebas de la ejecución de un concurrente por SQL:
DECLARE
VN_REQUEST_ID NUMBER;
USER_ID NUMBER :=10039;
RESP_ID NUMBER :=293;
RESP_APPL_ID NUMBER := 220;
BEGIN
FND_GLOBAL.APPS_INITIALIZE(user_id, resp_id, resp_appl_id);
VN_REQUEST_ID := FND_REQUEST.SUBMIT_REQUEST('SQLAP',---APPLICATION
'APXSUIMP',---PROGRAM
'',---DESCRIPTION
'',---START_TIME
FALSE,---SUB_REQUEST
'ALL',---ARGUMENT1
1000,---ARGUMENT2
'N',---ARGUMENT3
'N',---ARGUMENT4
'N');---ARGUMENT5
COMMIT;
IF VN_REQUEST_ID
> 0 THEN
DBMS_OUTPUT.PUT_LINE('Se ejecutó la solicitud de concurrente : ' ||
VN_REQUEST_ID);
ELSE
DBMS_OUTPUT.PUT_LINE('Error al
ejecutar : ' ||
VN_REQUEST_ID);
END IF;
END;
Eres el mejor muchas gracias.
ResponderEliminarUn gran aporte, gracias Don
ResponderEliminar