Erro cannot find symbol ao compilar com GeneXus

February 2nd, 2010

Ao criar uma KB nova em 9.0 não conseguia compilar.

O erro que tinha era:

Compiling objeto.java
objeto.java:19: cannot find symbol
symbol : class objeto_impl
location: class objeto
new objeto_impl(context).doExecute();
^
1 error
NMAKE : fatal error U1077: ‘C:\WINDOWS\system32\cmd.exe’ : return code ‘0×1′
Stop.

O problema estava nas Execution Options.

Shared Settings Classpath: estava faltando a pasta corrente “.”

gxclassr.zip;GxUtils.jar;poi.jar;C:\Arquivos de programas\Apache Software Foundation\Tomcat 5.5\common\lib\servlet-api.jar;C:\nmake\classes12.jar;.

Após adicionado, compilou sem erros.

Fabricio De los Santos
Gerência de Projetos - Consultoria GeneXus - Agente K2B Tools

Veja meus blogs em:
www.fabriciodelossantos.com

Erro ao imprimir pdf com GeneXus

January 29th, 2010

Tivemos um problema ao passar a produção nosso novo sistema SGS (Sistema de Gestão de Subempreiteiros), quando tentávamos imprimir um relatório.

O erro que tinhamos era:

javax.servlet.ServletException: java.lang.NullPointerException

at com.genexus.reports.PDFReportItext.GxDrawText(Unknown Source)

Erro ao imprimir pdf com GeneXus

Era muito estranho porque no mesmo servidor já existiam outras aplicações nossas rodando sem problema nenhum. Então o problema estaria em alguma coisa de configuração do novo sistema, investigamos com minha colega Thalyta, até que chegamos a conclusão que o problema estava no arquivo pdfreport.ini

Em nosso ambiente de teste as rotas configuradas não coincidiam com as de produção, simplesmente copiamos o pdfreport.ini corretamente configurado do outro webapp que estava funcionando e problema solucionado.

Fabricio De los Santos
Gerência de Projetos - Consultoria GeneXus - Agente K2B Tools
ERP – Sistemas de Missão Crítica - Bancos de Dados.

Veja meus blogs em:
www.fabriciodelossantos.com

 

“Produtividade ao 300% com GeneXus e …”



As K2BTools são um conjunto de ferramentas que conjugadas a GeneXus, colaboram fortemente no desenvolvimento de Aplicações Web ou na sua conversão desde ambientes Win ou telas de texto plano. Conte com Fabricio De los Santos, Agente K2B Tools, com 15 anos de experiência internacional em GeneXus, para tirar qualquer dúvida e seja mais PRODUTIVO.

Upload de Arquivos no Google Docs

January 22nd, 2010

Agora Google Docs permite fazer upload e compartilhar arquivos de todo tipo.

upload-de-arquivos-em-google-docs.JPG

É interessante porque podemos usa-lo de ftp para compartilhar com outras pessoas mesmo sem elas ter conta de gmail.

A pessoa recebe o link para fazer o download do arquivo.

Simples!

Fabricio De los Santos
Gerencia de Proyectos -
Consultoría GeneXus -
ERP – Sistemas de Misión Crítica - Bases de Datos.

Vea mis blogs en:
www.fabriciodelossantos.com

Err 212 Not enough global stack

January 20th, 2010

Durante várias versões de GeneXus, venho lutando com este erro. Parece o próprio Highlander.
Hoje procurando no GxTechnical uma colega me mostrou uma resposta que eu mesmo enviei respondendo alguem no fórum, 8 ou 9 anos atrás na versão 6.0 onde o problema era por uma fórmula adicionada numa KB muito grande.
Quase 10 anos depois na versão 9 me encontrei de novo com o mesmo adversário, “Err 212 Not enough global stack”, mas desta vez não é uma formula, ainda estamos procurando o erro. Temos o problema reportado a 10 dias com suporte.
Variáveis do problema que temos:

Upgrade de Development Environment de GeneXus, mas está descartado, já que temos 2 instalações uma com o upgrade 7 e outra com o 6 e o erro acontece igual.

