Númeración Materiales MM

Hola amigos,

Me encargaron investigar un tema, pero no estoy seguro de cómo encararlo (si se trata de un tema customizing MM o bien es algo ABAP), por eso les solicito apoyo.

Resulta que cuando el usuario ingresa a crear un material (MM01), el sistema ya le asiga un número:

image

image

pero si el usuario cancela:

image

e ingresa de nuevo a crear un material, ya le asigna otro número:

image

¿Alguien sabe si hay manera, ya sea del lado customizing MM o exit/BADI abap, de que no se pierda esta numeración cuando el usuario cancela la operación? No conozco mucho MM, aviso de antemano.

Muchas gracias!
Saludos,
Sebastián

Me hiciste probar cómo está en este cliente, y está igual :neutral_face:

Encima, llegué a la conclusión de que así actúa el estándar de SAP.
No hay error, es así., y no hay forma de configurar otra cosa, de acuerdo a la información oficial que SAP expone aquí: h_tps://wiki.scn.sap.com/wiki/display/ERPSCM/Transaction+MM01+jumping+the+range+numbers

The System behavior which you are reporting is correct and is accepted as of release 4.x for internal numbering. Since Rel.40A the System fetches the next internal number from number range at start of transaction MM01. It is not possible to use the same number twice, also after you have cancelled the transaction.


Nota SAP

  • 062077 “Info: Internal number assignment is not continuous”
  • 1843002 - Gaps and Jumps in Numbering
  • 504875 - Buffering number ranges
  • 678501 - System standstill, locks on NRIV

:exclamation: :warning: ¡Cuidado con el tema buffering! En algunos foros (no aquí) recomiendan desactivar el buffer para que SAP no salte números de materiales en el rango. Sin embargo, hay notas de SAP que explican que hacer eso no asegurará que SAP funcione correctamente.

2 Me gusta

Sidv, muchisimas gracias por la pronta respuesta.

Sólo por las dudas, voy a esperar un día para ver si algún abaper groso hizo algo medio “sucio” para evitar esto XD, de lo contrario mañana mismo te cierro el tema.

De nuevo, muchas gracias.

@sconoredhot lo veo harto complicado.
Si bien es cierto que se puede hacer una ampliación implícita en el include LMGMMI05 que es donde se busca el número de material al final del todo del MODULE, la solución tiene muchas complicaciones, sobre todo por tema de concurrencia de usuarios.

Los puntos a tener en cuenta en el lugar donde va ubicada la ampliación son:

  1. ya se ha ejecutado la función INTERNAL_MAT_NUMBER que ha cogido un número nuevo, pero si al final usas un número del hueco el nuevo quedará vacío en la tabla, por lo tanto siempre que cojas uno antiguo generarás otro salto
  2. en tu parte, deberías leer la MARA para ver los huecos que hay y elegir uno, pero si en ese momento entra otro usuario haría lo mismo, por tanto, tendrías que bloquear la MARA!! para lectura incluso para que dos usuarios no buscaran el mismo hueco, pero una vez que uno lo encuentra ¿Cómo hacer para que el otro no lo use ? No se podrían buscar huecos en la MARA mientras no se termine de grabar, es decir, que no podrían estar dos usuarios creando materiales.
3 Me gusta

Gracias por las respuestas amigos, voy a ir por el lado de “no se puede” porque como dicen, tocar algo aquí va a ser meterme en un terreno en donde puedo terminar rompiendo más de lo que arreglo.

Saludos!

1 me gusta

No sé si llego tarde pero has probado con la transacción SNRO?
Objeto: MATERIALNR

image

tienes que tener el flag desmarcado y la ctd.nums cero

A mí me ha servido para maestros de proveedores y clientes.
Ya me dices si te vale.

al igual que la foto que me muestras, tengo el flag grisado. De todas maneras te agradezco.
Ya fui por el “no se puede” :smiley:
Saludos.

1 me gusta

Este tema se cerró automáticamente 7 días después del último post. No se permiten nuevas respuestas.