Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hola Comunidad.
De nuevo recurro a ustedes porque cada mes recibo diferentes archivos de fuentes distintas. Estos archivos vienen con el código UPC o GTIN pero algunas fuentes utilizan el dígito verificador y otros no.
Habrá una solución para que se pueda unificar este campo para que se muestre como uno solo para el usuario de la DATA?
Estas son las opciones estandar de codificación.
D de la clave de formato | Posiciones de los dígitos | |||||||||||||||||
GTIN-8 | N 1 | N 2 | N 3 | N 4 | N 5 | N 6 | N 7 | N 8 | ||||||||||
GTIN-12 | N 1 | N 2 | N 3 | N 4 | N 5 | N 6 | N 7 | N 8 | N 9 | N 10 | N 11 | N 12 | ||||||
GTIN-13 | N 1 | N 2 | N 3 | N 4 | N 5 | N 6 | N 7 | N 8 | N 9 | N 10 | N 11 | N 12 | N 13 | |||||
GTIN-14 | N 1 | N 2 | N 3 | N 4 | N 5 | N 6 | N 7 | N 8 | N 9 | N 10 | N 11 | N 12 | N 13 | N 14 | ||||
SSCC | N 1 | N 2 | N 3 | N 4 | N 5 | N 6 | N 7 | N 8 | N 9 | N 10 | N 11 | N 12 | N 13 | N 14 | N 15 | N 16 | N 17 | N 18 |
Este es un ejemplo de un código que una fuente lo envía en 12 dígitos y otra fuente completo.
CODIGO | DIGITOS |
800030032453 | 12 |
8000300324532 | 13 |
Como siempre gracias por sus contribuciones.
Gracias Héctor y Luis.
Lo vamos a intentar de esa forma. La verdad me estaba preocupando que la fuente cambiara el formato de envío de los datos pero como lo menciona Héctor, no habría forma de identificarlo previo, asumiremos que los datos vienen siempre con el mismo formato...
Feliz semana!!!
Hola Gustavo,
Por lo que he estado leyendo de los códigos UPC (Universal Product Code - Wikipedia) o GTIN (Global Trade Item Number - Wikipedia, la enciclopedia libre) al final lo que tienes es una "ristra" de caracteres que identifican un producto completamente: fabricante+producto+dígito de control.
Si quieres unificar, no sería complicado si dispones del tipo de código (GTIN-8, GTIN-12, GTIN-13, GTIN-14 o SSCC) para cada registro. De esta forma, sabrías la longitud del código (8 caracteres, 12, 13, etc.) y sabrías si cada registro tiene un código con el dígito de control o no... El problema vendría si no dispusieses del tipo de código ya que por la longitud del mismo no podrías averiguarlo puesto que te puede venir con o sin dígito de control (p.e. un código de 12 dígitos puede ser un GTIN-12 con dígito de control o un GTIN-13 sin él).
Llegados al punto del ejemplo de un código de 12 dígitos que puede ser un GTIN-12 con dígito de control o un GTIN-13 sin él, podrías coger los n-1 caracteres de cada código e implementando (suponiendo que sea fácil) el algoritmo de generación del dígito de control de cada tipo de código generarlo y compararlo con el último carácter del código. Si no son iguales, el último dígito no sería el de control; si son iguales podría ser el dígito de control o dar a casualidad de que no lo traiga y el último sea igual a este...
De todas formas lo mismo no he entendido el problema y me estoy complicando mucho... Si podemos ayudarte mejor, nos lo dices.
Suerte y saludos,
H
Buen día.
Hola Gustavo, apoyándome en la información que de Héctor, adicional debes hacer un algoritmo:
El algoritmo de 5 pasos para cálcular el dígito de control
Supongamos que estamos utilizando el código ficticio de 05432122345.
Por lo tanto, el dígito de control es 7.
te adjunto el enlace https://www.codigoean.com/calculadora_del_digito_control.php
Gracias Héctor y Luis.
Lo vamos a intentar de esa forma. La verdad me estaba preocupando que la fuente cambiara el formato de envío de los datos pero como lo menciona Héctor, no habría forma de identificarlo previo, asumiremos que los datos vienen siempre con el mismo formato...
Feliz semana!!!