Buscando várias informações de uma tabela com GetAdvFVal – Maratona AdvPL e TL++ 263

Nesse vídeo demonstraremos a utilização da função GetAdvFVal, que serve para buscar 1 ou mais informações de uma tabela.

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

//Bibliotecas
#Include "TOTVS.ch"

/*/{Protheus.doc} User Function zExe263
Função que retorna vários campos de uma tabela em um Array (como um Posicione para vários campos)
@type  Function
@author Atilio
@since 21/02/2023
@see https://tdn.totvs.com/pages/releaseview.action?pageId=6814929
@obs 

    Função GetAdvFVal
    Parâmetros
        + cKeyAlias     , Caractere        , Alias da Tabela
        + uCpo          , Indefinido       , Define o campo (caractere) ou os campos (array) a serem retornados
        + uChave        , Indefinido       , Define a chave de pesquisa da tabela conforme o índice
        + nOrder        , Numérico         , Define o índice para pesquisar na tabela
        + uDef          , Indefinido       , Define o campo (caractere) ou os campos (array) a serem retornados caso não encontre dados com a pesquisa
    Retorno
        Retorna um campo somente (se for caractere) ou vários campos (se for array)
    
    **** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao ****
/*/

User Function zExe263()
    Local aArea      := FWGetArea()
    Local aCampos    := {"A1_COD", "A1_NOME", "A1_MUN"}
    Local aBusca     := {}
    Local cChavePesq := FWxFilial("SA1") + "C00001"
    Local aDefault   := {"", "", ""}

    //Realiza a busca na SA1 conforme a chave passada
    aBusca := GetAdvFVal("SA1", aCampos, cChavePesq, 1, aDefault)

    //Mostra o que foi encontrado
    FWAlertInfo("Foi encontrado a seguinte informação, [1] = " + aBusca[1] + "; [2] = " + aBusca[2] + "; [3] = " + aBusca[3], "Teste GetAdvFVal")

    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