Duvida Código de Item Vago

Discussão em 'Progress 4GL' iniciado por alexandrezakarias, Maio 18, 2015.

  1. alexandrezakarias

    alexandrezakarias Membro Participativo

    Bom Dia, prezados, como consigo por exemplo, ler a tabela item, e conseguir pegar qual o primeiro valor de item vago.
    Ou seja, tenho os itens cadastrados na tabela item assim: 1, 2, 4, 5, 6, 7, 8 e 10.
    Como faço para ele lendo os registros acima, me informar que o primeiro "código" de item vago é o 3 ?
    Obrigado!

    Att,

    Alexandre.
  2. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    tem muitos fatores que impedem o que vc quer, dai vai da sua criatividade para vencer essas barreiras, a primeira é que é um campo alpha com 16 posicoes, pelo fato de ser alpha, ele não segue a sequencia numerica correta, seguindo o seu exemplo, o sistema apresenta 1,10,2,4,5,6,7,8,9 .... então pra vc ter uma sequencia numerica correta, teria que criar os codigos com zeros a esquerda, se vc criar os codigo assim, dai vc pode simplesmente fazer um find last e pegar o ultimo, fora isso, só criando um contador e ir testando se existe ....
    Código:
    define variable codigo as character no-undo.
    
    assign codigo = "1".
    repeat:
        find first item no-lock
             where item.it-codigo = codigo
                   no-error.
        if not avail item then leave.
    
        assign codigo = string(int(codigo) + 1).
    end.
    
    message 'codigo livre : ' codigo
        view-as alert-box info buttons ok.
    
    Mas isso seria um codigo demorado dependendo do tamanho da sua base.
  3. alexandrezakarias

    alexandrezakarias Membro Participativo

    Opa, ótimo, muito obrigado.
    Consegui com esse seu exemplo adaptar para a minha situação e me ajudou muito.
    Obrigado novamente e tenha uma boa tarde.
    Abraço.

Compartilhe esta Página