FTP: Saltar Return Code 16550 Error Code 00002

Todo lo relacionado con VTAM, TCP/IP, OSA/SF, configuración de placas OSA, VIPA, etc.
Responder
Avatar de Usuario
freejack
Usuario
Usuario
Mensajes: 10
Registrado: 03 May 2012, 12:50
País: Argentina
Ciudad: Buenos Aires
Ocupación: Implementador
Contactar:

FTP: Saltar Return Code 16550 Error Code 00002

Mensaje por freejack » 14 Feb 2014, 11:36

Buenos dias amigos!!!
Despues de mucho tiempo he vuelto a la carga con nuevos interrogantes en mi vida bajo mainframe :D

Les comento que hoy en dia estoy trabajando bajo la migración de plataforma INFOMOVER a FTP (muy divertido, en serio).
El tema es que luego de varios logros importantes me encuentro con problemas corriendo el siguiente JCL:
(aclaro que saqué toda info sobre mis archivos para hacer que la codificacion sea neutral).

//SMTP EXEC PGM=FTP,PARM='NOMBRE DEL SERVER (TIMEOUT 60 EXIT=8'
//STEPLIB DD DSN=TCPIP.SEZALOAD,DISP=SHR
//NETRC DD DSN=NOMBRE PARA AUTENTIFICACION,DISP=SHR
//SYSMDUMP DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//OUTPUT DD SYSOUT=*
//INPUT DD *
LOCSITE SBDATA=TABLA DE CONVERSION
LOCSITE TRAILINGSBLANKS
CD DIRECTORIO
GET \ARCHIVO1.TXT +
'ARCHIVODESTINO1'
QUIT
GET \ARCHIVO2.TXT +
'ARCHIVODESTINO2'
quit
/*

Me esta cancelando la transmisión porque NO EXISTE el archivo de origen del primer GET arrojándome el mensaje:

550 /ARCHIVO1.TXT: The system cannot find the file specified.
EZA1735I Std Return Code = 16550, Error Code = 00002
EZA1701I >>> QUIT

El tema es que quiero que ante este tipo de error la segunda transmision se haga y no termine la misma.
No se si me expliqué bien.
Deseo que el ftp pueda hacer todas las transmisiones y no cancele apenas se encuentre con la NO EXISTENCIA de algun archivo de origen.

Saludos y muchisimas gracias.
Nicolas.

Avatar de Usuario
Vicente
Colaborador avanzado
Colaborador avanzado
Mensajes: 542
Registrado: 21 Jul 2011, 04:52
País: España
Ciudad: Malaga
Ocupación: Técnico en Sistemas

Re: FTP: Saltar Return Code 16550 Error Code 00002

Mensaje por Vicente » 17 Feb 2014, 04:45

Hola freejack:
Acabo de leer tu email, voy a estudiar el problema e intentaré ayudar.
Un saludo
Varios días probando, equivocandote y volviendo a probar
pueden ahorrarte quince minutos de lectura de un manual.

Avatar de Usuario
Vicente
Colaborador avanzado
Colaborador avanzado
Mensajes: 542
Registrado: 21 Jul 2011, 04:52
País: España
Ciudad: Malaga
Ocupación: Técnico en Sistemas

Re: FTP: Saltar Return Code 16550 Error Code 00002

Mensaje por Vicente » 17 Feb 2014, 04:54

Hola:
Antes de profundizar en el estudio de caundo termina o no un FTP, me llama la atención que en tu ejemplo hay dos sentencias QUIT
Esto hace que el FTP desconecte la sesión y termine sin procesar la segunda sentencia GET.
Varios días probando, equivocandote y volviendo a probar
pueden ahorrarte quince minutos de lectura de un manual.

Avatar de Usuario
Vicente
Colaborador avanzado
Colaborador avanzado
Mensajes: 542
Registrado: 21 Jul 2011, 04:52
País: España
Ciudad: Malaga
Ocupación: Técnico en Sistemas

Re: FTP: Saltar Return Code 16550 Error Code 00002

Mensaje por Vicente » 17 Feb 2014, 07:46

Hola freejack:

Estás llamando al FTP con la siguiente sentencia de JCL:
//SMTP EXEC PGM=FTP,PARM='NOMBRE DEL SERVER (TIMEOUT 60 EXIT=8
El parámetro EXIT, hace que un error que se produzca, en función de la sentencia FTP, hace que el programa termine; en tu caso, con el código de retorno 8; y GET es una de estas sentencias.
Para evitar esto has de suprimir el parámetro EXIT y llamar al FTP con:
//SMTP EXEC PGM=FTP,PARM='NOMBRE DEL SERVER (TIMEOUT 60

Para saber más sobre el comportamiento del FTP a este respecto, te aconsejo que consultes el libro:
z/OS Communications Server IP User's Guide and Commands en http://publibfp.dhe.ibm.com/epubs/pdf/f1a1b980.pdf
Chapter 3. File Transfer Protocol (FTP) - Using FTP
Chapter 4. Transferring data using the File Transfer Protocol (FTP) - FTP return codes - FTP subcommand codes

Un saludo
Varios días probando, equivocandote y volviendo a probar
pueden ahorrarte quince minutos de lectura de un manual.

Avatar de Usuario
freejack
Usuario
Usuario
Mensajes: 10
Registrado: 03 May 2012, 12:50
País: Argentina
Ciudad: Buenos Aires
Ocupación: Implementador
Contactar:

Re: FTP: Saltar Return Code 16550 Error Code 00002

Mensaje por freejack » 17 Feb 2014, 08:31

Buenos dias...

Les comento que la sentencia "quit" duplicada fue error mio al hacer COPY PASTE del JCL jejeje :D :D :D

Ahora bien, habia probado sacar la sentencia EXIT y correctamente las transmisiones se realizan todas pero el problema es que el FTP deja de cancelar ante cualquier problemática. Siempre termina en 0 el RC.

El default del FTP, tal como dice el manual, es: By default, the FTP client ignores any errors that occur during a session and exits with a return code of zero (Es decir, ignora cualquier error y termina en cero siempre).

Lo que necesito hacer es que ante el error de falta de archivo, el ftp continue con las demás transmisiones y quede cancelado pero luego de chequearlas todas.
Nicolas.

Avatar de Usuario
Vicente
Colaborador avanzado
Colaborador avanzado
Mensajes: 542
Registrado: 21 Jul 2011, 04:52
País: España
Ciudad: Malaga
Ocupación: Técnico en Sistemas

Re: FTP: Saltar Return Code 16550 Error Code 00002

Mensaje por Vicente » 17 Feb 2014, 09:21

Hola:
Hasta donde yo se, sin el parámetro EXIT no se puede actuar sobre el return code.
No obstante, si al fichero de configuración del FTP se le añade la instrucción:
LOGCLIENTERR TRUE
El FTP mostrará, en el log de ejecución y en el log del sistema, un mensaje EZZ9830I explicando el primer error producido.
Pero esto no impedirá que continue y que termine con rc=0
Te puede servir a efectos de consulta o de actuación con un operador automático.

Si esta opción te vale, y no quieres cambiar el fichero FTPDATA standard de la instalación, puedes copiar el fichero de configuración del FTP, cambiarlo y utilizar la copia poniendo en el JCL:
//SYSFTPD DD DSN=VICENTE.FTPCDATA,DISP=SHR

Si no te resulta complicado de implementar, la opción más simple sería utilizar un paso de JCL por cada GET (con la opción EXIT)
De esta manera tienes todas las posibilidades que el JCL da para tomar decisiones.

Un saludo
Varios días probando, equivocandote y volviendo a probar
pueden ahorrarte quince minutos de lectura de un manual.

Avatar de Usuario
freejack
Usuario
Usuario
Mensajes: 10
Registrado: 03 May 2012, 12:50
País: Argentina
Ciudad: Buenos Aires
Ocupación: Implementador
Contactar:

Re: FTP: Saltar Return Code 16550 Error Code 00002

Mensaje por freejack » 18 Feb 2014, 09:35

Gracias Vicente por tu respuesta. Veré que puedo hacer....
Me resulta raro que no hay niguna opción específica al respecto de la problemática, pero bueno, se ve que el fin del FTP es hacer transmisiones individuales.

Si encuentro algo interesante lo haré saber para futuras consultas de la gente.

Saludos.
Nicolas.
Nicolas.

Avatar de Usuario
Vicente
Colaborador avanzado
Colaborador avanzado
Mensajes: 542
Registrado: 21 Jul 2011, 04:52
País: España
Ciudad: Malaga
Ocupación: Técnico en Sistemas

Re: FTP: Saltar Return Code 16550 Error Code 00002

Mensaje por Vicente » 27 Feb 2014, 11:27

Hola freejack:
Si tienes bien controlados los nombres de los ficheros, podrías pobrar a utilizar MGET en lugar de GET
Exige que tus nombres comiencen por lo mismo y sean los únicos con ese comienzo.
Un saludo
Varios días probando, equivocandote y volviendo a probar
pueden ahorrarte quince minutos de lectura de un manual.

Responder