domingo, 18 de noviembre de 2018

► Recarga en local o en el servidor


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: 


IF UPPER(COMPUTERNAME())= 'QLIKSERVER01' THEN         
     ...........  //Sentencias
ELSE //Estamos en otro ordenador que no es el server  
     ...........  //Sentencias
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
   
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