Mostrando entradas con la etiqueta genexus 9. Mostrar todas las entradas
Mostrando entradas con la etiqueta genexus 9. Mostrar todas las entradas

martes, 5 de noviembre de 2013

Error 0x80070005 Acceso Denegado

Este error se da cuando tenemos un servidor de licencias genexus e intentamos acceder desde otro equipo, normalmente pasa con sistema operativo Windows 7.

Pasos a seguir para licenciar genexus con servidor de licencias en distinto pc
Para utilizar las licencias en otro pc, se debe de indicar la ip o el nombre del  pc en el license manager de genexus como se muestra en la imagen



Se debe de seleccionar Remote License e indicar la ip del equipo que oficia de servidor de licencia.
Si ocurre el error que se muestra en la imagen, ya sea en el license manager como al abrir genexus se debe de seguir los pasos que indico abajo para poder evitar este error.



Voy a explicar suponiendo que las maquinas no están en un dominio, para esto hay ayuda en el wiki de genexus, también voy a suponer que el servidor de licencias funciona, y los clientes están en Windows 7, ya que con Windows XP es más sencillo (igual aplica y se puede tomar como referencia) (http://www2.gxtechnical.com/portal/hgxpp001.aspx?15,4,61,O,S,0,,22835), igual si ven los pasos son casi todos iguales, solo hay algunos distintos.
-          Primero en el servidor de licencias debemos de crear el usuario con el que se conecta el o los pc clientes, debe de indicarse siempre el usuario y la contraseña idénticos.
-          Ambos equipos, servidor y cliente deben de estar en el mismo grupo de trabajo.
-          En el servidor debe de existir un grupo llamado ARTech Remote Protection User, y los usuarios que creamos antes todos deben de pertenecer a este grupo. Ademas algo que no se necesita pero podemos utilizarlo en el futuro es el grupo GXprotAdmin, se usa más que nada para loguear los errores del license manager, a este grupo también agregar los usuarios de los clientes (los que creamos en el primer punto). Si alguno de estos grupos no existen se deben de crear.



-          En el cliente crear si no existe los 2 grupos que se indicaron arriba y agregar el usuario del equipo a estos grupos
-          Ahora se debe de dar permiso de acceso remoto al usuario anónimo, esto se hace de la siguiente forma:
1 Inicio > Ejecutar > dcomcnfg, luego en mi pc le damos botón derecho y propiedades, luego en Anonymous Logon en Editar Limites le damos acceso remoto, como se muestra en las siguientes imágenes.






sábado, 28 de julio de 2012

Largo de nombres de tablas en DB2 con Genexus 9.0

Empce un proyecto nuevo y el cliente exigio que se utilizase DB2. Este proyecto lo desarrollaremos con Genexus 9.0, y es una migracion de un proyecto que tenemos con MySql. Al intentar crear la base de datos desde Genexus me daba problema con tablas e indices que el largo del nombre era mayor a 18 caracteres.
Investigando y obteniendo ayuda de artech, encontramos que este problema se da con Genexus 9 ya que DB2 anterior a la versión 10, no soportaba mas de 18 caracteres, entonces genexus por mas que se configuraba en las propiedades del modelo que el largo de las tablas era 30 igual daba error y no dejaba impactar la base, segun algunos sac para la version Evo1 U3 de genexus esto se soluciona.
Pero existe un workaround, en el archivo config.gx que si no existe se debe de crear en la raiz del modelo, copiar lo siguiente:


rgz0001=w
rgz0002=w
rgz0014=w 

Luego de esto se sigue trabajando igual, no cambia nada en la operativa diaria.
 

sábado, 14 de mayo de 2011

Conversor de colores

El titulo no dice mucho, pero la idea sería que tengo los colores en RGB y los necesito en hexadecimal, entonces buscando en san-google, encontré una página que además de darme esta conversión, me da otras (por ejemplo CMYK), y tienen varias cosas más que no he investigado, pero eso se los dejo a ustedes.

La página que les comentaba es la siguiente:


viernes, 11 de febrero de 2011

orphaned case en Genexus

En algunas situaciones en KB genexus 9, al compilar me ha saltado este error “orphaned case”, esto se da cuando tenemos algún Datastor, que no tienen definido bien el tipo de motor que se usa, esto pasa cuando creamos un modelo nuevo, y no definimos bien la parte de Datastor.

Lo que hay que hacer es elegir el motor que van a trabajar y con esto se soluciona, lo que van a tener que hacer es además generar los objetos que dan problemas.

domingo, 2 de enero de 2011

Genexus, grilla solo con variables

Varias veces me paso que con genexus tengo que tener una grilla la cual solamente tenía variables, y no entendía por que no andaba, y optaba por varias opciones para que funcionara, normalmente usar una tabla auxiliar.

Pero ayudando a un amigo (Gerardo) y el que es un poco más terco que yo, se dedicó a investigar y encontrar como se podía solucionar, y (obviamente) la encontró.

La solución es tener algún for each line en el código, aunque este no haga nada pero genexus pide tener un for each line para desplegar los valores en la grilla. Estoy de acuerdo con ustedes que es una solución al problema, pero la gente de artech debería de solucionar estos temas de fondo.

viernes, 23 de abril de 2010

Tranferir licencias GX

Tengo un equipo el cual voy a formatear, y necesito respaldar mis licencias Genexus.

Para esto vamos a utilizar el equipo que yo tengo, otro equipo con Genexus la versión que esté utilizando que tenga los upgrade igual a mi equipo.

Entonces en el otro equipo tengo que ejecutar el LicenceManajer, esto está en el menú de inicio de programas en el menú de Genexus, y tiene un icono de una llave.

Entonces ejecutamos el LM, luego que aparece la ventana arriba a la derecha tenemos un botón Transfer, seleccionamos la licencia que guardaremos (debemos hacer un archivo y el proceso por cada una de las licencias a guardar) hacemos click en el botón, y nos lleva a la ventana que mas vamos a utilizar.

En esta ventana tenemos varias cosas para hacer, la idea es generar un archivo .trf, desde el equipo al que le voy a agregar las licencias, luego desde mi equipo exportar las licencias a ese archivo, y por ultimo levantar estas licencias en el otro equipo, y ahí la licencia queda segura en el otro pc, luego que instale mi equipo, se hace lo mismo pero tomando como base la licencia que tiene el otro equipo, es decir al revés que como lo hicimos primeramente.

Entonces con el LM en la pantalla que nombre arriba, vamos a generar un .trf, entonces tenemos que marcar abajo a la izquierda “Register Transfer”, marcar la ruta donde queremos guardar el archivo y presionamos OK. Esto genera un archivo .trf, que tenemos que pasarlo en este caso a mi equipo.

Estando en mi equipo ejecuto nuevamente el LM y me paro en la pantalla que nombre arriba, y en la ruta marcamos donde este el .trf que pasamos a mi equipo, luego seleccionamos “Tranfer Out”, y la cantidad de licencias que pasaremos, normalmente 1, pero pueden ser mas (de un solo generador por ejemplo 1 licencia de Java), y presionamos ok, y se sobrescribe el .trf.

Por ultimo tenemos que volver el .trf al otro equipo, podemos sobrescribir el que ya habíamos generado, y vamos a ver que el tamaño es mayor. Luego ejecutamos el LM, y debemos seleccionar la ruta del archivo (por defecto se guarda la ultima utilizada), y debemos seleccionar “Tranfer In”.

Si seguimos los pasos que puse acá, debería de aparecer la licencia en la pantalla principal del LM. Para que todo esto funcione los 2 equipos deben de tener genexus al mismo upgrade de developer y del generador que estemos traspasando.

miércoles, 20 de enero de 2010

Mysql y Genexus en linux

Para poder utilizar Mysql con Genexus, sin tener que modificar a mano las tablas lo que hay que hacer es lo siguiente, en my.cnf, agregar

lower_case_table_names=1

esto en la sección [mysqld] del my.cnf . Si no tienen el my.cnf (deberían de tenerlo porque es donde se configura mysql, para no dejarlo por defecto y arreglarlo a nuestras necesidades) deben de ver el archivo que arranca el motor (normalmente /etc/init.d/mysql) ahí debe mostrar donde debe de existir este archivo (my.cnf) y solo poner las 2 lineas, primero la sección y luego el lower case.

Por que pasa esto? bueno genexus crea las tablas en minúsculas, pero al intentar acceder a alguna tabla la busca en mayúscula, entonces no encuentra lo que busca, por eso se le dice al motor que no sea key sensitive.

sábado, 7 de noviembre de 2009

Configurar Informix para usar con Genexus

Se me presento el siguiente inconveniente, me dejaron un equipo Linux con Informix instalado y tengo que configurarlo para que funcione con una aplicación Genexus.

Recordando viejas épocas puede crear una base de datos con dbaccess, para esto tenes que entrar al equipo Linux y loguearte con el usuario informix, luego ejecutas dbaccess y te sale un administrador para ejecutar consultas, eliminar crear, tablas, bases, etc.

Entonces con esto llego a crear la base de datos, luego eligió el dbspace (alguno que este configurado), luego en la parte de logs le pongo none (aquí empieza el problema).

Entonces para que genexus pueda utilizar la base de datos esta debe de ser transaccional, entonces cuando creas la base debes elegir log o buggered log, pero como no lo hice ahora con unos comanditos vamos a solucionar el problema.

Ejecutamos lo siguiente


ondblog buf <nombreBase> (si vas a configurar buffered log)


ondblog unbuf <nombreBase> (si vas a configurar unbuffered log)

cualquiera de los dos comandos tienen que ejecutarse sin aplicaciones conectadas a la base. Si todo funciona bien, debería devolver 0.


Luego hay que ejecutar un respaldo para que se activen los cambios.

Podes simular un respaldo ejecutando:



onbar -b -F


Con esto la base de datos esta bien configurada, pero ahora debemos definir el modelo genexus, obviamente elegimos como dbms informix, como trabajo con java web, lo que se debe de definir es una conexión jdbc, luego en las propiedades del dbms

en JDBC Driver ponemos custom,

en Custom JDBC Driver ponemos com.informix.jdbc.IfxDriver,

en Custom JDBC URL ponemos el string de conexión jdbc:informix-sqli://servidor:puerto/base:INFORMIXSERVER=ol_.......

Obviamente modificamos el servidor el puerto, etc, y debemos de verificar que el jdbc que tengamos que tenga las carpetas com, informix, jdbc, ifxdriver, sino debemos de modificar esto.

Con estos puntos ya podríamos trabajar con genexus con informix.


Volver al inicio

jueves, 5 de noviembre de 2009

Ejecutar Reorg en linux y windows

Lo que nos pasa normalmente es que queremos ejecutar la reorg de genexus directamente desde gx, ya que al configurar el DBMS bien, entonces gx hará todo por nosotros, pero a veces cuando la reorg es muy grande, o se tiene que hacer por internet, esto puede durar mucho.


Entonces lo mejor es respaldar la reorg y luego directamente ejecutarla.


Si el equipo es un Linux como es mi caso se debería de ejecutar el siguiente script



export DISPLAY=:0



java -cp GxUtils.jar:.:GXClassR.jar:Reorg.jar:mysql.jar Reorganization -force


si es Windows se debe de ejecutar este script



"ruta de java"\java -cp GxUtils.jar;.;GXClassR.jar;Reorg.jar;mysql.jar Reorganization -force -nogui


Para que esto funcione se deben de tener los jars GxUtils y GXClassR de genexus, el archivo que se genera al guardar la Reorg (daremos una pequeña explicación después), y el jdbc de conexión, que en este caso es mysql pero puede ser cualquiera, sql por ejemplo, todos en una sola carpeta.


El archivo de la reorg se puede exportar directamente de genexus, para esto en el modelo, luego de correr la reorg en el equipo local, se ejecuta el programa WinDeveloper, esto lo que hace es llamar a un programa (que tiene muchas cosas para hacer por ejemplo hacer un war de la aplicación) win, java en mi caso, que te deja exportar el programa de reorganización, entonces buscamos en el menu y ejecutamos la exportación de la reorg, luego podemos incluir en el archivo Reorg.jar los sesteos de conexión de la base de datos (usuario, contraseña, servidor) o podemos no incluirlos (cosa que aconsejo), si elegimos esta ultima opción, entonces en la misma carpeta donde están los jars debemos de poner el reorg.cfg que tenga los datos del servidor, que es idéntico a el client.cfg.


Entonces con todos estos archivos en una carpeta, nos paramos en la carpeta y ejecutamos el script que menciones (se puede crear un bat o sh dependiendo del sistema).


Al correr el script si todo esta perfecto, se debería de impactar la base de datos, si el sistema es windows se mostrara la clásica ventana de reorg de genexus.


Lo mas importante es tener los parámetros de conexión bien, ya sea en el Reorg.cfg como en el modelo de gx si se elije que el Reorg.jar tenga estos parámetros.


Luego como (en mi caso) la aplicación es java, en el servidor tengo que tener instalado java.



Volver al inicio

sábado, 19 de septiembre de 2009

Genexus 9, Confirm en web

Estoy trabajando con gx 9 web y quiero hacer lo que en las versiones win es el conocido Confirm().


Un ejemplo de esto en win seria preguntarle si esa seguro si quiere realizar determinada acción, entonces el código seria algo así




Confirm("Estas seguro de borrar el archivo?',N)


if confirmed()


// eliminamos el archivo


endif


Bueno en web esto no anda entonces lo que se utiliza es un poco de los eventos html para esto.


Entonces seria algo así, tenemos un botón el cual al cliquearlo queremos que nos pregunte si realmente estamos seguros.




En el evento start ponemos algo asi


btn.JSEvent('onclick',"confirm('Realmente desea ...?')")




donde btn es el nombre del botón




luego en el evento del botón, solamente tenemos que poner el código para eliminar o hacer lo que deseamos.


Esto lo que produce es nos muestra una ventana Windows, en la cual nos pone el texto "Realmente ..." y nos pide que Aceptemos o Cancelemos, y se ejecuta el código del evento solamente si Aceptamos.



Volver al inicio