PDA

Ver la Versión Completa : Problema con rangos de Numeros. SNRO


isratol
11/07/08, 20:44:08
Buen dia,

Tengo implementado un intervalo(rango - SNRO) en un requerimiento para insertar registros de control en una tabla Z(lo utilizo como llave). Cada vez que alguien hace un movimiento en la tx. PA30, PA40, y PBA7, corre una BADI y hace este proceso. Uso la funcion GET_NUMBER_NEXT para traer el consecutivo de ese intervalo creado. Todo funcionaba muy bien en ambiente de desarrollo y calidad, pero al pasarlo a produccion estan saliendo algunos detalles.

La tabla Z tiene tambien los campos de fecha y hora de insersion. Y se supone que los registros se insertan consecutivamente en cuanto al intervalo y tambien en a la fecha(un registro de fecha menor no puede ser insertado despues de de uno de fecha mayor). Pero esto esta ocurriendo :confused: .

No se porque me esta generando estos numeros asi. El mismo proceso se hizo para cada ambiente(generar el intervalo, implementar BADI, etc.)

Alguien tiene alguna idea del porque ocurre esto?

Saludos a todo el foro.

ibecerra
14/07/08, 15:24:54
Haber, te comento algo cuando creas un intervalo en la snro en memoria se guardan los numeros consecutivos.
es decir si ingresastes la primera vez, genera 1 pero en memoria separa los 10 siguientes. entonces cuando ingresas a la trasaccion toma lo que esta en memoria y se lo asigna.
ahora cuando grabas la hora y fecha? ..
antes de la llamada de la funcion o despues.. yo creo que deberia ser despues de tomar el correlativo.
configura en la snro el siguiente parametro para que te salga consecutivo.

Almac.mem.interm.de mem.prpal.
Ctd.núms.en mem.interm. 0 <-- ojo con esto.

isratol
14/07/08, 15:44:36
Gracias por la respuesta. Muy util.
Aunque, porque me adviertes al poner 0 en "Cantidad de numeros en memoria intermedia"?? O solo es que me estas diciendo que ponga ese cero? jejeje..

Bueno voy a intentar esto, lo unico es que me va a hacer un poco mas lento el proceso, pero pues si tarda 10 min, que se tarde 15 no hay problema jejeje...
Gracias. y saludos.

ibecerra
14/07/08, 15:56:18
Tocayo, 0 es para q no guarde memoria intermedia y te genero consecuitivamente.
Saludos

isratol
14/07/08, 16:20:21
Okey...
Ahora consulte y resulto que ese no es tanto problema... mira te pongo unos registros(le borre las columnas q son irrelevantes... (revisa el 2,3,4. Especialmente el 3).

MANDT IDEMP BZDAT UNAME UZEIT WERKS

800 343031 07.07.2008 PGARCIAR 14:37:13 1120
800 343220 07.07.2008 MRODRIGUEZV 18:59:41 61
800 343232 08.07.2008 NHERNANDEZS 10:52:36 1122
800 343242 07.07.2008 MRODRIGUEZV 20:43:18 1

Como puede ser que el registro 4 tenga una fecha mayor que el registro 3, y este tenga un consecutivo mayor que el registro 3(IDEMP)?? es por lo mismo de lo que me dices???

y efectivamente, primero asigno la fecha y hora del sistema a las variables de la tabla y despues hago la llamada a la funcion 'NUMBER_GET_NEXT' para obtener el numero... tiene tambien esto algo que ver?


Bueno, un saludo desde Monterrey Mexico..
Q buena onda lo de tocayo.. jajajaa...
q estes bien..

ibecerra
14/07/08, 16:38:58
pero has visto q te genera de 10 en 10. es por la memoria intermedia.
ponle 0

isratol
14/07/08, 16:47:10
dale...
gracias por la ayuda...

Saludooos

erbag
03/01/09, 06:40:29
Es cierto que por los números de memoria intermedia se estan dando saltos de números, esto en razón de que en cada servidor se crean intervalos reservados de números. Seguramente en calidad y desarrollo trabajaban con un solo servidor y por eso nunca ocurrió el salto. Sin embargo, no es recomendable deshabilitar la memoria intermedia de rango de números ya que es una opción para mejorar el performance. Para esos casos, puedes especificar dentro de la función GET_NUMBER_NEXT la opción ignore_buffer, con lo que evitaras que tu rango de números de saltos. Espero sea de utilidad. Saludos.

dianavasquez84
04/03/09, 00:20:02
HOLA,

En mi empresa pasaba lo mismo, en la transaccion snum cambiamos el bufer a caro y no siguio saltando en la generacion de docuemntos, pero algo que no pudimos resolver son los saltos en los docuemtnos de pago.
esto no lo hemos podido solucionar alguien me puede ayudar?



gracias