Bio do usuário
404 bio não encontrada
Membro desde Dez. 7, 2021
Postagens:
Respostas:

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(stringByRef retMedia) As %Status (ou o tipo desejado)

2ª - No método CalcularMedia(stringByRef 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 🤞🏼 

Certificações e credenciais da Credly:
Danusa ainda não tem certificações e credenciais da Credly.
Emblemas Global Masters:
Seguidores:
Seguindo: