RpcSetEnv e preparação de ambiente
Define quem abre, usa e encerra o ambiente automático.
Visão geral
Primeiro identifique o chamador: menu, Schedule e REST com PrepareIn podem entregar ambiente pronto. Nesse caso, use o contexto recebido e preserve suas políticas. Em um job isolado que precisa de ambiente, obtenha credenciais por canal protegido, chame RpcSetEnv, confira o retorno e só processe após sucesso. Registre a propriedade da abertura e encerre com RpcClearEnv apenas o contexto próprio, inclusive no caminho de erro. Select("SX2") isoladamente não comprova identidade, filial ou permissão corretas. O exemplo usa apenas uma marca de propriedade fictícia, sem abrir ou encerrar conexões. (Fontes: refs. 1–2.)
Exemplo comentado
#Include "Protheus.ch"
User Function Ed638()
// Marca didatica; na aplicacao real vem da abertura efetiva.
Local lAmbienteProprio := .F.
If lAmbienteProprio
// A limpeza real deve ocorrer tambem em falhas.
ConOut("LIMPEZA_PROPRIA")
EndIf
Return NilNão entra na limpeza porque não abriu ambiente. É um modelo de decisão, não um wrapper pronto de job. Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.
- Não trocar empresa nem autenticar novamente em REST/SOAP já preparado pelo framework. Conferir release e LIB.
- Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

Comentários
Ainda não há comentários aprovados.
Entre com Google ou Microsoft para comentar.