Importação de dados

Discussão em 'Progress 4GL' iniciado por Elvis, Maio 11, 2015.

  1. Eilleen

    Eilleen Membro Ativo

    @fernandofarah, tudo depende muito dos programas que usam os dados...
    Eu também não trato nada não, mas não sei até que ponto isso é o melhor... no caso de CHAR e DATE, não lembro de nenhum problema em não tratar, exceto talvez uma visualização de "?" ao invés de "" por parte do usuário... Porém nos casos de INTEGER/DECIMAL, pooooode (veja bem, eu disse "pode", e não "vai"... rs) acontecer de dar erro em cálculos que utilizem os dados desses campos...
    Outra forma mais fácil de validar, seria só gravar os dados na base se forem <> ?... assim se estiver nulo vai manter o valor inicial configurado no banco (zero, vazio, etc)...
  2. fernandofarah

    fernandofarah Membro Participativo

    @Eilleen exatamente isso que falou que quis dizer, apenas não mexer nesses campos..

    Esse valor "?" só é atribuído quando vem de alguma importação, e não mexendo nesses campos fica como foi definido inicialmente..

    char = ""
    integer = 0
    e date = ?
  3. Eilleen

    Eilleen Membro Ativo

    Ahhhhh.... estava me esquecendo do mais importante... e nesse caso, é primordial validar: Campos do tipo LOGICAL.
    Mas isso depende de onde está vindo os dados a importar.. pois no Progress o campo LOGICAL tem 3 valores possíveis, o que é muito atípico, pra não dizer ilógico, mas tem... são: YES/NO/? e nesse caso o "?" pode dar problema se vc tiver nas validações comparativas com "=".. Por exemplo: tabela produto, campo ativo = ?, o produto não está nem ativo nem inativo, a menos que valide que produto ativo é aquele que produto.ativo <> NO...

    Trocando em miúdos:

    Código:
    /* o registro com ? vai ser ignorado em qualquer dessas validações, ou seja, não vai aparecer nem como ativo nem como inativo: */
    IF Produto.ativo THEN
    IF NOT Produto.ativo THEN
    IF Produto.ativo = YES THEN
    IF Produto.ativo = NO THEN
    
    /* uma vez que fique definido que o "?" assume o valor negativo a busca pelos INATIVOS deveria ser: */
    IF Produto.ativo <> YES THEN
    fernandofarah curtiu isso.
  4. fernandofarah

    fernandofarah Membro Participativo

  5. Elvis

    Elvis Sem Pontuação

    Sim , Mais se o campo é cadastrado de um programa de zoom quando pesquiso o campo com o uso do Ctrl+Alt+H o campo aparece com tabela = ? como faço para na importação cadastrar este campo.
  6. fernandofarah

    fernandofarah Membro Participativo

    Bom dia.

    Amigo geralmente o campo de pesquisa do zoom não vem com campo definido em tabela por se tratar de variáveis. Essa informação normalmente aparece em telas de cadastro que os campos fazem acesso direto a algum campo da tabela.

    Funciona mais ou menos assim:

    variavel-ini <> variavel-fim

    e os valores das variáveis são atribuídas na query responsável pela busca do browser..

    Código:
    for each tabela no-lock where  campo1 >= variavel-1 and campo2 <= variavel-2:
       /*mostra o resultado*/
    end.

Compartilhe esta Página