miércoles, 16 de mayo de 2012

Dígito de control del SSCC (EAN128) y otros EANs.


Estoy con temas de EDIs-IDOCs de entregas, el mensaje DESADV, en la otra parte esperan que les envíe el código seriado o matrícula del bulto, SSCC que ahora mismo no es una cosa que estemos gestionando desde SAP. Lo tendré que crear y validar el Dígito de control, que ahora mismo es lo que me preocupaba.

SSCC. Serial Shipping Container Code.

Me han explicado que el SSCC es un código seriado o matrícula del bulto. Permite diferenciar dos bultos exactamente iguales. Tiene el formato EPPPPPPPSSSSSSSSSD donde:
  • E (1) es el dígito de empaquetado o de extensión. Es un número del 0 al 9. Habitualmente se utiliza el "3". Parece que en SAP corresponde al elemento de datos EAN128_HU_ART.
  • PPPPPPP (7) es la raíz del punto operacional del proveedor.
  • SSSSSSSSS (9) es un número secuencial que empezaría por "000000001" y continuaría sin repetirse en ningún bulto en al menos 1 año.
  • D (1) es el dígito de control calculado a partir de los anteriores con el algoritmo de cálculo de los códigos EAN.

Cálculo del dígito de control en SAP.

Después de buscar un rato por SAP, he encontrado en el grupo de funciones LE_BARCODE el módulo LE_CHECK_DIGIT_CALCULATION. Le digo en IF_NUMBER_WO_CHECK_DIGIT = ‘CPPPPPPPSSSSSSSSS’, y dejo los valores por defecto para IF_CALC_METHOD = ‘A’ y IF_USER_CALC_METHOD y IF_ONLY_CHECKING los dejo vacíos.
Me devuelve en  EF_NUMBER_W_CHECK_DIGIT todo el SSCC, es decir ‘CPPPPPPPSSSSSSSSSD’.

Otros usos.

Parece que se puede usar para el cálculo del dígito de control de otros EANs, por ejemplo el del punto operacional que guardamos para un cliente en la XD01 (XD02, XD03), es decir concatenaríamos de la KNA1 los campos BBBNR (Núm.ubic.int.1) y BBSNR (Núm.ubic.int.2) y nos devolvería estos unido a BUBKZ (Díg.ctrl.).

Y como seguro que otro día lo busco y no lo encuentro y hoy, anoto el grupo de funciones EAN_GLN_FUNCS que relaciona puntos operacionales y clientes y vendedores. 

5 comentarios: