Pesquisar este blog

quinta-feira, 2 de maio de 2013

Javascript Manipulando Prompts - Parte 1

Algumas vezes é ncessário colocar uma opção custom no prompt, um label.
Até a versão 8 não existia um modo simples, era necessário a utilização de javascript para manipular os prompts.

Na versão 10 já existe uma propriedade para isso, entretanto se você ainda precisa manipular os prompts para, para exemplo, remover uma opção, o javascript ainda é útil.

Abaixo segue um codigo de minha autoria, como basa no knowledge base da IBM.

Essas funções servem para as versões 8.2, 8.4.1 e 10.1, pelo menos foi onde testei. Deve servir para a 8.3 também.

A primeira função captura os formularios de tratamento do Cognos, esses formularios contem todas as informações do relatório, então seria possivel acessar tudo do relatório, desde que você saiba o caminho.

A segunda função retorna um objeto com a entidade do prompt, de acordo com o parametro.
O argumento name deve ser o nome do prompt.
Essa função retorna prompts do tipo dropdown, list, e text field.

function getCognosParams(){
 return var fW = typeof getFormWarpRequest == "function" ? getFormWarpRequest() : document.forms["formWarpRequest"];
}

function getPromptByName(name){
 var prompt = eval("getCognosParams()._oLstChoices" + name);
 if(prompt == null || prompt == undefined){
  prompt = eval("getCognosParams()._textEditBox" + name);
  if(prompt == null || prompt == undefined){
   window.alert("Prompt: " + name + " incorreto.");
  }
 }
 return prompt;
}

quarta-feira, 1 de maio de 2013

Dica da semana - Cognos 10.1.1 FP2

Mais um post hoje hein!!!

Então, passei pelo site da IBM esse dias e vi que tem um Fix Pack para a versão 10.1.1.

É o novo FP2, lançado em 26/03 se não me engano.

Ainda não testei mas parece que resolve uma pancada de erros, alguns muito inúteis, outros fazem sentido.

Se alguem aplicou o patch e quiser me dizer o que achou eu posto aqui!

[[]]'s

Cognos Mobile - Erro 1111 ao enviar relatório para dispositivo móvel

E ai povo, faz um tempo que não apareço por aqui.

Mas recebi uns e-mails nos últimos dias e resolvi dar uma atualizada nesse trem.

Pois bem, essa semana mesmo passei pelo seguinte problema:

Versão Cognos 10.1.1 FP1

Preciso rodar um Job que gera cerca de 500 saidas para IPADs, esse job já roda a algum tempo e até semana passada demorava cerca de 3 horas, mas saia sem nenhum problema.

Então fizemos algumas alterações nele e de repente ele começou a apresentar um erro(que vou falar em outro post), a questão era de overload no banco então decidimos montar uma tabela para sumarizar mais os dados, deixando menos trabalho para o Cognos.

Até ai tudo bem né? Não!!
O relatório passou a rodar em 40 minutos, porém... apresentou por diversas vezes o erro:
'The Mobile service has
caught an exception: com.cognos.mobile.common.CMException:
(code 1111)'

Então fiz o que todo ser humano razoavel faz, joguei isso ai no google e por algum mistério da humanidade realmente veio algo da IBM.

Existe um chamado de alguem que teve esse problema, e como em 99% da vezes a resposta da IBM é... mude para a próxima versão... muito útil.

Não me conformo muito com essas respostas então tentei rearranjar o job de modo a não deixar muitos processos simultâneos, veja que são 500 saidas.

Felizmente apenas isso resolveu o problema, o job leva cerca de 1 hora para rodar e sem nenhum erro.

Resumo
Erro erro é causado(também) por um excesso de concorrência no próprio Cognos, diminuindo o overload na aplicação resolveu o problema.