¿ Quieres imprimir esta página ? Volver a la página principal de Recursos iSeries AS400 ¿ Necesitas ayuda ? En pruebas
System i5 iSeries AS400 Recursos. Compartiendo generamos conocimiento
Novedades en Recursos iSeries AS400
Noticias tecnológicas

Utilidades iSeries AS400.
Utilidad WRTSRC - Escribir en un miembro fuente

WRTSRC - Escribir en un miembro fuente

Esta utilidad se proporciona "tal cual", el autor no se hace responsable de posibles perjuicios debidos a fallos no detectados. Es por ello que se recomienda probar de forma exahustiva esta utilidad, para eso se entrega junto con los fuentes.

El mandato "Escribir en miembro fuente" permite añadir una sentencia fuente en un miembro de archivo fuente. El registro entero puede ser insertado o actualizado. Se puede también especificar posiciones para facilitar el trabajo con lenguajes en formato fijo (como RPG o DDS).

Este puede ser útil cuando se necesite crear o modificar una cantidad pequeña de código fuente desde un programa CL. Los tipos de fuente habituales para ser modificados serían las DDS o las especificaciones de reformateo.

Por ejemplo, se quiere crear dinámicamente un fichero usando el mismo formato que el producido por el mandato DSPFD OUTPUT(*OUTFILE) pero especificando como clave al campo "número de registros" (MBNRCD) en orden descendente. El fichero modelo en la biblioteca QSYS es QAFDMBR con nombre de formato QWHFDMBR. Para conseguirlo se necesita primero un archivo fuente con un miembro. Luego se puede usar el mandato
WRTSRC para crear la DDS que se necesita. Una codificación CL típica podría ser la que sigue:

CRTSRCPF FILE(QTEMP/SOURCE)
ADDPFM FILE(QTEMP/SOURCE) MBR(MBRFIL)
WRTSRC SRCFILE(QTEMP/SOURCE) MBR(MBRFIL) ACTION(*ADD) STMT('-
A R QWHFDMBR FORMAT(QSYS/QAFDMBR)')
WRTSRC SRCFILE(QTEMP/SOURCE) MBR(MBRFIL) ACTION(*ADD) STMT('-
A K MBNRCD DESCEND')
WRTSRC SRCFILE(QTEMP/SOURCE) MBR(MBRFIL) ACTION(*END)
CRTPF FILE(QTEMP/MBRFIL) SRCFILE(QTEMP/SOURCE)
DSPFD FILE(xxx) TYPE(*MBR) OUTPUT(*NONE) FILEATR(*PHY) +
OUTFILE(QTEMP/MBRFIL)

Se ha creado un archivo fuente y se ha añadido un miembro. Los dos primeros mandatos WRTSRC escriben las especificaciones DDS en el fichero anterior con el formato y la clave del registro. El mandato WRTSRC asume que se quiere realizar más de una operación con él, asi en la tercera aparición se especifica ACTION(*END) con lo que se cierra el archivo y miembro utilizado. Posteriormente el mandato CRTPF crea
el fichero y la salida producida por DSPFD se pone en el fichero creado antes.

La DDS que ha sido creado se parecería a:

A R QWHFDMBR FORMAT(QSYS/QAFDMBR)
A K MBNRCD

En el ejemplo anterior el parámetro STMT de WRTSRC se usó para escribir una sentencia completa con el número exacto de espacios en blanco requeridos para el formato fijo de cada entrada de DDS. Otra alternativa es usar las palabras clave POSn y TXTn. Las dos primeras sentecias del ejemplo anterior podrían haberse escrito también así:

WRTSRC SRCFILE(QTEMP/SOURCE) MBR(MBRFIL) ACTION(*ADD) +
POS1(6) TXT1('A') +
POS2(17) TXT2('R QWHFDMBR') +
POS3(45) TXT3('FORMAT(QSYS/QAFDMBR)')
WRTSRC FILE(QTEMP/SOURCE) MBR(MBRFIL) ACTION(*ADD) +
POS1(6) TXT1('A') +
POS2(17) TXT2('K MBNRCD')
POS3(45) TXT3('DESCEND')

Cuando son usados los parámetros POSn y TXTn, la sentencia es construida en un área de trabajo y posteriormente escrita en el fichero fuente. Se pueden especificar hasta cuatro valores POSn y TXTn. Cada campo TXTn puede tener haste 25 bytes de longitud y es truncado al último carácter introducido. La palabra clave STMT puede también
usarse. El valor de STMT será el registro base de la sentencia y los valores TXTn se solaparán sobre éste.

Para obtener un mejor conocimiento sobre esta utilidad se puede leer la información de la QUSRTOOL (ver README de este paquete) o estudiar los fuentes con más detenimiento.

Referencias
===========
Autor
-----
QUSRTOOL en V3R0M5
ATTINFO/WRTSRC

Javier Mora García jmora@dialsur.es
Traducción al castellano del mandato y mensajes de error.
Se han cambiado de nombre a los programas responsables de ejecutar el mandato.

Mantenedor del paquete
----------------------
jmora@dialsur.es

Se está interesado en corregir los posibles fallos que pudiera tener esta utilidad. Para ello dirigirse al e-mail anterior poniendo en el asunto:
Comentarios mandato WRTSRC

Fuentes
=======

Miembro Tipo Atributo Texto
---------- ------- -------- ---------------------------------------
WRTSRC *CMD CMD Escribir en miembro fuente.
WRTSRCC *PGM CLP CPP WRTSRC Escribir en miembro fuente.
WRTSRCR *PGM RPG WRTSRC Escribir en miembro fuente.

Requisitos y dependencias
=========================
NINGUNO.

Instalación
===========
Subir cada uno de los fuentes al iSeries y ejecutar el programa de instalación INSWRTSRC.

Si se requiere una instalación más personalizada, en las cabeceras de cada uno de los programas y mandatos se recomiendan las opciones de compilación.


Tienes los fuentes de la utilidad aquí (11Kb) Puedes bajarte la utilidad aquí (10 Kb)

Enviada por Javier Mora

Febrero 2004

Comentarios de usuarios

Nombre:
Mail:
Comentario:
 

 

NUESTRA COMUNIDAD EN
ÚNETE Y.... ¡¡ PARTICIPA !!
Dossiers técnicos iSeries y AS400
- Seguridad
- Alta disponibilidad.
Nuestros links favoritos
- Tendencias tecnologías de la información
Expertos en tecnologías de la información, nos dan su punto de vista sobre las tendencias actuales y futuras
- Los últimos anuncios sobre hardware-software para iSeries AS400 realizados por IBM
- Freeware y shareware para el iSeries AS400
- Utilidades para el iSeries AS400 realizadas por profesionales
- Documentos. Trucos e ideas para resolver tus problemas
- Los manuales y links más interesantes del iSeries AS400

  Links patrocinados
  •  
  •  

[ Soy nuevo |   Profesionales |   AS qué |   Empresas |    Foros |   Recomiéndanos |    Productos ]
 
Recursos iSeries AS400. Es una web de: PUBLICACIONES HELP400, S.L. CIF:B-60-202827 Gran Vía de les Corts Catalanes, núm. 715, Entresuelo – 3ª - Barcelona - Tel.+34.932.310.049