Avalados por :

¿Existe un módulo estándar en SAP EWM para calcular el dígito de verificación de SSCC?

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 18 Vistas
0
Cargando...

Hola,

¿Existe algún módulo de función estándar en el sistema SAP EWM para calcular el dígito de verificación para SSCC (EAN 128)? Estoy al tanto de la lógica detrás del cálculo, pero ¿por qué reinventar la rueda si ya existe?

La lógica para el cálculo:

(00)00872150999000002


Ignora el identificador de aplicación:
(00)
El código de función utilizado para el código de barras UCC SSCC es 1. Por lo tanto, 1 es el primer dígito en la cadena a evaluar.
Por lo tanto, la cadena a evaluar es:
100872150999000002

  1. Comenzando desde la posición 2 del número, suma los valores en las posiciones pares.
    0 + 8 + 2 + 5 + 9 + 9 + 0 + 0 + 2 = 35
  2. Multiplica el resultado del paso 1 por 3.
    35 x 3 = 105
  3. Comenzando desde la posición 3 del número, suma los valores de los dígitos en posiciones impares:
    0 + 7 + 1 + 0 + 9 + 0 + 0 + 0 = 17
  4. Suma los resultados de los pasos 2 y 3.
    105 + 17 = 122
  5. El carácter de verificación es el número más pequeño que, al sumarse al resultado obtenido en el Paso 4, da como resultado un número múltiplo de 10.
    122 + x = 130 (múltiplo de 10)

    Ocho es el número que, al sumarse a 122, da como resultado un múltiplo de 10. Por lo tanto, el carácter de verificación es 8 .

Hazme saber si alguien conoce un FM estándar para realizar la tarea por mí

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

1 Respuestas

0
Cargando...

Escribí un FM para esto ya que no pude encontrar ningún FM estándar.

DATA : longitud TIPO i .

DATA : lv_temp TIPO n ,

lv_sum_first TIPO int4 ,

lv_sum_second TIPO int4 ,

lv_final_res TIPO int4 .

DATA : work_string ( 50 ) TIPO c .

DATA : lv_first TIPO int4 VALOR 1 ,

lv_second TIPO int4 VALOR 2 .

work_string = iv_number .

longitud = strlen ( work_string ) .

DESPLAZAR work_string IZQUIERDA ELIMINANDO ESPACIOS espacio .

HACER longitud VECES .

ESCRIBIR work_string+lv_first ( 1 ) A lv_temp .

lv_sum_first = lv_sum_first + lv_temp .

ESCRIBIR work_string+lv_second ( 1 ) A lv_temp .

lv_sum_second = lv_sum_second + lv_temp .

lv_first = lv_first + 2 .

lv_second = lv_second + 2

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?