Normalmente las rutas que utilizamos en nuestros Pc cuando
desarrollamos son diferentes de las del servidor de producción, lo que nos
obliga a comentar y descomentar continuamente código cuando recargamos en local
o en el servidor.
Para evitarlo, se puede escribir una condición que averigüe
dónde se está ejecutando la recarga y en función del resultado ejecute un trozo
de código u otro.
La forma más rápida es usando la función COMPUTERNAME()
Ejemplo:
END IF
La forma más rápida es usando la función COMPUTERNAME()
Ejemplo:
IF UPPER(COMPUTERNAME())= 'QLIKSERVER01' THEN
........... //Sentencias
ELSE //Estamos en otro ordenador que no es el server
........... //Sentencias........... //Sentencias
ELSE //Estamos en otro ordenador que no es el server
END IF
Otra forma de hacerlo es verificando quién es el usuario que lo
ejecuta. Normalmente en nuestro Pc entraremos con nuestro usuario de dominio o
un usuario local. En el servidor normalmente ejecutará las recargas el usuario
propietario de los servicios QlikView o algún usuario del grupo de
administradores.
//Si el usuario NO es uno de esos
3 usuarios del servidor, estamos en el pc local, (QLIKVIEWADMIN=Propietario de los
servicios de QlikView, USERADMIN= Usuario Administrador, USER= Otro usuario del
servidor)
IF Index('QLIKVIEWADMIN, USERADMIN, USER', UPPER(subfield(OSUser(),'\',2)))=0 THEN
........... //Sentencias
ELSE //Estamos en el Server
........... //Sentencias
ELSE //Estamos en el Server
........... //Sentencias
END IF
END IF
La sentencia
IF Index('QLIKVIEWADMIN, USERADMIN, USER', UPPER(subfield(OSUser(),'\',2)))=0
se puede sustituir por
IF(MATCH(UPPER(subfield(OSUser(),'\',2), 'QLIKVIEWADMIN, USERADMIN, USER')
No hay comentarios:
Publicar un comentario