Outra situação, é que no primeiro build all tem vezes que funciona todo ok, mas quando lançamos o segundo acontece o erro.
Fizemos uma operação de criar um novo modelo exportando os objetos da KB com problema, logramos diminuir o tamanho dos arquivos da raiz da kb, mas não conseguimos muito mais que isso. No primeiro build all passou, no segundo não.

Nossa KB é grande, porque entra dentro dos parâmetros definidos no Encontro Internacional de GeneXus de 2008, que estableceram que uma kb de mais de 1000 objetos era grande.
A nossa kb tem um pouco mais de 1700 objetos e 158 subtipos, mas sei que existem kbs bem maiores.

Outra coincidência ou não, é que os maks passaram a demorar muito em gerar, então trocamos o uso do nmake pelo gxjmake.exe o mesmo que já vem integrado em GeneXus X Evolution 1, seguindo as instruções de suporte. Isto último não resolve o problema do “Err 212 Not enough global stack”, mas disminui o tempo da geração do mak. O que também fizemos seguindo o que passaram de suporte, foi especificar por folder o que aparentemente funcionou sem dar o erro 212, só que na hora de compilar algumas classes não existiam, tivemos que especificar elas uma por uma e ai sim conseguimos compilar.

Em definitiva hoje temos este workaround, não entendi porque a especificação por folder não pegou todos os objetos, e caiu o tempo da geração do .mak.

Prometo que assim que consigamos a solução do build all como deveria ser, a mesma será postada aqui.
Se alguem tiver um palpite ou outro workaround ou qualquer dica, por favor comentem.

Muito obrigado.

Fabricio De los Santos
Gerência de Projetos - Consultoria GeneXus - Agente K2B Tools
ERP – Sistemas de Missão Crítica - Bancos de Dados.

Veja meus blogs em:
www.fabriciodelossantos.com

Toda tecnologia tem seu lado fraco

January 19th, 2010

É muito corajoso dizer que um produto é resistente a qualquer coisa. Sinceramente sempre trabalhamos em nossos sistemas para que sejam a prova de tudo, mas mesmo assim temos que estar atentos, para que nada escape a nossos testes, já que o dano pode ser muito grande, neste caso quem se deu mal foi o representante da empresa de celulares! Veja o video:


Fabricio De los Santos
Gerência de Projetos - Consultoria GeneXus -
ERP – Sistemas de Missão Crítica - Bancos de Dados.

Veja meus blogs em:
www.fabriciodelossantos.com

Video da engenhoca inútil

January 12th, 2010

Tem vezes que alguns dos sistemas que desenvolvemos se parecem com esta caixinha.


Fabricio De los Santos
Gerência de Projetos - Consultoria GeneXus -
ERP – Sistemas de Missão Crítica - Bancos de Dados.

Veja meus blogs em:
www.fabriciodelossantos.com

GeneXus CP 2.0: PMS - Project Management System

December 8th, 2009

Un Sistema Gerenciador de Proyectos de Desarrollo de Software, elaborado por Luciana Biochi Barone, Thalyta Potenza y Fabricio de los Santos.

:: Luciana Biochi :: Thalyta Potenza :: Fabricio de los Santos::

-¿De qué se trata PMS - Project Management System?

-El PMS, como su nombre abreviado lo indica (Project Management System), tiene como objetivo ser un Sistema Gerenciador de Proyectos de Desarrollo de Software.

En el sistema tienes un registro de todos los proyectos desarrollados, clientes, usuarios del sistema, etc. La idealización del sistema comienza, como todo proyecto, donde tienes una lista de tareas, y la consolidas en una EAP (Estructura Analítica de Proyectos).

El concepto de tarea, similar al Microsoft Project, permite asignar una prioridad, recurso, tiempo, costo; cada usuario, en la medida que avanza en la tarea designada, va registrando el historial de la misma, lo que permite tener un Panel de Control online de tiempos, desvíos de proyectos, administración de recursos y la posibilidad de tener una estimativa más acertada de los entregables de cada proyecto.

