MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Forzar Commit?? (foro/showthread.php?t=11280)

Anel Lazcano 25/02/08 23:11:19

Forzar Commit??
 
Hola a todos, en mi programa estoy generando una poliza y despues trato de compensarla pero me manda a la pantalla de compensacion donde me doy cuenta que NO tomo el numero de poliza, pero si lo corro con un break y le doy F5 si lo toma y no me marca error, le di commit, despues de generar la poliza y ni asi, mientras no lo corra en debuggin me marca ese error, alguien conoce alguna otra manera de forzar el commit o alguna otra instruccion que me funcione, actualmente asi tengo el codigo y pareciera q no tengo nada porque no funciona!!!

perform grabar_poliza.
COMMIT WORK.
SET UPDATE TASK LOCAL.
COMMIT WORK AND WAIT.
if documento <> ' '. "documento es el No.Doc de la poliza
perform compensar.
endif.

abapconsultoria 26/02/08 12:09:03

Que tal!!! Creo que el problema debe estar dentro del 'perform grabar_poliza'. podrias enviar el form completo?

Saludos.

Javier.

Anel Lazcano 26/02/08 17:37:26

Ya lo solucione con un delay de 5 segundos, muchas gracias de cualquier manera, la forma solo es un batch para generar una poliza donde le mando los parámetros a los campos de la dynpro.

Gracias!

LouieBoy 27/02/08 08:18:03

Buenas, yo con las cargas de materiales tube el mismo problema, utilizaba bapis y el loop era mas rapido que el sistema, por lo que me daba errores del el material xxxxx esta siendo bloqueado, el comit work and wait, creo que tiene un delay de menos de un segundo. yo lo que utilice es el wait up to 1 seconds, 5 segundos lo veo un poco excesivo... jejejej.

Saludos,

LouieBoy

abapconsultoria 27/02/08 14:47:58

Que tal : Disculpa que insista pero creo que esa solucion es una solucion temporal. Seguramente ahora esta funcionando bien porque el servidor es capaz de responder al proceso en paralelo que estas largando en menos de 5 segundos pero si el sistema esta mas lento se va a producir el mismo error.

Me comentaste que el problema es un batch. Yo creo que el problema se debe a que estas llamando al call transaction sin el parametro de sincronico por lo cual larga el batch en un proceso paralelo. Como el servidor esta un poco cargado tarda aprox 5 segundos en devolverte el resultado del batch (numero de poliza) pero el proceso principal sigue corriendo con la velocidad de siempre....


Puede ser que en este caso en particular y al ser un BI el cual es ejecutado una unica vez no te cause muchos problemas un delay de 5 segundos pero si el BI se dispara con una carga masiva de por ejemplo 50000 registros imaginate el tiempo que consumiria esa sentencia.

Saludos.

Javier.

LouieBoy 27/02/08 17:36:45

Buenas, estoy totalmente deacuerdo con el copi Javi. Yo lo hice con el up to 1 secon pq no tenia mucha mas opcion/conocimento. la verdad es que desconzco si con las bapis puedes lanzarlas en sincrono, el call transaction / BDC seguro.

Saludos,

LouieBoy


Husos Horarios son GMT. La hora en este momento es 03:10:49.

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