jueves, 27 de agosto de 2015

Adjuntar Plantilla por PL/SQL usando la función FND_REQUEST.ADD_LAYOUT

Hay ocasiones que por un proceso PL/SQL utilizamos la función FND_REQUEST.SUBMIT_REQUEST el cual ejecuta una  solicitud concurrente para ser procesado por el administrador de concurrentes. Usando este proceso sólo se ejecuta el programa, hasta ahí todo está bien. Sin embargo si ejecutamos un programa concurrente que sea de tipo XML al ejecutar este proceso no adjunta la plantilla RTF ya sea para el tipo de salida que se necesita .


Podemos adjuntar una plantilla durante la ejecución de la solicitud utilizando la función llamado  FND_REQUEST.ADD_LAYOUT .  El código a continuación le ayudará a asociar la plantilla durante la ejecución del programa concurrente.

DECLARE

L_RESPONSIBILITY_ID  NUMBER=100;
L_USER_ID            NUMBER=10124;
L_APPLICATION_ID     NUMBER=250;
L_USER_ID            NUMBER;
L_REQUEST_ID         NUMBER;
L_LAYOUT             BOOLEAN;

BEGIN
 
 
APPS.FND_GLOBAL.APPS_INITIALIZE (L_USER_ID,L_RESPONSIBILITY_ID,L_APPLICATION_ID);

  L_LAYOUT := FND_REQUEST.ADD_LAYOUT(APLICACION => 'XXCUSTOM',
                                     CODIGO     => 'XX_AP_PROG_TEMPLATE',
                                     IDIOMA     => 'en',
                                     TERRITORIO => 'US',
                                     SALIDA     => 'EXCEL');
 
  L_REQUEST_ID := FND_REQUEST.SUBMIT_REQUEST (APLICACION   => 'XXCUSTOM',
                                              PROGRAMA     => 'XX_AP_PROG',
                                              DESCRIPCION  => '',
                                              FECHA        => NULL,
                                              SUB_REQUEST  => FALSE,
                                              PARAMETRO1   => '100');
 
  COMMIT;
 
  IF L_REQUEST_ID = 0
  THEN
     DBMS.OUTPUT.PUT_LINE ('ERROR EN LA EJECUCIÓN');
  ELSE
     DBMS_OUTPUT.PUT_LINE('SE HA EJECUTADO LA SOLICITUD');
  END IF;
 
END;

No hay comentarios:

Publicar un comentario