Saber tipo e tamanho de uma variável ou campo de temp-table

Discussão em 'Progress 4GL' iniciado por Demetrius, Julho 10, 2009.

  1. Demetrius

    Demetrius Sem Pontuação

    Galera,
    preciso saber qual é o tipo da variavel ou campo da tabela e seu tamanho maximo.

    Ex:
    declaro a variavel:

    def var A is int format "x(4)".

    depois queria saber se é possível fazer o seguinte:

    Pegar o tipo da variavel A e verificar se é inteiro.
    Pegar o tamanho máximo da variavel A. "O resultado deverá ser igual a 4 que foi o tamanho declarado".

    Obrigado!!
  2. Demetrius

    Demetrius Sem Pontuação

    Re: Saber tipo de uma variável

    Vou re-formular a pergunta:

    Gostaria de saber se o valor que estou recebendo em uma variável é um inteiro?

    variavel A = 1

    se variavel A = inteiro então
    é inteiro.
    senão
    não é inteiro.
  3. mcarril

    mcarril Membro Participativo

    Existe uma complicação nisto aí !!! Não dá para definir uma variável inteira com um format "x(04)".

    O que você pode fazer é :

    DEF VAR v-a AS CHAR FORMAT "X(04)".

    UPDATE v-a. /*(v-a é o valor que esta entrando)*/

    DISP INT(v-a) NO-ERROR. /*(Aqui você pode mudar e criar uma variável inteira para igualar), se necessário */.

    IF ERROR-STATUS-ERROR THEN MESSAGE "O campo não é inteiro".
    ELSE MESSAGE "O campo é inteiro".

    Se você colocar a máscara de "9999", nem deixa entrar o valor.

    Abraços,
  4. Raviel

    Raviel Sem Pontuação

    ola, da para pegar os atributos da variavel mas ela tem que estar definida em uma frame. ex:

    Código:
    DEF VAR num AS INT FORMAT "9999".
    
    DEF FRAME f_main
             num.
    
    MESSAGE num:DATA-TYPE SKIP 
            num:FORMAT 
            IN FRAME f_main
        VIEW-AS ALERT-BOX INFO BUTTONS OK.

Compartilhe esta Página