Fazendo backup dos parâmetros em memória com NgSalvaMvPa e NgRetAuMVPa – Maratona AdvPL e TL++ 369

Nesse vídeo demonstraremos a utilização das funções NgSalvaMvPa e NgRetAuMVPa, que servem para fazer um backup ou restaurar os parâmetros em memória (MV_PAR01 até o MV_PAR60).

Abaixo o código fonte desenvolvido para o exemplo em vídeo acima:

//Bibliotecas
#Include "TOTVS.ch"

/*/{Protheus.doc} User Function zExe369
Exemplo de função que armazena o conteúdo dos parâmetros em um backup sendo possível depois retornar esse backup
@type Function
@author Atilio
@since 30/11/2022
@obs 
    Função AtfSaveMvVar
        * Não possui parâmetros, nem retorno *

    Função AtfRestMvPar
        * Não possui parâmetros, nem retorno *

    **** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao ****
/*/

User Function zExe369()
    Local aArea      := FWGetArea()
    Local cMensagem  := ""
    
    //Mostra uma pergunta qualquer ao usuário
    Pergunte("A311TES", .F.)
    cMensagem += "Após o Pergunte da A311TES, o MV_PAR02 é '" + MV_PAR02 + "' " + CRLF

    //Faz um backup dos MV_PAR em memória
    aBackup := NgSalvaMvPa()
    cMensagem += "Foi realizado um backup" + CRLF

    //Aqui pode ser feito outras tratativas, acionar ParamBox, Pergunte, etc
    Pergunte("A410INCREM", .F.)
    cMensagem += "Após o Pergunte da A410INCREM, o MV_PAR02 é '" + MV_PAR02 + "' " + CRLF

    //Volta esse backup que estava em memória
    NgRetAuMVPa(aBackup)
    cMensagem += "Após o voltar o Backup, o MV_PAR02 é '" + MV_PAR02 + "' " + CRLF

    ShowLog(cMensagem)

    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.

4 Responses

  1. Rafael Achôa de Camargo Barros disse:

    Grande, Atílio, sempre trazendo ótimas ferramentas para o nosso dia-a-dia! Acredita que precisei de algo há pouco mais de 1 mês, mais ou menos, e tive que desenvolver uma user function para isso, já que não conhecia esta função que disponibilizou aqui? Rs
    Assim que voltar de férias voucrevisar meu código e utilizar a função padrão! Obrigado!!

  2. Alexandre Serinhano disse:

    Grande Atílio, sempre ajudando, só para complementar tem mais esse no padrão
    aMvPars := GuardPars()
    RestPars(aMvPars)

Deixe uma resposta

Terminal de Informação