Nesse vídeo demonstraremos a utilização da função X31UpdTable, que serve para atualizar uma tabela no banco de dados, como por exemplo, criar ou atualizar campos manualmente via APSDU e depois efetivar via AdvPL (a partir da 2210 é exibido uma mensagem que em breve esse recurso será descontinuado).
Abaixo o código fonte desenvolvido para o exemplo em vídeo acima:
//Bibliotecas #Include "TOTVS.ch" /*/{Protheus.doc} User Function zExe539 Atualiza uma tabela no SQL conforme as alterações nos dicionários (SX2, SX3 e SIX) @type Function @author Atilio @since 07/04/2023 @obs Função X31UpdTable Parâmetros Recebe o alias a ser atualizado Retorno Função não tem retorno A partir da LIB 20221010_P12, é exibido uma mensagem de que essa função será descontinuada em breve Saiba mais em: https://tdn.totvs.com/pages/releaseview.action?pageId=698632582 **** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao **** /*/ User Function zExe539() Local aArea := FWGetArea() Local cTabAlias := "" //Abre um input pro usuário digitar a tabela cTabAlias := FWInputBox("Insira o alias da tabela") cTabAlias := Alltrim(cTabAlias) //Caso a variável foi preenchida, seja tamanho 3 e exista no dicionário, ai prossegue If ! Empty(cTabAlias) .And. Len(cTabAlias) == 3 .And. ExisteSX2(cTabAlias) //Limpa as mensagens que haja em memória do X31 __SetX31Mode(.F.) //Tenta executar a atualização da tabela (criação e alteração de índices e campos) X31UpdTable(cTabAlias) //Se houve algum erro, mostra mensagem If __GetX31Error() ShowLog("Houve um erro na atualização da tabela '" + cTabAlias + "':" + CRLF + CRLF + __GetX31Trace()) Else FWAlertSuccess("Sucesso na atualização da tabela '" + cTabAlias + "'", "Sucesso") EndIf EndIf FWRestArea(aArea) Return
Bom pessoal, por hoje é só.
Abraços e até a próxima.