Ordenando uma tabela por um apelido de índice com DbOrderNickName – Maratona AdvPL e TL++ 127

Nesse vídeo demonstraremos a utilização da função DbOrderNickName que serve para definir e ordenar a utilização de um índice em uma tabela conforme seu apelido (nickname).

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

//Bibliotecas
#Include "TOTVS.ch"

/*/{Protheus.doc} User Function zExe127
Ordena uma tabela conforme o apelido (nickname) passado
@type Function
@author Atilio
@since 14/12/2022
@see https://tdn.totvs.com/display/tec/DBOrderNickname
@obs 

    Função DBOrderNickname
    Parâmetros
        + cApelido     , Caractere     , Apelido que será buscado na tabela SIX para ordenar nosso alias
    Retorno
        + lRet         , Lógico        , .T. se conseguiu encontrar e ordenar ou .F. se houve alguma falha

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

User Function zExe127()
    Local aArea      := FWGetArea()
    Local cNickTab   := "LOTEPLS"
    Local cMensagem  := ""

    //Abre o cadastro de pedidos de compras
    DbSelectArea("SC7")
    
    //Tenta ordenar conforme o apelido
    If SC7->(DbOrderNickName(cNickTab))
        //Monta a mensagem e exibe
        cMensagem += "Foi possível ordenar pelo apelido -" + cNickTab + "-" + CRLF + CRLF
        cMensagem += "O índice numérico é: " + cValToChar(SC7->(IndexOrd())) + CRLF
        cMensagem += "E a chave do índice é: " + SC7->(IndexKey(IndexOrd())) + CRLF
        FWAlertInfo(cMensagem, "Teste DbOrderNickName")

    Else
        FWAlertError("Apelido não encontrado!", "Falha DbOrderNickName")
    EndIf

    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