Este Fuente del Comando: TRFTOPC PARM KWD(FILE) TYPE(QUAL1) MIN(1) PROMPT('Archivo + a transferir') CMD PROMPT('Transferir archivo a PC') PARM KWD(PCFILE) TYPE(*CHAR) LEN(8) + DFT(PCFILE00) PROMPT('Nombre del archivo PC') PARM KWD(EXT) TYPE(*CHAR) LEN(3) DFT(CSV) + PROMPT('Extension archivo PC') PARM KWD(PATH) TYPE(*CHAR) LEN(250) DFT('C:') + PROMPT('Path para el archivo PC') QUAL1: QUAL TYPE(*NAME) QUAL TYPE(*CHAR) LEN(10) DFT(*LIBL) + PROMPT('Biblioteca') QUAL TYPE(*CHAR) LEN(10) DFT(*FIRST) + PROMPT('Miembro') El CL correspondiente es: TRFTOPCCL PGM (&FULLNAM &TGTN &TGTE &TGTP ) DCL &FULLNAM *CHAR 30 DCL &SYS *CHAR 10 DCL &OBJL *CHAR 10 DCL &OBJF *CHAR 10 DCL &OBJM *CHAR 10 DCL &USR *CHAR 10 DCL &TGTP *CHAR 250 DCL &TGTN *CHAR 8 DCL &TGTE *CHAR 3 DCL &TRFS *CHAR 260 DCL &GET *CHAR 122 RTVNETA SYSNAME(&SYS) CHGVAR VAR(&TRFS) VALUE(&TGTP |<'\'|< &TGTN |< '.FTP') CHGVAR VAR(&OBJF) VALUE(%SST(&FULLNAM 1 10)) CHGVAR VAR(&OBJL) VALUE(%SST(&FULLNAM 11 10)) CHGVAR VAR(&OBJM) VALUE(%SST(&FULLNAM 21 10)) RTVJOBA USER(&USR) IF (&OBJM *EQ '*FIRST ') THEN(CHGVAR &OBJM &OBJF) IF ( 'C'|< &TGTP *EQ 'C') THEN(CHGVAR &TGTP 'C:\') IF ( 'C'|< &TGTN *EQ 'C') THEN(CHGVAR &TGTP 'PCFILE') IF ( 'C'|< &TGTE *EQ 'C') THEN(CHGVAR &TGTE 'TXT') CHGVAR VAR(&GET) VALUE('get ' || &OBJL |< '/' |< + &OBJF |< '.' |< &OBJM || ' ' || &TGTP |< + '\' |< &TGTN |< '.' |< &TGTE) STRPCO MONMSG CPF0000 MONMSG IWS4010 STRPCCMD ('ECHO open ' || 'ssa400' || ' >' || &TRFS) PAUSE(*YES) DLYJOB 3 STRPCCMD ('ECHO ssaftp >>' || &TRFS ) PAUSE(*YES) DLYJOB 3 STRPCCMD ('ECHO ftpssa >>' || &TRFS ) PAUSE(*YES) DLYJOB 3 STRPCCMD ('ECHO ' || &GET |< ' >>' || &TRFS ) PAUSE(*YES) DLYJOB 3 STRPCCMD ('ECHO close >>' || &TRFS ) PAUSE(*YES) DLYJOB 3 STRPCCMD ('ECHO quit >>' || &TRFS ) PAUSE(*YES) DLYJOB 3 STRPCCMD PCCMD('ftp -s:' |< &TRFS) PAUSE(*YES) END: ENDPGM Hagamos la reversa: Transferimos informacion desde pc: Este Fuente del Comando: TRFFRMPC CMD PROMPT('Transferir archivo desde PC') PARM KWD(PCFILE) TYPE(*CHAR) LEN(10) + DFT(PCFILE00) PROMPT('Nombre del archivo PC') PARM KWD(EXT) TYPE(*CHAR) LEN(3) DFT(CSV) + PROMPT('Extension archivo PC') PARM KWD(PATH) TYPE(*CHAR) LEN(250) DFT('C:\') + PROMPT('Path para el archivo PC') PARM KWD(FILE) TYPE(QUAL1) MIN(1) PROMPT('Archivo + que recibe datos') QUAL1: QUAL TYPE(*NAME) QUAL TYPE(*CHAR) LEN(10) DFT(*LIBL) + PROMPT('Biblioteca') QUAL TYPE(*CHAR) LEN(10) DFT(*FIRST) + PROMPT('Miembro') El CL correspondiente es: TRFFRMPCCL PGM (&TGTX &TGTE &TGTP &FULLNAM) DCL &FULLNAM *CHAR 30 DCL &SYS *CHAR 10 DCL &OBJL *CHAR 10 DCL &OBJF *CHAR 10 DCL &OBJM *CHAR 10 DCL &USR *CHAR 10 DCL &TGTP *CHAR 250 DCL &TGTX *CHAR 10 DCL &TGTN *CHAR 8 DCL &TGTE *CHAR 3 DCL &TRFS *CHAR 260 DCL &PUT *CHAR 122 CHGVAR &TGTN VALUE(%SST(&TGTX 1 8)) RTVNETA SYSNAME(&SYS) CHGVAR VAR(&TRFS) VALUE(&TGTP |<'\'|< &TGTN |< '.FTP') CHGVAR VAR(&OBJF) VALUE(%SST(&FULLNAM 1 10)) CHGVAR VAR(&OBJL) VALUE(%SST(&FULLNAM 11 10)) CHGVAR VAR(&OBJM) VALUE(%SST(&FULLNAM 21 10)) RTVJOBA USER(&USR) IF (&OBJM *EQ '*FIRST ') THEN(CHGVAR &OBJM &OBJF) IF ( 'C'|< &TGTP *EQ 'C') THEN(CHGVAR &TGTP 'C:\') IF ( 'C'|< &TGTX *EQ 'C') THEN(CHGVAR &TGTP 'PCFILE') IF ( 'C'|< &TGTE *EQ 'C') THEN(CHGVAR &TGTE 'TXT') CHGVAR VAR(&PUT) VALUE('put ' || &TGTP + |< '\' |< &TGTX |< '.' |< &TGTE || ' ' || + &OBJL |< '/' |< &OBJF |< '.' |< &OBJM) STRPCO MONMSG CPF0000 MONMSG IWS4010 STRPCCMD ('ECHO open ' || 'ssa400' || ' >' || &TRFS) PAUSE(*YES) DLYJOB 3 STRPCCMD ('ECHO ssaftp >>' || &TRFS ) PAUSE(*YES) DLYJOB 3 STRPCCMD ('ECHO ftpssa >>' || &TRFS ) PAUSE(*YES) DLYJOB 3 STRPCCMD ('ECHO ' || &PUT |< ' >>' || &TRFS ) PAUSE(*YES) DLYJOB 3 STRPCCMD ('ECHO close >>' || &TRFS ) PAUSE(*YES) DLYJOB 3 STRPCCMD ('ECHO quit >>' || &TRFS ) PAUSE(*YES) DLYJOB 3 STRPCCMD PCCMD('ftp -s:' |< &TRFS) PAUSE(*YES) END: ENDPGM SE ACEPTAN MODIFICACIONES Y CRITICAS O PUEDES UTILIZARLO TANTO EN UNA PC LOCAL O EN ALGUNA PC QUE TENGAS MAPEADA (MAPED NETWORD DRIVE) ES QUE ESTA PALABRA (MAPEADA) LA UTILIZAMOS EN ARGENTINA. ESPERO QUE TE SEA UTIL Y ALGUN COMANTARIO AL RESPECTO EDGARDO