MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 05/10/14, 17:50:58
Teotl Teotl is offline
Junior Member
 
Fecha de Ingreso: sep 2011
Localización: Mexico
Mensajes: 11
Exclamation Bloquear varias ejecuciones Job - Diferentes servidores

Hola, buen día.

Tengo un problema en un requerimiento que estamos realizando, pidieron que un programa, el cual se ejecuta en fondo (por medio de un job), solo pueda ser ejecutado una sola vez por centro, por ejemplo:
solo puede ejecutarse un job para el centro A, y uno para el B, si se intenta ejecutar otro job para el centro A o B, este regresa un mensaje indicando que aun no termina un job para dicho centro.

Todo esto hasta aqui, lo realizamos con la función "Import / Export TO/FROM SHARED MEMORY ".

El detalle esta es que, nos informaron, que tambien ellos realizan las ejecuciones en diferentes servidores.
Ejemplo:
Ejecutan un Job para el centro A en servidor S1, mandan otro Job para el centro A en servidor S1, manda error el segundo Job.
(Aun no termina el primer job para centro A en servidor S1) Ejecutan un Job para el centro A en Servidor S2, permite la ejecución.

Esto me imagino por que la función "Import / Export TO/FROM SHARED MEMORY" no ha de funcionar en caso de diferentes servidores.

Ahora, mi duda es, que no tengo una idea clara de como poder darle esto una solución. Se me ocurre crear una tabla z y que se modifique, al estar bloqueada por el primer job en el servidor S1, el segundo job en el servidor S2 no trabajaría por el bloqueo de la tabla z, pero igual, no tengo claro esta parte.

Si alguien me puede dar alguna idea, se lo agradeceria mucho, Saludos, buen día.
Responder Con Cita
  #2  
Viejo 06/10/14, 17:15:20
Teotl Teotl is offline
Junior Member
 
Fecha de Ingreso: sep 2011
Localización: Mexico
Mensajes: 11
Mas dudas

Hola, perdón por el doble post, pero estaba la documentación ABAP, y esta en el caso de IMPORT/EXPORT / SHARED MEMORY or SHARED BUFFER indica lo siguiente.

"If SHARED MEMORY or SHARED BUFFER is specified, the data cluster is stored in cross-transaction application buffers of the shared memory on the application server. All programs of the same application server have access to these buffers. "

Ahora la duda crece mas, se supone que esto lo soporta, por el momento, voy a solicitar acceso a los ambientes de calidad en diferentes servidores y debugear.

Si alguien sabe la razón o alguna otra idea para dar solución se los agradeceria, saludos.
Responder Con Cita
  #3  
Viejo 09/10/14, 13:24:45
sconoredhot sconoredhot is offline
Senior Member
 
Fecha de Ingreso: feb 2008
Localización: Argentina, Rosario
Mensajes: 341
Smile hola

Hola, yo lo haria mas sencillo.
Cambiaria los nombres de los jobs que estas creando a algo asi como:

JOB_CENTRO1_XXX
JOB_CENTRO2_XXX

Luego, dentro de tu programa, hago un select a la tabla TBTCO
por jobname = JOB_CENTRO1_%* con los status R o S (job corriendo, o por correr), y si el select es exitoso, no lanzar un nuevo job.

Si no, cuando llamas a la FM job_close, se pueden hacer cosas con los eventos, de manera que espere a que termine el job para ejecutar el siguiente (jobs en cadena).

Saludos.
__________________
Sebas

Desarrollador ABAP.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 08:22:25.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web