PDA

Ver la Versión Completa : Consulta sobre cancelacion de JOB


RAMONES
21/07/09, 12:42:56
El siguiente reporte lo ejecuto de fondo porque hace consultas a la CDPOS y la CDHDR y tarda mucho, pero no se porque me dice que se cancela por un a INTERRUPCION DEL SISTEMA...no tengo idea de porque, alguien podria darme una mano?

el codigo es este:

REPORT zprueba_cdpos .

TABLES: cdhdr, cdpos.

DATA: BEGIN OF t_cdhdr OCCURS 0.
INCLUDE STRUCTURE cdhdr.
DATA: END OF t_cdhdr.

DATA: BEGIN OF t_changenr OCCURS 0,
changenr LIKE cdhdr-changenr.
DATA: END OF t_changenr.

SELECT changenr
INTO TABLE t_changenr
FROM cdpos
WHERE objectclas = 'COND_A'
AND ( tabname = 'KONPAE' OR
tabname = 'KONP' )
AND fname = 'KBETR'.


SELECT *
FROM cdhdr
INTO TABLE t_cdhdr
FOR ALL ENTRIES IN t_changenr
WHERE changenr = t_changenr-changenr.

MODIFY zcdhdr FROM t_cdhdr.


Muchas gracias a todos!!

sconoredhot
21/07/09, 13:19:51
Hola...

podrías mandar un screenshot del error para que lo podamos revisar mejor?

Gracias

RAMONES
21/07/09, 14:27:47
El mensaje que me tira es el siguiente:

El job ha sido cancelado durante una interrupción del sistema.
Nº mensaje: 00574

conrad10ar
21/07/09, 16:02:37
Hola,

el problema es un claro Timeout.

Esta consulta dependiendo del sistema es muy pesada:


SELECT *
FROM cdhdr
INTO TABLE t_cdhdr
FOR ALL ENTRIES IN t_changenr
WHERE changenr = t_changenr-changenr.



Saludos!

DavidXD_XD
21/07/09, 16:36:34
Hola, tiene razon conrad10ar, esas 2 tablas tienen minimo 3 campos llaves

OBJECTCLAS
OBJECTID
CHANGENR

Trata de usarlas, solo estas usando el CHANGENR

SELECT *
FROM cdhdr
INTO TABLE t_cdhdr
FOR ALL ENTRIES IN t_changenr
WHERE objectclas = t_changenr- objectclas
AND objectid = t_changenr-objectid
AND changenr = t_changenr-changenr.

Ahhh y tbm para el error dale en Log Job, y dentro del Log dale doble click donde se cancela (es el ultimo paso), dentro de saldra el DUMP, y en el DUMP seria bueno que nos dijeras el nombre del mismo y ademas la seccion de Analisis de Error, si no lo encuentras por el Log Job puedes ir a la ST22 y ver el DUMP

RAMONES
21/07/09, 18:07:52
Muchas gracias por su respuetas, voy a modificar el reporte y lanzarlo nuevamente, una cosita, en modo de fondo hay time out tambien?

En cuanto al log del job no puedo verlo ya que no estoy en el cliente....

RAMONES
21/07/09, 20:40:42
Modifique el codigo y lo deje asi, pero igual me tira dump, los datos los encuentra porque puedo ver ambas tablas llenas pero no me deja cargar la tabla Z, porque puede ser?

REPORT zprueba_cdpos.

TABLES: cdpos, cdhdr, zcdhdr.

TYPES: BEGIN OF t_cdpos,
objectclas TYPE cdobjectcl,
objectid TYPE cdobjectv,
changenr TYPE cdchangenr,
END OF t_cdpos.

DATA: it_cdpos TYPE TABLE OF t_cdpos,
it_cdhdr TYPE TABLE OF cdhdr,
wa_cdhdr TYPE cdhdr.

SELECT objectclas objectid changenr
FROM cdpos
INTO TABLE it_cdpos
WHERE objectclas = 'COND_A'
AND ( tabname = 'KONPAE' OR
tabname = 'KONP' )
AND fname = 'KBETR'.

IF it_cdpos IS INITIAL.

WRITE: 'CARGA NO REALIZADA'.

ELSE.

SELECT *
FROM cdhdr
INTO TABLE it_cdhdr
FOR ALL ENTRIES IN it_cdpos
WHERE objectclas = it_cdpos-objectclas
AND objectid = it_cdpos-objectid
AND changenr = it_cdpos-changenr.

LOOP AT it_cdhdr INTO wa_cdhdr.

MODIFY zcdhdr FROM wa_cdhdr. "ZCDHDR tiene los mismo campos que la
"CDHDR

ENDLOOP.

WRITE: 'CARGA DE TABLA REALIZADA'.

ENDIF.







el dump me dice esto:

SQL-Fehler 1653 in Anweisung aufgetreten, in der auf

> MODIFY zcdhdr FROM wa_cdhdr. "ZCDHDR tiene los mismo campos que la
000400 "CDHDR



Creo que esta todo ok, pero no se que esta fallando!!