Classe: TRpc
Estabelece conexão com o TOTVS Application Server para executar as funções disponíveis no ambiente (environment) especificado.
New
Cria objeto TRpc para o ambiente (environment) especificado, sem conexão ativa.
TRpc(): New (
< cEnv> ) -->
oRpc
Nome Tipo Descrição Obrigatório Referência
cEnv Caracter Indica o ambiente (environment) que será utilizado para execução das funções. X
oRpc () Retorna o objeto, do tipo TRpc, criado.
O ambiente especificado no parâmetro <cEnv> deve estar configurado no arquivo de configuração (totvsappserver.ini) do TOTVS Application Server.
CallProc
Realiza uma chamada de função no TOTVS Application Server.
TRpc(): CallProc (
< cProcName>, [ uParam] ) --> xRet
Nome Tipo Descrição Obrigatório Referência
cProcName Caracter Indica o nome da função que será executada no TOTVS Application Server. X
uParam Qualquer Indica o(s) parâmetro(s) utilizado(s) pela função especificada no parâmetro(s) .
xRet () Retorno da função executada.
O parâmetro indica 1 de N parâmetros que podem ser especificados, dependendo do número de parâmetros que a função que está sendo executada precise. Para isso, os parâmetros são separados por vírgula.Os tipos de dados Objeto e Codeblock não podem ser utilizados na passagem e/ou retorno da função chamada pela classe TRpc.Este método deve ser utilizado após a conexão estabelecida através do método Connect.
CallProcEx
Este método possui a mesma funcionalidade do método CallProc.
TRpc(): CallProcEx (
) -->
Connect
Cria uma conexão de RPC com o TOTVS Application Server.
TRpc(): Connect (
< cRpcServer>, < nRPCPort> ) --> lCon
Nome Tipo Descrição Obrigatório Referência
cRpcServer Caracter Indica o nome ou endereço IP, do TOTVS Application Server, que será utilizado para realizar a chamada das funções. X
nRPCPort Numérico Indica a porta de conexão com o TOTVS Application Server. X
lCon (logico) Retorna verdadeiro (.T.), se a conexão for estabelecida com sucesso; caso contrário, o retorno será falso (.F.).
Este método deve ser utilizado após a execução do método New.
Disconnect
Fecha a conexão RPC com o TOTVS Application Server.
TRpc(): Disconnect (
) -->
StartJob
Inicia a execução de um JOB no Totvs Application Server
TRpc(): StartJob (
< cProcName>, < lWait>, [ uParam] ) -->
Nome Tipo Descrição Obrigatório Referência
cProcName Caracter Indica o nome da função que será executada como um JOB. X
lWait Lógico Indica se a chamada de RPC deve aguardar a execução do JOB. Se verdadeiro (.T.), aguarda a execução do JOB; caso contrário, falso (.F.), o JOB é iniciado e a chamada RPC finalizada. X
uParam Qualquer Indica o(s) parâmetro(s) utilizado(s) pela função especificada no parâmetro .
A classe não pode ser utilizadas com funções que possuam interface com o usuário.O parâmetro , indica 1 de N parâmetros que podem ser especificados, dependendo do número de parâmetros que a função que está sendo executada precise. Para isso, os parâmetros são separados por vírgula.Os tipos de dados Objeto e Codeblock não podem ser utilizados na passagem e/ou retorno da função chamada pela classe TRpc.
#INCLUDE "TOTVS.CH"User Function TSTRPC()Local oServerLocal cRpcServer := "127.0.0.1"Local nRPCPort := 1029Local cRPCEnv := "Environment"// Criando objeto do tipo tRpcConOut("Criando objeto do tipo tRpc...")oServer := TRPC():New( cRPCEnv )// Conectando ao servidorConOut("Conectando ao servidor: " + cRpcServer + " - Porta: " + Str(nRPCPort,4,0))If oServer:Connect( cRpcServer, nRPCPort ) ConOut("Executando (StartJob) funcao RpcJob...") uRet := oServer:StartJob("U_RpcJob", .F., 10) ConOut(uRet) // Desconectando do servidor ConOut("Desconectando do servidor...") oServer:Disconnect()Else ConOut("Conexao indisponivel com o servidor: " + cRPCServer)EndIfUser Function RpcJob(nTimes)Local nI := 0//Local nTimes := 10For nI := 1 To nTimes ConOut("RpcJob => " + Str(nI, 2, 0)) Sleep(1000)NextReturn Nil
A classe não pode ser utilizada com funções que possuam interface com o usuário. Os tipos de dados Objeto e Codeblock não podem ser utilizados na passagem e/ou retorno da função chamada pela classe TRpc.
#INCLUDE "TOTVS.CH"User Function TSTRPC()Local oServerLocal cRpcServer := "127.0.0.1"Local nRPCPort := 1029Local cRPCEnv := "Environment"// Criando objeto do tipo tRpcConOut("Criando objeto do tipo tRpc...")oServer := TRPC():New( cRPCEnv )// Conectando ao servidorConOut("Conectando ao servidor: " + cRpcServer + " - Porta: " + Str(nRPCPort,4,0))If oServer:Connect( cRpcServer, nRPCPort ) // Executando Funcao ConOut("Executando funcao GetSrvProfString...") uRet := oServer:CallProc("GetSrvProfString", "RootPath", "" ) ConOut("Retorno da Funcao => " + uRet) oServer:CallProc("MsgAlert", uRet) // Desconectando do servidor ConOut("Conectando do servidor...") oServer:Disconnect()Else ConOut("Conexao indisponivel com o servidor: " + cRPCServer)EndIfReturn Nil
TOTVS Application Server 10