No vídeo de hoje, vamos demonstrar em como preparar o ambiente com RPCSetEnv buscando a senha de um parâmetro com GetMV.
A dúvida de hoje, nos perguntaram, se seria possível criar uma customização que utilize RPCSetEnv, mas que busque a senha de um GetMV.
Pensando nisso, montamos um exemplo, onde vamos mostrar em como usar uma lógica onde vamos preparar o ambiente para buscar o parâmetro e depois usar ele num segundo RPCSetEnv com o usuário.
Segue abaixo o vídeo exemplificando:
E abaixo a função:
//Bibliotecas
#Include "tlpp-core.th"
//Declaração da namespace
Namespace custom.terminal.youtube
#Define CRLF Chr(13) + Chr(10) //Carriage Return Line Feed
/*/{Protheus.doc} User Function video0202
Exemplo de como usar o RPCSetEnv com senha de parâmetro
@type Function
@author Atilio
@since 12/08/2024
@example custom.terminal.youtube.u_video0202()
/*/
User Function video0202()
Local aArea As Array
Local cRpcCompany := "99" As Character
Local cRpcBranch := "01" As Character
Local cRpcUser := "daniel.atilio" As Character
Local cRpcPass := "" As Character
Local lAutomatic := .F. As Logical
//Se não estiver preparado o ambiente
If Select("SX2") == 0
//Primeiro a gente prepara o ambiente só para buscar o conteúdo do parâmetro
RPCSetEnv(cRpcCompany, cRpcBranch, "", "", "", "")
cRpcPass := SuperGetMV("MV_X_RPCSE", .F., "tst123")
RPCClearEnv()
//Ai sim fazemos a preparação do ambiente
RPCSetEnv(cRpcCompany, cRpcBranch, cRpcUser, cRpcPass, "", "")
//Define que veio de um processo sem tela, um processo automático
lAutomatic := .T.
EndIf
//Agora sim armazena o backup do alias
aArea := FWGetArea()
// ... sua lógica da customização ...
FWRestArea(aArea)
Return
Bom pessoal, por hoje é só.
Abraços e até a próxima.