
NUESTRO i CAFÉ
Pregunta: Quisiera mover algunos objetos de un AS/400 a otro mediante un mandato SAVF usando FTP. Me gustaría crear un programa en CL que lleve a cabo la conexión FTP y llame al programa cada vez que el mandato SAVF esté listo para realizar la transferencia. ¿Cuáles son los mandatos de CL para llamar a FTP y especificar el archivo que hay que transferir? Puedo llamar a FTP, pero ¿cómo le paso los argumentos del archivo que quiero transferir?.
Respuesta: A FTP se le pueden proporcionar argumentos para transferir un archivo de dos formas distintas: de forma interactiva, mediante la línea de mandatos, y por lotes, mediante un archivo de mandatos. Basta con crear un archivo que contenga los mandatos de FTP -un SRCPF (archivo físico fuente) estaría bien- y luego especificar este archivo cuando se llame a FTP. El archivo de mandatos tiene que contener la información de conexión (nombre de usuario y contraseña) seguida por los mismos mandatos de FTP que especificaría de forma interactiva. Por ejemplo, podría tener un archivo fuente qftpsrc con un miembro sndsavf que contuviera:
nombre-usuario contraseña
quote rcmd crtsavf biblioteca/archivo-salvar
bin
put mibiblioteca/miarchivodesalvar biblioteca/archivo-salvar
quit
En un programa escrito en CL se llamaría a este archivo de esta forma:
ovrdbf input tofile(qftpsrc) mbr(sndsavf)
addpfm qftpsrc sndresult
monmsg cpf0000
ovrdbf output qftpsrc sndresult
ftp <sistema de destino>
El miembro fuente sndresult contendrá los mensajes de error que se produzcan durante la transferencia.
Revista ServerNEWS n.216 — Autor: S. Kattie, en los foros de System iNetwork