Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Prototipo. Utilidad para reemplazar en forma masiva un string por otro en uno o varios
fuentes RPG/CLP/RPGLE.
Miembro a convertir: Se rellena este campo con el nombre del fuente a modificar si se
va a procesar solamente un fuente. Si es un conjunto de fuentes del archivo SRCPF
(qrpgsrc, etc) entonces se deja en blanco este campo.
Texto viejo: coloque el texto que será reemplazado en el proceso (por ejemplo, la
palabra HOLA)
Texto nuevo: coloque el texto nuevo que será colocado en el lugar del texto viejo. (Por
ejemplo, la palabra CHAO)
http://www.megaupload.com/?d=771NS5R4
Puede observarse un botón de “GRABAR” que aunque esta creado, no está operativo.
Actualmente el proceso se ejecuta y actualiza sin necesidad de presionar el botón
GRABAR.
Si el analista considera necesario generar una versión de prueba que no actualice los
fuentes sino que genere un listado o archivo de salida para verificar como sería la
actualización antes de realizarla efectivamente, puede condicionar la actualización de
los fuentes a presionar el Botón GRABAR y el ENTER a la ejecución de prueba.
PGM
/*STRING A SUSTITUR = ANTES, STRING NUEVO = DESPUES */
DCL VAR(&ANTES) TYPE(*CHAR) LEN(10)
DCL VAR(&DESPUES) TYPE(*CHAR) LEN(10)
/*PROGRAMA PRINCIPAL */
PANTALLA:
SNDRCVF RCDFMT(WIN01) OPNID(PANT)
/* INTERACTIVO */
IF COND(&PANT_PROCES = 'I') THEN(DO)
CHKOBJ OBJ(QTEMP/ARCHIVO) OBJTYPE(*FILE)
MONMSG MSGID(CPF9801) EXEC(CRTSRCPF +
FILE(QTEMP/ARCHIVO) RCDLEN(112) MBR(ARCHIVO))
/*APLICA SOLO PARA UN FUENTE */
IF COND(&PANT_MBR *NE ' ') THEN(DO)
OVRDBF FILE(&ARCHIVO)
TOFILE(&PANT_LIBFTES/&PANT_FUENTES) +
MBR(&PANT_MBR)
CALL PGM(RPGREPLAC) PARM(&PANT_ANTES
&PANT_DESPUES)
ENDDO
OVRDBF FILE(LISTAMBR) +
TOFILE(&PANT_WRKLIB/&PANT_LISFTES) +
MBR(*FIRST)
LEE:
RCVF OPNID(LISTA)
MONMSG MSGID(CPF0864) EXEC(GOTO FINAL)
OVRDBF FILE(&ARCHIVO) +
TOFILE(&LISTA_MLLIB/&LISTA_MLFILE) +
MBR(&LISTA_MLNAME)
CALL PGM(RPGREPLAC) PARM(&PANT_ANTES
&PANT_DESPUES)
GOTO LEE
ENDDO
ENDDO
/free
× //---------------------------------------------------
× // Proceso Principal
× //---------------------------------------------------
read rutil;
*Inlr = *ON;
/end-free
Hasta la próxima…
http://iseriesvenezuela.blogspot.com
Email: rpg.iseries@gmail.com