Descrição:

A função RpcSetEnv é utilizada para abertura de ambiente em rotinas automáticas, permitindo definir a empresa e filial no qual desejamos fazer a inicialização do ambiente, especificando o usuário e senha para determinar os direitos e ações a serem realizadas. É possível também especificar quais as tabelas que serão abertas para uso no ambiente e qual módulo será utilizado.


Sintaxe:

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


Retorno:

lRet → Logical, Retorna .T. se abriu corretamente o ambiente com a empresa e filial. Se .F. não conseguiu abrir o ambiente.


Parâmetros:

NomeTipoDescriçãoDefaultObrigatório
cRpcEmpCaracterCódigo da empresa.

cRpcFilCaracterCódigo da filial.

cEnvUserCaracterNome do usuário.

cEnvPassCaracterSenha do usuário.

cEnvModCaracterCódigo do módulo.'FAT'
cFunNameCaracterNome da rotina que será setada para retorno da função FunName(). É também utilizado na gravação da rotina que executou as inclusões/alterações na tabela de auditoria'RPC'
aTablesArrayArray contendo as tabelas a serem abertas.{}
lShowFinalLogicalAlimenta a variável publica lMsFinalAuto..F.
lAbendLogicalSe .T., gera mensagem de erro ao ocorrer erro ao checar a licença para a estação..T.
lOpenSXLógicoSE .T. pega a primeira filial do arquivo SM0 quando não passar a filial e realiza a abertura dos SXs..T.
lConnectLogicalSe .T., faz a abertura da conexão com servidor As400, SQL Server etc..T.

Exemplo:

Local aTables as array

aTables := {"CT1","CT2","CT3","CT4","CT5","CTF","CTE"}

//seta o ambiente com a empresa 99 filial 01 com os direitos do usuário administrador, módulo CTB
RpcSetEnv( "99","01", "Administrador", " ", "CTB", "CTBA102", aTables, , , ,  )

/************* Processamentos *************/

RpcClearEnv() //Encerra o ambiente, fechando as devidas conexões


Observação:

O ambiente não deve ser inicializado ou encerrado em rotinas de menu do Protheus, o Protheus já entrega o ambiente aberto e preparado para a correta execução da rotina, caso o ambiente seja aberto ou fechado em rotinas de menu erros diversos podem ocorrer.

Essa situação também ocorrer para schedule (exceção para processo especial) e para REST quando já configurado com PrepareIn.



  • Sem rótulos