ir ao artigo Danusa Calixto · Mar. 11 Oi Daniella. Tudo bem? Seguem algumas considerações que observei a respeito do seu código: 1) O erro <NOROTINE> indica que a rotina YYHORG002 não existe. Isso pode ter ocorrido se a YYHORG002 não foi compilada. Você verificou se a classe foi compilada com sucesso? 2) Se você está trabalhando com classes, por quê não está chamando ao método usando a orientação a objetos, e sim chamando a rotina gerada através da compilação ? Exemplo: substituir de: set sc = $$ValidarPalindromo^YYHORG001(str) para : set sc = ##class(YYHORG001).ValidarPolindromo(str) Observações: 1ª - está faltando na assinatura do método o tipo do retorno: Ex1: Method ValidarPalindromo(string) As %Status Ex2: Method CalcularMedia(string, ByRef retMedia) As %Status (ou o tipo desejado) 2ª - No método CalcularMedia(string, ByRef retMedia) o segundo parâmetro retMedia está definido com passagem por referencia, e na chamada da rotina você deveria usar o ponto (.) antes da variável: .retMedia 3ª - No mesmo método você está retornando o mesmo valor de retMedia que foi enviado na chamada ao método. Está correto? Desta forma as variáveis media e retMedia terão sempre o mesmo valor. 4ª - Se os métodos não são de instancia (que acessam dados do objeto da classe) e são chamados como métodos de operação, eles devem ser definidos como ClassMethod para serem acessados diretamente sem instanciar a classe. Espero ter ajudado!Boa sorte 🤞🏼
ir ao artigo Danusa Calixto · Ago. 4, 2023 Bom dia, Andre. Esse foi exatamente o mesmo problema que eu esbarrei. Mas eu não havia utilizado essa funcionalidade antes. Você já havia utilizado essa funcionalidade no VSCode com a versão anterior? Uma sugestão: você pode voltar a versão antiga da extensão e testar.
ir ao artigo Danusa Calixto · Fev. 28, 2023 Oi Paulo, tudo bem? Existem algumas formas de licenciamento e também depende das ferramentas adicionadas a licença do produto. Para obter mais detalhes você precisa do atendimento de algum gerente de contas da área comercial. Você tem interesse em entrar em contato com alguém para obter mais informações? Pode me encaminhar uma mensagem direta com o seu contato por aqui pela comunidade mesmo se preferir, ou no meu e-mail : Danusa.Calixto@intersystems.com
ir ao artigo Danusa Calixto · Ago. 3, 2022 Olá Walter, Eu consegui executar o seu código em uma classe simples que extende de %SOAP.WebService sem erros. Criei a global ^IGREJA com dados de teste contendo nome e idade para executar o teste. Já verificou se o conteúdo de algum nó da sua global pode estar causando o problema? Se quiser, compartilha a definição completa da sua classe e alguma amostra dos registros da sua global.
ir ao artigo Danusa Calixto · Jun. 22, 2022 Oi Alexandre! O que me veio em mente rapidamente foi criar um código que transforme a sua string/frase em uma lista de palavras para depois percorrer a lista contando o numero de letras de cada palavra da lista. Algo assim: Set frase = "Como contar a palavra com maior numero de caracteres" #; cria uma lista da string com delimitador " " espaço Set fraseList = $Listfromstring(frase," ") #; percorre a lista e imprime a posição da palavra na frase (i), o tamanho da palavra ($length) e a palavra ($listget(fraseList,i))For i=1:1:$Listlength(fraseList) w !,i_"- tamanho:"_$length($listget(fraseList,i))_"->"_$lg(fraseList,i) O código acima pode ser executado no Terminal. Mas se você somente desejar saber o maior tamanho, basta salvar o tamanho em uma variável comparando os tamanhos. Exemplo: Set maiorTamanho=""For i=1:1:$Listlength(fraseList) { set tamanho=$length($listget(fraseList,i)) if tamanho>maiorTamanho { set maiorTamanho=tamanho set maiorPalavra=$listget(fraseList,i) }} Write !,maiorPalavra_" - tamanho: "_maiorTamanho Espero que ajude! :-)
ir ao artigo Danusa Calixto · Mar. 21, 2022 Olá Arian. O erro apresentado em tempo de depuração não parece ter a ver com o $GET. Você tentou verificar os valores dos pieces da global antes ? Uma sugestão, caso ainda não tenha feito, é verificar a variável %objlasterror antes e depois da execução da linha para confirmar o erro . E vale a pena verificar se teve algum registro do processo no arquivo messages.log que fica na pasta /mgr.