Retorna o tamanho de uma variável.

Sintaxe

Len( < xParam > )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

xParam

qualquer

Variável que será avaliada

X

 

Retorno

Nome

Tipo

Descrição

nCount

numérico

Retorna o tamanho de xParam.

Observações

  • Se a cadeia de caracteres especificada for nula (""), a função LEN() retornará o valor zero. Entretanto, o caractere nulo, CHR(0), tem o comprimento de uma (1) posição.
  • Deve-se lembrar que no AdvPL cada array multidimensional é composto por vários subarrays. Além disso, estes subarrays não precisam, necessariamente, ter dimensões uniformes.
  • A tabela abaixo demonstra os retornos da função LEN para campos criados no SGBD:

    Tipo

    Retorno

    C

    O tamanho retornado corresponde ao tamanho de string máxima que pode ser armazenado na coluna.

    D

    É retornado sempre 8 bytes.

    L

    É retornado sempre 1 byte.

    M

    É retornado sempre 10 bytes.
    Observação: É importante lembrar que, este valor é retornado por compatibilidade e não corresponde a capacidade real de armazenamento da coluna. O tamanho máximo de armazenamento de uma coluna do tipo "M" está condicionada ao driver RDD utilizado.

    N

    Juntamente com o valor retornado na quarta posição, quantidade de decimais, informa a capacidade de armazenamento de valores numéricos no campo.

Exemplos

User function exemplo()
  MsgAlert( LEN("AdvPL") )        // Resulta 5
 
  cNome := "Protheus – ERP da TOTVS"
 
  MsgAlert( LEN(cNome) )          // Resulta 23
  MsgAlert( LEN("") )             // Resulta zero
  MsgAlert( LEN(CHR(0)) )         // Resulta 1
Return
 
//O exemplo abaixo demonstra como obter o número de elementos de um array com várias dimensões:
User Function exemplo2()
  LOCAL aMatriz[5, 10, 5]
   
  MsgAlert( LEN(aMatriz) )        // Resulta 5, o número de elementos da primeira dimensão
  MsgAlert( LEN(aMatriz[1]) )     // Resulta 10, o número de elementos da segunda dimensão
  MsgAlert( LEN(aMatriz[1, 1]) )  // Resulta 5, o número de elementos da terceira dimensão
   
  // Resulta 250, o número total de elementos do array
  MsgAlert( LEN(aMatriz) * LEN(aMatriz[1]) * LEN(aMatriz[1, 1]) )
Return

  • Sem rótulos