Página 1 Documento: SNDSRC.CMD /* SNDSRC.CMD | Remitir fuente por email */ /* (c) Marcelino Rodríguez Suárez | http://www.marce.com */ CMD PARM PARM PARM PARM PROMPT('Remitir fuentes por email') KWD(EMAIL) TYPE(*CHAR) LEN(128) MIN(1) + PROMPT('Dirección de email') KWD(BIBLIOTECA) TYPE(*CHAR) LEN(10) + DFT(QGPL) MIN(0) PROMPT('Biblioteca') KWD(ARCHIVO) TYPE(*CHAR) LEN(10) + DFT(QRPGLESRC) MIN(0) PROMPT('Archivo + fuente') KWD(FUENTE) TYPE(*CHAR) LEN(10) DFT(PROOF) + MIN(0) PROMPT('Miembro fuente') Página 1 Documento: SNDSRCP.CLLE /* /* /* /* /* /* /* SNDSRCP.CLLE | Remitir fuente por email ----------------------------------------------------Para remitir por email el fuente, primeramente se crea en una carpeta con el nombre del USUARIO un documento con el nombre FUENTE.TIPO ----------------------------------------------------(c) Marcelino Rodríguez Suárez | http://www.marce.com PGM DCL DCL DCL DCL DCL DCL DCL DCL DCL PARM(&EMAIL &BIBLIOTECA &ARCHIVO &FUENTE) VAR(&EMAIL) TYPE(*CHAR) LEN(128) VAR(&BIBLIOTECA) TYPE(*CHAR) LEN(10) VAR(&ARCHIVO) TYPE(*CHAR) LEN(10) VAR(&FUENTE) TYPE(*CHAR) LEN(10) VAR(&FUENTE_DOC) TYPE(*CHAR) LEN(12) VAR(&TIPO) TYPE(*CHAR) LEN(10) VAR(&TEXTO) TYPE(*CHAR) LEN(50) VAR(&USUARIO) TYPE(*CHAR) LEN(10) VAR(&ASUNTO) TYPE(*CHAR) LEN(200) RTVJOBA RTVMBRD USER(&USUARIO) FILE(&BIBLIOTECA/&ARCHIVO) MBR(&FUENTE) + SRCTYPE(&TIPO) TEXT(&TEXTO) COND(&TIPO *EQ ' ') THEN(CHGVAR + VAR(&TIPO) VALUE('TXT')) IF CHGVAR CHGVAR VAR(&ASUNTO) VALUE('Fuente: ' *CAT + &BIBLIOTECA *TCAT '/' *TCAT &ARCHIVO + *TCAT '(' *TCAT &FUENTE *TCAT ') ' *CAT + &TEXTO *TCAT ' Id: ' *CAT &BIBLIOTECA + *TCAT '_' *TCAT &ARCHIVO *TCAT '_' *TCAT + &FUENTE *TCAT '.' *TCAT &TIPO) VAR(&FUENTE_DOC) VALUE(%SST(&FUENTE 1 8) + *TCAT '.' *TCAT %SST(&FUENTE 9 2) *TCAT + %SST(&TIPO 1 3)) CRTFLR MONMSG FLR(%SST(&USUARIO 1 8)) MSGID(CPF8A18) CPYTOPCD FROMFILE(&BIBLIOTECA/&ARCHIVO) + TOFLR(%SST(&USUARIO 1 8)) + FROMMBR(&FUENTE) TODOC(&FUENTE_DOC) + REPLACE(*YES) TRNTBL(QUSRSYS/QA64BFA93) + /* CHRID(*N 1145) a CHRID(*N 1252) */ MONMSG SNDPGMMSG MSGID(IWS1612) EXEC(DO) MSG('Usuario no inscrito en el directorio de + distribución del sistema.') MSGTYPE(*COMP) CMDLBL(FIN) GOTO ENDDO CHGDOCD SNDDST FIN: */ */ */ */ */ */ */ ENDPGM DOC(&FUENTE_DOC) FLR(%SST(&USUARIO 1 8)) + DOCD('Archivo i5/OS') TYPE(*DOC) TOINTNET((&EMAIL)) DSTD('Snd Src + SMTP') MSG(&ASUNTO) DOC(&FUENTE_DOC) + FLR(%SST(&USUARIO 1 8)) Página 1 Documento: CPYSRC.CMD /* CPYSRC.CMD | Copiar fuente a archivo continuo */ /* (c) Marcelino Rodríguez Suárez | http://www.marce.com */ CMD PARM PARM PARM PROMPT('Copiar miembro a archivo ASCII') KWD(BIBLIOTECA) TYPE(*CHAR) LEN(10) MIN(1) + PROMPT('Biblioteca') KWD(ARCHIVO) TYPE(*CHAR) LEN(10) + DFT(QRPGLESRC) MIN(0) PROMPT('Archivo') KWD(MIEMBRO) TYPE(*CHAR) LEN(10) MIN(1) + PROMPT('Miembro') Página 1 Documento: CPYSRCP.CLLE /* /* /* /* /* /* CPYSRCP.CLLE | Copiar fuente al archivo continuo -----------------------------------------------------Origen: BIBLIOTECA/ARCHIVO.MIEMBRO Destino: /home/USUARIO/BIBLIOTECA/ARCHIVO/MIEMBRO.TIPO -----------------------------------------------------(c) Marcelino Rodríguez Suárez | http://www.marce.com PGM PARM(&BIBLIOTECA &ARCHIVO &MIEMBRO) DCL DCL DCL DCL DCL DCL DCL VAR(&BIBLIOTECA) TYPE(*CHAR) LEN(10) VAR(&ARCHIVO) TYPE(*CHAR) LEN(10) VAR(&MIEMBRO) TYPE(*CHAR) LEN(10) VAR(&TIPO) TYPE(*CHAR) LEN(10) VAR(&USUARIO) TYPE(*CHAR) LEN(10) VAR(&CMD) TYPE(*CHAR) LEN(300) VAR(&CARPETA) TYPE(*CHAR) LEN(100) RTVJOBA RTVMBRD USER(&USUARIO) FILE(&BIBLIOTECA/&ARCHIVO) MBR(&MIEMBRO) + SRCTYPE(&TIPO) COND(&TIPO *EQ ' ') THEN(CHGVAR VAR(&TIPO) + VALUE('TXT')) /* */ /* */ IF /* Raíz */ CHGVAR CHGVAR STRQSH /* Biblioteca */ CHGVAR CHGVAR STRQSH VAR(&CARPETA) VALUE('/home/' *CAT &USUARIO) VAR(&CMD) VALUE('if ! test -d ' *CAT + &CARPETA *TCAT ' ; then mkdir ' *CAT + &CARPETA *TCAT ' ; fi') CMD(&CMD) VAR(&CARPETA) VALUE('/home/' *CAT &USUARIO + *TCAT '/' *CAT &BIBLIOTECA) VAR(&CMD) VALUE('if ! test -d ' *CAT + &CARPETA *TCAT ' ; then mkdir ' *CAT + &CARPETA *TCAT ' ; fi') CMD(&CMD) /* Archivo */ CHGVAR CHGVAR STRQSH VAR(&CARPETA) VALUE('/home/' *CAT &USUARIO + *TCAT '/' *CAT &BIBLIOTECA *TCAT '/' + *CAT &ARCHIVO) VAR(&CMD) VALUE('if ! test -d ' *CAT + &CARPETA *TCAT ' ; then mkdir ' *CAT + &CARPETA *TCAT ' ; fi') CMD(&CMD) /* Copia */ CPYTOSTMF FROMMBR('/QSYS.LIB/' *CAT &BIBLIOTECA *TCAT + '.LIB/' *CAT &ARCHIVO *TCAT '.FILE/' *CAT + &MIEMBRO *TCAT '.MBR') TOSTMF(&CARPETA + *TCAT '/' *CAT &MIEMBRO *TCAT '.' *CAT + &TIPO) STMFOPT(*REPLACE) CVTDTA(*TBL) + STMFCODPAG(*STDASCII) + TBL('/QSYS.LIB/QUSRSYS.LIB/QA64BFA93.TBL') /* CHRID(*N 1145) a CHRID(*N 1252) */ ENDPGM */ */ */ */ */ */ Página 1 Documento: CPYSTMF.CMD /* CPYSTMF.CMD | Copiar archivo continuo a fuente */ /* (c) Marcelino Rodríguez Suárez | http://www.marce.com */ CMD PROMPT('Copiar archivo ASCII a miembro') PARM KWD(BIBLIOTECA) TYPE(*CHAR) LEN(10) MIN(1) + PROMPT('Biblioteca') PARM KWD(ARCHIVO) TYPE(*CHAR) LEN(10) + DFT(QRPGLESRC) MIN(0) PROMPT('Archivo') PARM KWD(MIEMBRO) TYPE(*CHAR) LEN(10) MIN(1) + PROMPT('Miembro') Página 1 Documento: CPYSTMFP.CLLE /* /* /* /* /* /* CPYSTMFP.CLLE | Copiar archivo continuo a fuente -----------------------------------------------------Origen: /home/USUARIO/BIBLIOTECA/ARCHIVO/MIEMBRO.TIPO Destino: BIBLIOTECA/ARCHIVO.MIEMBRO -----------------------------------------------------(c) Marcelino Rodríguez Suárez | http://www.marce.com PGM PARM(&BIBLIOTECA &ARCHIVO &MIEMBRO) DCL DCL DCL DCL DCL DCL VAR(&BIBLIOTECA) TYPE(*CHAR) LEN(10) VAR(&ARCHIVO) TYPE(*CHAR) LEN(10) VAR(&MIEMBRO) TYPE(*CHAR) LEN(10) VAR(&TIPO) TYPE(*CHAR) LEN(10) VAR(&USUARIO) TYPE(*CHAR) LEN(10) VAR(&CARPETA) TYPE(*CHAR) LEN(100) RTVJOBA RTVMBRD USER(&USUARIO) FILE(&BIBLIOTECA/&ARCHIVO) MBR(&MIEMBRO) + SRCTYPE(&TIPO) COND(&TIPO *EQ ' ') THEN(CHGVAR VAR(&TIPO) + VALUE('TXT')) /* */ /* */ IF /* Archivo */ CHGVAR VAR(&CARPETA) VALUE('/home/' *CAT &USUARIO + *TCAT '/' *CAT &BIBLIOTECA *TCAT '/' + *CAT &ARCHIVO) /* Copia */ CPYFRMSTMF FROMSTMF(&CARPETA *TCAT '/' *CAT &MIEMBRO + *TCAT '.' *CAT &TIPO) TOMBR('/QSYS.LIB/' + *CAT &BIBLIOTECA *TCAT '.LIB/' *CAT + &ARCHIVO *TCAT '.FILE/' *CAT &MIEMBRO + *TCAT '.MBR') MBROPT(*REPLACE) + STMFCODPAG(*PCASCII) DBFCCSID(*FILE) ENDPGM */ */ */ */ */ */