A su vez, permite observar el objetivo de los trabajos realizados, para qué tipo de tareas estamos destinando nuestros recursos, si para tareas que generan recursos económicos para la empresa o si estamos resolviendo bugs la mayor parte del tiempo, en ese caso podría ayudarnos a tomar decisiones de mejora de nuestros procesos. En definitiva, intentamos aplicar nuestro conocimiento en nosotros mismos, tratando de huir del refrán popular “en casa de herrero, cuchillo de palo”.

-¿Por qué surgió la idea de concretarlo?

-Calidad significa menos retrabajo. Creemos que al mejorar la calidad de nuestro trabajo es posible evitar que tengamos retrabajo de desarrollos ya liberados, con esta herramienta de análisis, podemos tener una visión de dónde nos estamos equivocando y qué debemos corregir.

Además, hemos desarrollado algunos proyectos muy buenos en Evolution 1, usando recursos nuevos en la metodología GeneXus, Users Controls, Extensions, etc. Creemos que tenemos un alto nivel de conocimiento en la nueva versión de GeneXus, por el hecho de haber sido unos de los primeros en usar la herramienta, con sistemas en producción.

-¿Qué lo motivó a participar en una segunda edición de los Collaborative Projects 2.0?

-Empezamos a utilizar la herramienta trial de K2B patterns, entonces pensamos que sería una buena oportunidad aprender el uso de esta herramienta aplicándola en un sistema que tenemos bajo control, y junto con GeneXus Server, creemos que tenemos la combinación ideal para que otras personas con nuestras mismas necesidades puedan colaborar en nuestro proyecto, ya que es una herramienta que toda software house termina desarrollando internamente.

-¿Cuáles son los desafíos a sortear en el proyecto?

-Queremos utilizar varios Users Controls de los que están disponibles en la Comunidad, y nos gustaría contar con la colaboración de interesados para que podamos incluso desarrollar algunos para tener las mismas visualizaciones de Microsoft Project, por ejemplo. Sería muy bueno para nosotros desarrollar algún tipo de User Control relacionado.

-¿Cuáles son sus expectativas en torno a CP 2.0?

-Creo que más allá del producto final que resulte de este proyecto, la posibilidad de trabajo en equipo con integrantes remotos, el uso de muchas funcionalidades de Evolution 1, K2B Pattern, y la posibilidad de conocer y compartir conocimiento con la Comunidad GeneXus; nuestra expectativa es ganar el primer premio.

Collaborative Projects en GXtechnical

Wiki CP 2.0

Noticia no GXNews

Fabricio De los Santos
www.fabriciodelossantos.com

IMP-00017: following statement failed with ORACLE error 959: ORA-00959: tablespace ’string’ does not exist

November 28th, 2009

Como prometi tempo atrás estou tentando blogar os meus velhos rascunhos.

import done in WE8MSWIN1252 character set and AL16UTF16 NCHAR character set
IMP-00017: following statement failed with ORACLE error 959:
“CREATE TABLE “MINHATABELA” (”ARQCODE” CHAR(10) NOT NULL ENABLE, “ARQFIXED” BLOB NOT NULL ENABLE) TABLESPACE “MEUTABLESPACE” LOGGING NOCOMPRESS LOB (”ARQFIXED”) STORE AS (TABLESPACE “MEUTABLESPACE” ENABLE STORAGE IN ROW CHUNK 8192 PCTVERSION 10 NOCACHE STORAGE(INITIAL 65536 FREELISTS 1 FREELIST GROUPS 1))”
IMP-00003: ORACLE error 959 encountered
ORA-00959: tablespace ‘MEUTABLESPACE’ does not exist
Este erro me deu alguns anos atrás alguma dor de cabeça, é problema dos campos blobs que em ORACLE fazem referência ao Tablespace na hora de importar um dmp. Se não existe um tablespace com o mesmo nome de origem ORACLE não consegue importar o DMP.

Solução:

CREATE TABLESPACE MEUTABLESPACE DATAFILE
‘D:\ORACLE\ORADATA\ORCL\MEUTABLESPACE.ORA’ SIZE 5M AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED
LOGGING
ONLINE
PERMANENT
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT MANUAL;

Espero ajude.

Fabricio De los Santos
Gerência de Projetos - Consultoria GeneXus - Agente K2B Tools
ERP – Sistemas de Missão Crítica - Bancos de Dados.

