RpcSetType/RpcSetEnv
Configura contexto de execucao em jobs e chamadas RPC. Sem isso, variaveis globais (cFilAnt, dDataBase) ficam vazias.
Assinatura: RpcSetType(nTipo) // RpcSetEnv(cEmp, cFil, cUser, cPass, [cModulo], [cFunc])
Retorna: Logical
Quando voce executa codigo via JOB scheduler, RPC ou WebService, nao existe sessao de usuario logado. Voce precisa setar contexto manualmente — empresa, filial, usuario.
RpcSetType
| Tipo | O que faz |
|---|---|
| 1 | Conexao com usuario fake (default) |
| 2 | Sem licenca de uso |
| 3 | Job sem licenca + nao mostra Cancel (mais comum) |
Padrao em JOB
User Function MeuJob()
RpcSetType(3)
RpcSetEnv("99", "01", "admin", "senha", "FAT", "MeuJob")
// Agora cFilAnt, cEmpAnt, dDataBase, RetCodUsr funcionam
ConOut("Rodando como " + RetCodUsr() + " na filial " + cFilAnt)
U_ProcessamentoPesado()
RpcClearEnv()
Return
Pegadinhas
- Esquecer RpcSetEnv = funcoes que dependem de filial retornam vazio silencioso.
- RpcClearEnv no final — libera recursos.
- Multifilial — pra processar todas, loop sobre SM0 chamando RpcSetEnv pra cada uma.
- Senha em codigo — use credencial parametrizada, nao hardcode.