Utilice estos pasos para incluir una tarea que se ejecute en segundo plano en un formulario.
La aplicación ejecuta informes como tareas en segundo plano que se colocan en una "cola" y se ejecutan en orden. Puede confirmar
un proceso para ejecutarlo en segundo plano. El servicio TaskMan muestra la lista Tareas en segundo plano activas y ejecuta
cualquier nueva tarea incluida en la cola con el estado READY.
Para obtener más información acerca de TaskMan, consulte el Guía de administración o Crear y personalizar informes.
- Para configurar el formulario donde desea ejecutar la tarea en segundo plano:
- Añada un componente llamado BackgroundQueue del tipo ObjMenuItem al formulario. En la ficha Comportamiento, añada RunBackgroundQueue como evento principal.
- Cree un evento RunBackgroundQueue del tipo Ejecutar formulario como elemento secundario modal. Los parámetros para el evento deben ser tal y como se muestra en este ejemplo, donde GenerateReport es el nombre del evento Ejecutar tarea de segundo plano del formulario:
BackgroundQueue( SETVARVALUES(BGTaskName=V(BGTaskName), RunTaskEvent=GenerateReport) )
- Añada parámetros al final de la cadena de parámetro para el evento Ejecutar tarea de segundo plano que envía la tarea:
TASKSTATUS(V(BGTaskStatus))TASKNUMBER(BGTaskNumber)
Utilice estas palabras clave y parámetros:
- TASKSTATUS es un parámetro de entrada opcional a BGTaskSubmit. Si se omite la palabra clave TASKSTATUS, o si su valor es más
que WAITING, la tarea se inserta en la tabla ActiveBGTasks con estado READY y será ejecutada por TaskMan. Si TASKSTATUS se
establece en WAITING, la tarea se introduce en la tabla ActiveBGTasks con el estado WAITING. TaskMan ignora todos los registros
en esta tabla con un estado diferente de READY o RUNNING.
- TASKNUMBER es una palabra clave opcional utilizada para especificar un nombre de variable que contendrá el TaskNumber, generado
cuando se inserta un registro en la tabla ActiveBGTasks.
- Puede incluir palabras clave de sustitución que se reemplazan por valores correctos después de que la tarea haya sido enviada
a TaskMan.
- Para crear una tarea en segundo plano:
- Cree un nuevo registro en el formulario Definiciones de tareas en segundo plano.
- Especifique un nombre de tarea, por ejemplo, RunCustomerOrderReport y una descripción.
- Especifique un nombre ejecutable:
- Para un informe, especifique el nombre del informe (por ejemplo, CustomerOrder) en el primer campo "ejecutable" y el tipo de ejecutable (RPT) en el segundo campo. La definición de informe (archivo .RPT) para este informe debe colocarse en la carpeta TaskMan\Reports en el servidor donde están instalados TaskMan y un módulo
de generación de informes.
- Para un procedimiento almacenado, especifique el nombre del procedimiento en el primer campo y seleccione SP en el segundo campo.
- Para un programa ejecutable, especifique el nombre de programa y la ruta (por ejemplo, c:\Infor\myprog) en el primer campo y seleccione EXE en el segundo campo.
Especifique la ruta completa o utilice una ruta relacionada con el directorio que contiene TaskMan en el servidor. Por ejemplo,
si tiene un programa ejecutable llamado Myprog.exe que reside en mydirectory/mysubdirectory bajo el directorio de TaskMan
de Infor, especifique mydirectory/mysubdirectory/MyProg
Si quieres que TaskMan maneje las conexiones ejecutables a una base de datos, la base de datos se debe identificar con TaskMan
a través de la utilidad de Configuración de TaskMan,y el ejecutable debe utilizar las palabras clave para conectarseB~. De lo contrario, le corresponde al ejecutable, gestionar todas las conexiones de base de datos.
- Para un método IDO, especifique el nombre del método (en el formato IDO.Method - por ejemplo, MyProgID.SLSites.MyTestMethod) en el campo Nombre ejecutable y seleccione IDOMTH en el campo Tipo de ejecutable.
Para los parámetros de la tarea, pasar una lista separada por comas de parámetros que coinciden con los parámetros del método
IDO. Puede validar valores completos (por ejemplo, "MyParameter1,MyParameter2") o utilizar la sintaxis ~LIT~ si el espacio en blanco es significativo (por ejemplo, " MyParameter1,MyParameter2 ").
Al procesar las tareas de tipo IDOMTH, TaskMan requiere una configuración con el mismo nombre que el nombre del sitio. En
el ordenador donde se está ejecutando TaskMan (normalmente el servidor de utilidades), debe crear una configuración en la
que el nombre de la configuración coincida con el nombre del sitio de la base de datos, si todavía no hay uno.
- Haga clic en los botones del formulario para especificar las opciones de informes o tareas excluidas.
- Guarde el registro.
- Llame a la nueva tarea en segundo plano como a un controlador de eventos del formulario.
- Puede ver las tareas que se están ejecutando actualmente abriendo el formulario Activar tareas en segundo plano.
Una vez que TaskMan ha completado la tarea, incluso si se produce un error, se pueden ver los detalles de su ejecución en
el formulario Historial de tareas de segundo plano. Los detalles incluyen:
- Descripción de tarea
- Estado de retorno
- Usuario que envió la tarea
- Mensajes desencadenados por la tarea