Sintaxe


GETSXENUM( <alias>, <campo>, <aliasSXE>, <ordem> )


Propósito


Obter o próximo número disponível para o alias especificado no parâmetro.


Argumentos


<alias>


(OBRIGATÓRIO) Alias da tabela para a qual será obtido o próximo número disponível e para o qual será efetuado o controle da numeração sequencial


<campo>


(OBRIGATÓRIO) Nome do campo para o qual será obtido o próximo número disponível e para o qual será implementado o controle da numeração. 


<aliasSXE >


(OPCIONAL) É utilizado quando o nome do alias nos arquivos de controle de numeração não é o nome convencional do alias para o Protheus.


<ordem >


(OPCIONAL) Número do índice que será utilizado para verificar qual o próximo número disponível. Quando não informado a primeira ordem é assumida, o que pode causar erro, caso o campo informado no segundo parametro não faça parte da chave de indice como primeiro campo após o campo filial do sistema.


Utilização


A numeração é obtida por meio dos arquivos de sistema SXE/SXF ou pelo servidor de numeração, caso esta configuração esteja habilitada no Protheus.


  • Sem rótulos

1 comentário

  1. Exemplo com <aliasSXE> incomum:
    Entre no controle de numeração via menu do configurador apcfg110 ou via fórmula apcfg110(). Localize o E1_IDCNAB01 (IDCNAB para a empresa 01) com sua próxima numeração.

    A forma de se obter o próximo número neste cenário é:
    GetSxeNum("SE1","E1_IDCNAB","E1_IDCNAB"+cEmpAnt)

    Exemplo GetSxNum
    cIDCNAB := GetSxeNum("SE1","E1_IDCNAB","E1_IDCNAB" + cEmpAnt)
     
    // É feito um tratamento bruto de erro. Caso não dê certo, é feito um rollback da numeração
    if reclock('SE1',.T.)
    	// Utilize o cIDCNAB neste bloco na gravação de campo(s).
    	ConfirmSx8()
    	msunlock('SE1')
    else
    	RollbackSx8()
    endif

     

    Links relacionados: CONFIRMSXE()ROLLBACKSXE()