Ir al Portal Ir al Foro
 

Terminación de Job en 0004

Todo lo relacionado con JCL, manejo de jobs, etc.

Terminación de Job en 0004

Notapor MID » 02 Mar 2010, 11:28

Buen dia, hice un load a una tabla desde un ambiente X a otro ambiente, desde donde tome el back up la tabla no tenia indices y tenia claves repetidas, en donde cargue el back up tenia el indice y no me cargo los datos, el problema fue que el job de carga me termino con result code 0004, entonces no me di cuenta que no habia cargado la tabla porque siempre me termina asi. La consulta es: como hago para que el result code sea 0000 cuando termina bien y 0004 cuando termina mal?, espero me haya explicado bien. Cualquier cosa estoy a su disposicion, muchas gracias.
MID
MID
Usuario
Usuario
 
Mensajes: 7
Registrado: 02 Mar 2010, 10:37
País: Argentina
Ciudad: Buenos Aires
Ocupación: Estudiante

Re: Terminación de Job en 0004

Notapor canseco » 03 Mar 2010, 10:53

Buenas tardes,

Es posible que el RC 04 lo devuelva utilidad LOAD cuando va "bien" porque la tabla se queda en COPYPENDING. Quizás se podría solucionar añadiendo al sentencia NOCOPYPEND al LOAD.

Uns saludo
Canseco
Avatar de Usuario
canseco
Colaborador avanzado
Colaborador avanzado
 
Mensajes: 131
Registrado: 27 Sep 2007, 13:37
País: España
Ciudad: Madrid
Ocupación: Lider de proyectos

Re: Terminación de Job en 0004

Notapor Horacio Villa » 03 Mar 2010, 18:26

No hay forma de cambiar el RC del utilitario.
El 4 es porque hay warnings, que pueden ser varios (como el que pusieron en la respuesta anterior).
En este caso el 4 es porque descartó filas porque estaban duplicadas. Y en este caso, y suponiendo que hay 2 filas con igual clave en el archivo de entrada, las descarta a ambas. Si fuera un LOAD con RESUME YES y encuentra una fila en el archivo de entrada que ya existe en la tabla, ahí descarta sólo la que carga el utilitario.
Las filas duplicadas que se descartan van a parar a la DD SYSDISC.
La forma que conozco de controlar que no hubo descarte de filas es mirar en un paso posterior que el archivo apuntado por SYSDISC quedó vacío.
Por ejemplo, con un IDCAMS PRINT(1) y chequeando el RC.
HV
Avatar de Usuario
Horacio Villa
Colaborador avanzado
Colaborador avanzado
 
Mensajes: 136
Registrado: 04 Dic 2003, 13:11
País: Argentina
Ciudad: Buenos Aires
Ocupación: Auditor de sistemas certificado

Re: Terminación de Job en 0004

Notapor canseco » 04 Mar 2010, 05:17

El caso original descrito por MID se podría separar en 2 supuestos:

a) El LOAD termina bien, sin duplicados y devuelve un RC 4. En este caso, el RC 4 es un warning que se puede deber varios motivos. Lo más probable es que la tabla se quede en estado COPY PENDING y para evitar esto, se podría utilizar la sentencia NOCOPYPEND en el LOAD.

b) El LOAD tiene duplicados. En este caso, como dice Horacio, el RC 04 se debe a los propios duplicados y no hay manera de cambiarlo.

Para los dos supuestos, es posible que añadiendo NOCOPYPEND en el LOAD obtengas un RC 0 en el caso "a" y un RC 04 en el caso "b", que parece ser el objetivo buscado.


Un saludo
Canseco
Avatar de Usuario
canseco
Colaborador avanzado
Colaborador avanzado
 
Mensajes: 131
Registrado: 27 Sep 2007, 13:37
País: España
Ciudad: Madrid
Ocupación: Lider de proyectos

Re: Terminación de Job en 0004

Notapor MID » 09 Mar 2010, 08:33

Muchas gracias por la ayuda. El NOCOPYPEND me termina en 0, perfecto, si es que no tuvo errores. Exactamente ese era el problema.
Saludos.
MID
MID
Usuario
Usuario
 
Mensajes: 7
Registrado: 02 Mar 2010, 10:37
País: Argentina
Ciudad: Buenos Aires
Ocupación: Estudiante

Re: Terminación de Job en 0004

Notapor Horacio Villa » 09 Mar 2010, 17:23

No olvides ahora de hacerle un COPY al tablespace, a menos que el hecho de no tener la posibilidad de hacer RECOVER no sea un problema.
HV
Avatar de Usuario
Horacio Villa
Colaborador avanzado
Colaborador avanzado
 
Mensajes: 136
Registrado: 04 Dic 2003, 13:11
País: Argentina
Ciudad: Buenos Aires
Ocupación: Auditor de sistemas certificado


Volver a JCL

MKPortal ©2003-2008 mkportal.it