TMACUL

CA SDM Brasil LINGUAGEM PERL: Implementando novos métodos - 2016-06-13

Blog Post created by TMACUL Champion on Jan 31, 2017

LINGUAGEM PERL: Implementando novos métodos


Sendo bem objetivo, segue abaixo um exemplo de implementação de um método PERL dentro da ferramenta SDM:

 

1) Crie um arquivo chamado z_api.mod dentro da pasta $NX_ROOT/Site/Mods/Majic com o seguinte conteúdo:
OBJECT api {
FACTORY {
METHODS {
z_meuMetodo(...);
};
};
};

 

2) Crie um arquivo chamado z_functions.pm dentro da pasta $NX_ROOT/Site/Mods/Majic com o seguinte conteúdo:
#!/opt/CAisd/bin/pdm_perl -w
###################################
## Modulo: z_functions.pm
###################################
use pdm_perlext;
use pdm_misc;
use strict;
use Env qw(NX_ROOT);
use Getopt::Std;

sub api::z_meuMetodo
{
###################################
## Metodo: api::z_meuMetodo
###################################
# Capturando os parametros
my $zs_str_in = $_[0];
my $zs_str_out = $zs_str_in . "ALTERADA." ;

log_nx($LOG_SIGNIFICANT, "Entrada: '$zs_str_in'");
log_nx($LOG_SIGNIFICANT, "Saida: '$zs_str_out'");

# Retornando dados
set_return_data(16, $zs_str_out, 0, 0);

# Observação: Utilize set_error(numero) para gerar erro de execução
}
# perl packages must end with a true statement!
1;

 

3) Reinicie a SDM;

 

4) Execute seu novo método PERL através da função SPEL abaixo:
send_wait(0, top_object(), "call_attr", "api", "z_meuMetodo", "Minha string");
O retorno da execução será dado nas conhecidas variáveis msg[?].

Para saber mais, estude a linguagem PERL e consulte alguns arquivos de exemplo dentro da própria ferramenta SDM.
Divirtam-se!

 

 

 

publish originally: Junho 13 de 2016

From: CA SDM Brasil 

criada Por: Daniel Bighelini

 

CA SDM Brasil Sumário - Índice 

Outcomes