Categorias

Cálculo de dígito verificador para EAN-14 para Microsiga AdvPI

A função abaixo recebe como parâmetro uma string contendo 13 dígitos de um código de barras no padrão EAN-14, e calcula o dígito verificador correspondente ao código informado, também retornado como uma string.

/*
Função		U_EAN14()
Descrição	Calcula Digito verificador para EAN14 
Parâmetro	String com 13 digitos 
Retorno		String contendo dígito verificador
*/

User function EAN14(cCod13)
Local nOdd := 0
Local nEven := 0 
Local nI
Local nDig  
Local nMul := 10 
For nI := 1 to 13
	If (nI%2) == 0
		nEven += val(substr(cCod13,nI,1))
	Else
		nOdd += val(substr(cCod13,nI,1))
	Endif
Next
nDig := nEven + (nOdd*3)
While nMul