Elvira, te paso sentencias de un CL de muestra (este CL concretamente lo
que hace es recibir parámetros origen y destino y enviar un fichero a un
FTP Server) y un RPG que uso como estándar para montar ficheros de
instrucciones FTP.
Creo y espero que ésto te servirá.
/*----------------------------------------------------------------------------*/
/* ENVIAR FICHEROS DESDE UN AS A OTRO AS VIA FTP */
/*----------------------------------------------------------------------------*/
PGM PARM(&LIBORI &FILEORI &LIBDES &FILEDES)
/**/
DCL VAR(&LIBORI) TYPE(*CHAR) LEN(10)
DCL VAR(&FILEORI) TYPE(*CHAR) LEN(10)
DCL VAR(&LIBDES) TYPE(*CHAR) LEN(10)
DCL VAR(&FILEDES) TYPE(*CHAR) LEN(10)
/**/
DCL VAR(&CMD01) TYPE(*CHAR) LEN(100)
DCL VAR(&CMD02) TYPE(*CHAR) LEN(100)
DCL VAR(&CMD03) TYPE(*CHAR) LEN(100)
DCL VAR(&CMD04) TYPE(*CHAR) LEN(100)
DCL VAR(&CMD05) TYPE(*CHAR) LEN(100)
DCL VAR(&CMD06) TYPE(*CHAR) LEN(100)
DCL VAR(&CMD07) TYPE(*CHAR) LEN(100)
DCL VAR(&CMD08) TYPE(*CHAR) LEN(100)
DCL VAR(&CMD09) TYPE(*CHAR) LEN(100)
DCL VAR(&CMD09) TYPE(*CHAR) LEN(100)
DCL VAR(&CMD10) TYPE(*CHAR) LEN(100)
DCL VAR(&CMD11) TYPE(*CHAR) LEN(100)
DCL VAR(&CMD12) TYPE(*CHAR) LEN(100)
DCL VAR(&CMD13) TYPE(*CHAR) LEN(100)
DCL VAR(&CMD14) TYPE(*CHAR) LEN(100)
DCL VAR(&CMD15) TYPE(*CHAR) LEN(100)
DCL VAR(&CMD16) TYPE(*CHAR) LEN(100)
DCL VAR(&CMD17) TYPE(*CHAR) LEN(100)
DCL VAR(&CMD18) TYPE(*CHAR) LEN(100)
DCL VAR(&CMD19) TYPE(*CHAR) LEN(100)
DCL VAR(&CMD20) TYPE(*CHAR) LEN(100)
/* HACER EL FTP */
DLTF FILE(QTEMP/FTPOUT)
MONMSG MSGID(CPF0000)
CRTPF FILE(QTEMP/FTPOUT) RCDLEN(100)
MONMSG MSGID(CPF0000)
CLRPFM FILE(QTEMP/FTPOUT)
MONMSG MSGID(CPF0000)
DLTF FILE(QTEMP/FTP)
MONMSG MSGID(CPF0000)
CRTPF FILE(QTEMP/FTP) RCDLEN(100)
MONMSG MSGID(CPF0000)
CLRPFM FILE(QTEMP/FTP)
MONMSG MSGID(CPF0000)
OVRDBF FILE(FTP) TOFILE(QTEMP/FTP) SHARE(*YES)
CHGVAR VAR(&CMD01) VALUE('user password')
CHGVAR VAR(&CMD02) VALUE('LCD ' || &LIBORI)
CHGVAR VAR(&CMD03) VALUE('SENDEPSV')
CHGVAR VAR(&CMD04) VALUE('SENDEPRT')
CHGVAR VAR(&CMD05) VALUE('LCD ' || &LIBDES)
CHGVAR VAR(&CMD06) VALUE('PUT ' || &FILEORI || ' ' +
|| &FILEDES)
CHGVAR VAR(&CMD07) VALUE('QUIT')
/* MONTARFTP REGISTRA EN QTEMP/INPUT LOS MANDATOS A UTILIZAR */
CALL PGM(HMONTARFTP) PARM(&CMD01 &CMD02 &CMD03 +
&CMD04 &CMD05 &CMD06 &CMD07 &CMD08 &CMD09 +
&CMD10 &CMD11 &CMD12 &CMD13 &CMD14 &CMD15 +
&CMD16 &CMD17 &CMD18 &CMD19 &CMD20)
*/
OVRDBF FILE(INPUT) TOFILE(QTEMP/FTP)
OVRDBF FILE(OUTPUT) TOFILE(QTEMP/FTPOUT)
FTP RMTSYS('192.168.0.1')
OG FTP */
RUNQRY QRYFILE((QTEMP/FTP)) OUTTYPE(*PRINTER)
RUNQRY QRYFILE((QTEMP/FTPOUT)) OUTTYPE(*PRINTER)
/**/
ENDPGM
Fuente RPG (HMONTARFTP):
H DEBUG DECEDIT('0,') DATEDIT(*DMY-) datfmt(*DMY-)
F*********************************************************************
F* Montar archivo de instrucciones FTP.
F*********************************************************************
Fftp o f 100 disk
D x s 3 0
*
D DS
D cmd 1 2000 inz
D DIM(20)
D cmd01 1 100
D cmd02 101 200
D cmd03 201 300
D cmd04 301 400
D cmd05 401 500
D cmd06 501 600
D cmd07 601 700
D cmd08 701 800
D cmd09 801 900
D cmd10 901 1000
D cmd11 1001 1100
D cmd12 1101 1200
D cmd13 1201 1300
D cmd14 1301 1400
D cmd15 1401 1500
D cmd16 1501 1600
D cmd17 1601 1700
D cmd18 1701 1800
D cmd19 1801 1900
D cmd20 1901 2000
*
C *entry plist
C parm c01 100
C parm c02 100
C parm c03 100
C parm c04 100
C parm c05 100
C parm c06 100
C parm c07 100
C parm c08 100
C parm c09 100
C parm c10 100
C parm c11 100
C parm c12 100
C parm c13 100
C parm c14 100
C parm c15 100
C parm c16 100
C parm c17 100
C parm c18 100
C parm c19 100
C parm c20 100
* Montar serie
c eval cmd01=c01
c eval cmd02=c02
c eval cmd03=c03
c eval cmd04=c04
c eval cmd05=c05
c eval cmd06=c06
c eval cmd07=c07
c eval cmd08=c08
c eval cmd09=c09
c eval cmd10=c10
c eval cmd11=c11
c eval cmd12=c12
c eval cmd13=c13
c eval cmd14=c14
c eval cmd15=c15
c eval cmd16=c16
c eval cmd17=c17
c eval cmd18=c18
c eval cmd19=c19
c eval cmd20=c20
* Montar fichero de instrucciones
C for x=1 to 20
C if cmd(x)<>*blanks
C except
C end
C endfor
*
C eval *inlr=*on
*
OFTP E
O cmd(x) 100
Saludos cordiales,
Carlos Bartolomé.
LIWE ESPAÑOLA, S.A.
El 23/09/2016 a las 11:30, Elvira Vázquez escribió:
Javier
Eso es lo que quiero hacer pero no se como
*De:*[email protected]
[mailto:[email protected]] *En nombre de *Javier
Mora
*Enviado el:* viernes, 23 de septiembre de 2016 11:27
*Para:* 'forum.help400'
*Asunto:* RE: duda
Yo utilizo unos mandatos “hechos en casa” como clientes FTP que dejan
rastro en un log. En su día, busqué una fórmula para poder guardar la
fecha y hora de cada registro, pero no pudo ser. Lo solucioné grabando
por programa en el archivo de salida del log un primer registro con la
fecha y hora del inicio de la sesión FTP.
Saludos,
Javier Mora
*De:*[email protected]
<mailto:[email protected]>
[mailto:[email protected]] *En nombre de *Elvira
Vázquez
*Enviado el:* viernes, 23 de septiembre de 2016 9:23
*Para:* 'forum.help400'
*Asunto:* duda
Hola Foro
Tengo un CL que deja en un FTP externo un fichero todos los día.
Según mi LOG todo va bien pero alguna que otra vez después de varios
días nos dicen que no lo recibieron o lo recibieron dañado.
Hay algun comando para poder comprobar que se ha recibido correctamente?
Otra cosa: hay forma de incluir en el log la fecha y la hora. En este
momento lo se por los datos de modificación del fichero pero no los
tengo internamente
Gracias como siempre a todos….
Elvira
Este mensaje puede contener información confidencial sujeta al
secreto profesional, cuya divulgación no está permitida por la ley y
está dirigida únicamente para el uso de la persona destinataria. Si
usted no es la persona destinataria de este mensaje, por la presente
se le comunica que no debe usar, difundir, copiar de ninguna forma, ni
emprender ninguna acción en relación con ella. Si usted ha recibido
este mensaje por error, le rogamos que lo elimine, al igual que
cualquier copia del mismo, y que proceda a la eliminación de cualquier
archivo adjunto al mismo, y nos notifique este hecho de manera
inmediata mediante correo electrónico remitido a nuestra atención, o a
través del teléfono (+34) 91 665 72 98. Asimismo, le comunicamos que
la distribución, copia o utilización de este mensaje, o de cualquier
documento adjunto al mismo, cualquiera que fuera su finalidad, están
prohibidas por la ley.
Le informamos, como destinatario de este mensaje, que el correo
electrónico y las comunicaciones por medio de Internet no permiten
asegurar ni garantizar la confidencialidad de los mensajes
transmitidos, así como tampoco su integridad o su correcta recepción,
por lo que el emisor no asume responsabilidad alguna por tales
circunstancias. Si no consintiese en la utilización del correo
electrónico o de las comunicaciones vía Internet, le rogamos nos lo
comunique y ponga en nuestro conocimiento de manera inmediata.
This message may contain confidential and privileged information,
protected from disclosure by law, and is intended only for the use of
the addressee named above. If you are not the intended recipient of
this message you are hereby informed that you must not use,
disseminate, copy it in any form or take any action in reliance on it.
If you have received this message in error please delete it and any
attachments or copies of it and notify the sender by reply e-mail or
by phone (+34) 91 665 72 98. In such case, you are hereby notified
that any dissemination, distribution, copying or use of this message
or any attachments, for any purpose, is strictly prohibited by law.
We hereby inform you, as addressee of this message, that e-mail and
Internet do not guarantee the confidentiality, nor the completeness or
proper reception of the messages sent and, thus, the sender does not
assume any liability for those circumstances. Should you not agree to
the use of e-mail or to communications via Internet, you are kindly
requested to notify us immediately.
*P*
Antes de imprimir este e-mail piense bien si es necesario hacerlo: El
medioambiente es cosa de todos
Before printing this e-mail think well if you must: The environment is
everyone's
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.