Urgente Função sequencia alfanumérica

Discussão em 'Progress 4GL' iniciado por hugo_mlcabral1, Junho 13, 2016.

  1. hugo_mlcabral1

    hugo_mlcabral1 Sem Pontuação

    Senhores, boa noite!

    Alguém tem uma função pronta para gerar uma sequencia alfanumérica de 2 dígitos, que seja executada após um determinado campo atingir 99, aí começaria a sequencia a1,a2,a3... etc?
  2. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    usa hexa, vc de 00 a FF (255 numeros).
  3. hugo_mlcabral1

    hugo_mlcabral1 Sem Pontuação

    Resolvi com o algoritmo abaixo:

    DEF VAR v-parcela AS CHAR FORMAT "x(2)".
    DEF VAR aux-1 AS INT.
    DEF VAR aux-2 AS INT.

    ASSIGN v-parcela = "A9".

    ASSIGN aux-1 = ASC(substring(v-parcela,1,1))
    aux-2 = IF INT(SUBSTRING(v-parcela,2,1)) = 9 THEN 0 ELSE INT(SUBSTRING(v-parcela,2,1)).

    IF v-parcela = "99" THEN
    DO:
    ASSIGN v-parcela = "A1".
    END.
    ELSE
    DO:
    IF aux-2 = 0 THEN
    ASSIGN v-parcela = CHR(aux-1 + 1) + STRING(aux-2 + 1).
    ELSE
    ASSIGN v-parcela = CHR(aux-1) + STRING(aux-2 + 1).
    END.

    MESSAGE v-parcela
    VIEW-AS ALERT-BOX INFO BUTTONS OK.
    reissobr curtiu isso.

Compartilhe esta Página