Veja meus blogs em:
www.fabriciodelossantos.com

 

“Produtividade ao 300% com GeneXus e …”



As K2BTools são um conjunto de ferramentas que conjugadas a GeneXus, colaboram fortemente no desenvolvimento de Aplicações Web ou na sua conversão desde ambientes Win ou telas de texto plano. Conte com Fabricio De los Santos, Agente K2B Tools, com 15 anos de experiência internacional em GeneXus, para tirar qualquer dúvida e seja mais PRODUTIVO.

Grupo de Usuários de GeneXus São Paulo

November 23rd, 2009

Nestes dias temos trocado alguns emails com Bruno Macedo quem escreve no blog Treinamento GeneXus, tentando ver qual seria a melhor forma de montar um GUG em São Paulo. Atualmente eu formo parte do Grupo inicialmente chamado GUG Brasil, grupo que lamentavelmente não teve muita atividade, acredito seja por motivo geográfico. Como também existe o GUG de Porto Alegre, acho que o nome de GUG Brasil, fica muito grande para nós, então estou levantando a possibilidade de migrar o grupo para São Paulo, ou talvez se existe interesse criar um novo Grupo, já enviei uma mensagem dentro do grupo, mas por este post estou convidando a todos que ainda não formam parte de grupo a participar deste movimento que terá muitos beneficios para todos.
Gostaria que os interessados comentem por este meio ou enviem email com suas sugestões.
Como comentei na mensagem ao Grupo, não quero passar por cima de ninguém, simplesmente quero fazer acordar a todos os usuários de GeneXus para poder conseguir mais oportunidades de todo tipo com um grupo mais ativo.

Muito obrigado pela atenção.


Fabricio De los Santos
www.fabriciodelossantos.com

Tratamento de Imagens e campos blobs com GeneXus

November 13th, 2009

Me perguntaram como poderiam fazer para trabalhar com Imagens no GeneXus 9 Web, quero dizer, carregar a imagem e deixar num tamanho especifico e não o tamanho original da imagem.
Acredito que podem existir outras alternativas, mas o meu exemplo é o seguinte:

Criamos uma transação por exemplo Picture.

tratamento-imagens-e-campos-blob-genexus-fabricio-de-los-santos-1.JPG

O campo Picture foi definido de tipo blob e definimos mais 2 atributos para armazenar o tipo de arquivo e o nome.
Estes atributos são as propriedades FileTypeAttribute e FileNameAttribute

tratamento-imagens-e-campos-blob-genexus-fabricio-de-los-santos-2.JPG

No web panel que criamos para visualizar a imagem colocamos o campo Blob na tela e no evento load damos um valor as propriedades width e height, por exemplo:

Event Load
PictureItem.width = 200
PictureItem.height = 200
EndEvent

O Resultado:

tratamento-imagens-e-campos-blob-genexus-fabricio-de-los-santos-3.JPG

Existem outras funções associadas por exemplo pathtourl()

Poderia dependendo da situação criar uma variável tipo bitmap e carregar ela da seguinte forma:
&link = PathToUrl(PictureItem)
&bitmap = LoadBitmap(&link)

Mais informação relacionada no Wiki de GeneXus

http://wiki.gxtechnical.com/commwiki/servlet/hwiki?FileType+runtime+property,

Como mencionei antes, podem existir outras alternativas esta foi a que usei no GeneXus 9, acredito aplica também para GeneXus Evolution 1.
Se tiverem alguma outra alternativa melhor por favor postem o comentário.
Obrigado.

Fabricio De los Santos
Gerência de Projetos - Consultoria GeneXus - Agente K2B Tools
ERP – Sistemas de Missão Crítica - Bancos de Dados.

Veja meus blogs em:
www.fabriciodelossantos.com

 

“Produtividade ao 300% com GeneXus e …”



As K2BTools são um conjunto de ferramentas que conjugadas a GeneXus, colaboram fortemente no desenvolvimento de Aplicações Web ou na sua conversão desde ambientes Win ou telas de texto plano. Conte com Fabricio De los Santos, Agente K2B Tools, com 15 anos de experiência internacional em GeneXus, para tirar qualquer dúvida e seja mais PRODUTIVO.