Usina BRAdvPL Guia
Entrar
← Todos os tópicos
FUNçãOEm revisão

RpcSetEnv

RpcSetEnv([cRpcEmp],[cRpcFil],[cEnvUser],[cEnvPass],[cEnvMod],[cFunName],[aTables],[lShowFinal],[lAbend],[lOpenSX],[lConnect]) -> lRet

Abre ambiente automático com empresa, filial e identidade.

RpcSetEnvAdvPL
01 · VISÃO GERAL

Visão geral

Retorna .T. se conseguiu preparar o ambiente e .F. em falha, sem substituir o tratamento de exceções. O TDN proíbe reinicializar ou encerrar ambientes de rotinas de menu e alerta para Schedule e REST com PrepareIn. Desde 12.1.2510, REST/SOAP já preparado pelo framework pode gerar exceção. cEnvPass aceita token de autenticação somente a partir da LIB 20251117, conforme contrato citado; não é qualquer token externo. O exemplo do GitHub contém credencial literal e não encerra o ambiente no recorte: esses padrões não foram transportados. (Fontes: refs. 1–2.)

02 · SINTAXE

Sintaxe

RpcSetEnv([cRpcEmp],[cRpcFil],[cEnvUser],[cEnvPass],[cEnvMod],[cFunName],[aTables],[lShowFinal],[lAbend],[lOpenSX],[lConnect]) -> lRet

Parâmetros

cRpcEmp
CaractereOpcional

Código de empresa.

cRpcFil
CaractereOpcional

Código de filial.

cEnvUser
CaractereOpcional

Usuário autorizado obtido fora do fonte.

cEnvPass
CaractereOpcional

Senha ou token apenas no contrato suportado pela LIB; nunca registrar.

cEnvMod
CaractereOpcional

Módulo; padrão documentado FAT.

cFunName
CaractereOpcional

Identificação da rotina e auditoria; padrão RPC.

aTables
ArrayOpcional

Aliases a abrir; padrão {}.

lShowFinal
LógicoOpcional

Controla lMsFinalAuto; padrão .F.

lAbend
LógicoOpcional

Mensagem de falha de licença; padrão .T.

lOpenSX
LógicoOpcional

Abertura de SXs/primeira filial quando não informada; padrão .T.

lConnect
LógicoOpcional

Conexão ao banco; padrão .T.

Retorno

Lógico de abertura; exceções continuam possíveis.

03 · EXEMPLO PRÁTICO

Exemplo comentado

#Include "Protheus.ch"

User Function Ed637()
    // Bloco nao invocado; contexto e segredo pertencem ao chamador autorizado.
    Local bAbrir := {|cEmpresa,cFilial,cUsuario,cSegredo,cModulo| ;
        RpcSetEnv(cEmpresa,cFilial,cUsuario,cSegredo,cModulo)}
    ConOut(ValType(bAbrir))
Return Nil
Resultado esperado

Cria bloco B. Não autentica, abre ambiente ou imprime segredo. Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

BOAS PRÁTICAS
  • Só encerre com RpcClearEnv um ambiente aberto e controlado pela sua rotina. Testar licenças, direitos e falhas.
  • Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

Conteúdos relacionados

REFERÊNCIAS
  1. TOTVS. RpcSetEnv. TDN. Consulta em 2026-10-27.
  2. Atilio. dan-atilio/AdvPL. Maratona de Exemplos/Exemplo_426_Funcao_RPCSetEnv.prw. Arquivo completo consultado; adaptação editorial. Consulta em 2026-10-27.
Situação
Em revisão
Página criada em
Última revisão em
Idioma original
Português
Revisão
Usina.BR
0 comentário(s) aprovado(s)

Comentários

Ainda não há comentários aprovados.

Entre com Google ou Microsoft para comentar.

Powered by Usina Docs · Alpha