Preparando ambiente com RPCSetEnv e GetMV | Ti Responde 0202

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.

Dan (Daniel Atilio)
Cristão de ramificação protestante. Especialista em Engenharia de Software pela FIB, graduado em Banco de Dados pela FATEC Bauru e técnico em informática pelo CTI da Unesp. Entusiasta de soluções Open Source e blogueiro nas horas vagas. Autor e mantenedor do portal Terminal de Informação.

Deixe uma resposta

Terminal de Informação