Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Buenos días,
Estoy intentando programar las recargas de mi aplicación de forma que queden pendientes de un evento externo. Hasta ahi sin problemas.
El problema que me surge es al hacer estos scripts que lanzan por linea de comando la petición de recarga.
Mi idea inicial era ejecutar un qv.exe pero me lo han desaconsejado ya que abre la aplicación para recargar y luego la vuelve a cerrar.
Lo que me sugieren es que llame directamente a la tarea que he creado en el server. ¿Alguien sabe como se hace esto? ¿Lo habéis hecho alguna vez?
Gracias
Maria
Buenas,
finalmente he conseguido ejecutar recargas planificadas con un planificador, en mi caso uso el control-M.
Tal y como comentabais hay que instalar el EDX en el servidor, esta parte no me corresponde a mi asi que no se explicaros con detalle como hacerla pero los enlaces de Alex.Millan y @Juan Vitantonio llevan informacion interesante sobre esto.
Para ejecutar las recargas lo primero es crear en el servidor una tarea que quede pendiente de un evento externo y tendremos que generar un fichero .bat que sea el que lea el planificador y que lo que haga sea ejecutar dicha tarea y devolver el mensaje de si ha sido correcta o no la ejecución.
El fichero .bat es un txt al que luego le cambio la extensión a .bat . Que contiene lo siguiente ( lo resaltado en rojo es lo que se debe modificar para cada tarea)
@echo off
:: ###########################################################
:: # SETEO DE VARIABLES Y DIRECTORIOS:
:: ###########################################################
:: Unidad de disco
SET UNIDAD=D
:: Directorio por Defecto
SET PATH=%UNIDAD%:\DocumentosFuente\
:: Directorio Ejecutable
SET PATH_EXE="%UNIDAD%:\Program Files (x86)\QlikView EDXTrigger\"
::Seteo directorio de archivo log
::La carpeta LOGS se debe crear en la misma Ruta donde se guarden los .bat
SET PATH_LOG=%PATH%\3.CM_PMO\6.Script\LOGS\
:: Nombre de Proceso, Nombre de la tarea planificada en el Server
SET PRCNAME="Tarea"
:: ###########################################################
:: # PROCESO
:: ###########################################################
echo -------------------------------------------------------------- >>%PATH_LOG%%PRCNAME%.txt
echo %date% %time% - Inico proceso %PRCNAME% >>%PATH_LOG%%PRCNAME%.txt
echo -------------------------------------------------------------- >>%PATH_LOG%%PRCNAME%.txt
:: ###########################################################
:: # LLAMADO A QvEDXTrigger
:: ###########################################################
:: El ejecutable QMSEDX ejecuta la tarea indicada PRCRNAME recibiendo los parametros necesarios.
%PATH_EXE%QvEDXTrigger.exe -task=%PRCNAME%
set rdoerror=%ERRORLEVEL%
echo Resultado Ejecucion %PRCNAME%: %rdoerror% >>%PATH_LOG%%PRCNAME%.txt
:: Comprobacion de errores de ejecucion.
IF NOT %rdoerror%==0 GOTO ERRORPRC %rdoerror% %dts%
goto fin
:ERRORPRC
echo ---------------------------------------------------------------- >>%PATH_LOG%%PRCNAME%.txt
echo %date% %time% - Fin con ERROR de ejecucion >>%PATH_LOG%%PRCNAME%.txt
echo %date% %time% - Resultado= %1 >>%PATH_LOG%%PRCNAME%.txt
echo ---------------------------------------------------------------- >>%PATH_LOG%%PRCNAME%.txt
::Retorno 1 en caso de error (este es el retorno que recibe Control-M en caso de error)
exit 1
:fin
echo ---------------------------------------------------------------- >>%PATH_LOG%%PRCNAME%.txt
echo %date% %time% - Fin ejecucion %PRCNAME% >>%PATH_LOG%%PRCNAME%.txt
echo ---------------------------------------------------------------- >>%PATH_LOG%%PRCNAME%.txt
::Retorno 0 en caso de exito (este es el retorno que recibe Control-M en caso de exito)
exit 0
Espero que os sirva de ayuda.
Un saludo,
Maria
Hola Maria,
Para ejectura una tarea creada en QMC basado en un evento externo, debes usar EDX.
Para más información, puedes leer este post que te detalla de qué se trata y cómo hacerlo:
Using EDX in QlikView 11 - basic example
Espreo te sea util.
Saludos
Juan
Hola María,
yo no lo he aplicado todavía nunca pero creo que es mediante EDX.
Te copio algunos links donde verás información al respecto:
Using EDX in QlikView 11 - basic example
Espero que ten alguna pista
Hola compañeros:
Yo esto no lo he utilizado nunca.
Por favor María, cuando lo tengas resuelto comparte un resumen sencillito.
Saludos
Joaquín
Muchas gracias por las aportaciones.
Voy a echar un vistazo y os comento.
Si Joaquín, cuando lo logre solucionar os comento y comparto lo que tenga.
Saludos,
Maria
No veo el problema en hacer un atarea programada que ejecute un .bat en el que se ejecute, actualice y cierre el qv actualizando los datos.
Lo he hecho en muchas instalaciones y no tiene ningún problema.
saludos,
Enrique Colomer
Buenas,
finalmente he conseguido ejecutar recargas planificadas con un planificador, en mi caso uso el control-M.
Tal y como comentabais hay que instalar el EDX en el servidor, esta parte no me corresponde a mi asi que no se explicaros con detalle como hacerla pero los enlaces de Alex.Millan y @Juan Vitantonio llevan informacion interesante sobre esto.
Para ejecutar las recargas lo primero es crear en el servidor una tarea que quede pendiente de un evento externo y tendremos que generar un fichero .bat que sea el que lea el planificador y que lo que haga sea ejecutar dicha tarea y devolver el mensaje de si ha sido correcta o no la ejecución.
El fichero .bat es un txt al que luego le cambio la extensión a .bat . Que contiene lo siguiente ( lo resaltado en rojo es lo que se debe modificar para cada tarea)
@echo off
:: ###########################################################
:: # SETEO DE VARIABLES Y DIRECTORIOS:
:: ###########################################################
:: Unidad de disco
SET UNIDAD=D
:: Directorio por Defecto
SET PATH=%UNIDAD%:\DocumentosFuente\
:: Directorio Ejecutable
SET PATH_EXE="%UNIDAD%:\Program Files (x86)\QlikView EDXTrigger\"
::Seteo directorio de archivo log
::La carpeta LOGS se debe crear en la misma Ruta donde se guarden los .bat
SET PATH_LOG=%PATH%\3.CM_PMO\6.Script\LOGS\
:: Nombre de Proceso, Nombre de la tarea planificada en el Server
SET PRCNAME="Tarea"
:: ###########################################################
:: # PROCESO
:: ###########################################################
echo -------------------------------------------------------------- >>%PATH_LOG%%PRCNAME%.txt
echo %date% %time% - Inico proceso %PRCNAME% >>%PATH_LOG%%PRCNAME%.txt
echo -------------------------------------------------------------- >>%PATH_LOG%%PRCNAME%.txt
:: ###########################################################
:: # LLAMADO A QvEDXTrigger
:: ###########################################################
:: El ejecutable QMSEDX ejecuta la tarea indicada PRCRNAME recibiendo los parametros necesarios.
%PATH_EXE%QvEDXTrigger.exe -task=%PRCNAME%
set rdoerror=%ERRORLEVEL%
echo Resultado Ejecucion %PRCNAME%: %rdoerror% >>%PATH_LOG%%PRCNAME%.txt
:: Comprobacion de errores de ejecucion.
IF NOT %rdoerror%==0 GOTO ERRORPRC %rdoerror% %dts%
goto fin
:ERRORPRC
echo ---------------------------------------------------------------- >>%PATH_LOG%%PRCNAME%.txt
echo %date% %time% - Fin con ERROR de ejecucion >>%PATH_LOG%%PRCNAME%.txt
echo %date% %time% - Resultado= %1 >>%PATH_LOG%%PRCNAME%.txt
echo ---------------------------------------------------------------- >>%PATH_LOG%%PRCNAME%.txt
::Retorno 1 en caso de error (este es el retorno que recibe Control-M en caso de error)
exit 1
:fin
echo ---------------------------------------------------------------- >>%PATH_LOG%%PRCNAME%.txt
echo %date% %time% - Fin ejecucion %PRCNAME% >>%PATH_LOG%%PRCNAME%.txt
echo ---------------------------------------------------------------- >>%PATH_LOG%%PRCNAME%.txt
::Retorno 0 en caso de exito (este es el retorno que recibe Control-M en caso de exito)
exit 0
Espero que os sirva de ayuda.
Un saludo,
Maria
Hola María,
Muchas Gracais por compartir.
Un saludo
Gracias María
Excelente Maria. Gracias.