http://www.teknodatips.com.ar Teknoda - Notas técnicas – Tips de AS400 – iseries – System i Tip en breve - Nro.15 (Lo nuevo, lo escondido, o simplemente lo de siempre pero bien explicado) Comando EDTF (Edit File) Tema: Edición de archivos de fuentes Utilidad: Alternativa de edición de archivos distinta de SEU Nivel: Intermedio Versión: 4.2 o superior "Tips en breve/Tips en detalle" se envía con frecuencia variable y absolutamente sin cargo como un servicio a nuestros clientes AS/400. Contiene principalmente notas técnicas y no contiene mensajes publicitarios. Este mensaje se envía en concordancia con la nueva legislación sobre correo electrónico: Por sección 301,párrafo (a) (2) (c) de S.1618 bajo el decreto s.1618 titulo 3º aprobado por el 105 congreso base de las normativas internacionales sobre SPAM, este e-mail no podrá ser considerado SPAM mientras incluya una forma de ser removido Conteste este mail con asunto “REMOVER” si no desea recibir más esta publicación.. Si desea suscribir otra dirección de e-mail para que comience a recibir los “Tips”, envíe un mensaje desde esa dirección a letter400@teknoda.com, aclarando nombre, empresa y cargo del suscriptor. Lista de Tips publicados hasta la fecha: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Modificación de los parámetros por default que rigen en los comandos del OS/400 Restricción de comandos pesados a modalidad batch Cómo generar un entorno de prueba para año 2000 Cómo salvar y restaurar spool Cómo agregar pantallas de confirmación/validación para comandos delicados Defragmentación del espacio en disco no utilizado : STRDSKRGZ, ENDDSKRGZ Manipulación de bases de datos desde programas CL, a través de Query/400 Generación de spool AS/400 en formato PDF (Adobe Acrobat Reader) para almacenar en CD´s Cómo proteger columnas de un archivo físico o lógico Cómo cambiar la pantalla de signon Cómo automatizar transferencias de archivos con TCP/IP desde AS/400 Control de accesos sobre archivos de spool Aproveche lo que ya tiene: FILE SERVING con NETSERVER/400 EMULACION 5250 vía Internet con lo que ya tiene instalado Temas de próximos tips: • Auditoría sobre objetos en AS/400 Resumen ejecutivo El comando OS/400 EDTF ofrece una alternativa distinta para editar archivos de fuentes o de textos cuando SEU no está disponible o por alguna razón no resulta conveniente. Es el único utilitario que permite editar desde pantalla verde archivos contenidos en los directorios ASCII del Integrated File System, esto es, objetos “ajenos” al entorno QSYS. El EDTF es parte de la “movida” vigente en AS/400 para integrar los viejos paradigmas, con el mundo JAVA, Internet, etc. Otros comandos aparecidos en la versión 4, acompañan esta idea. Introducción Para aquellos detractores del SEU, o simplemente, aquellos que no lo tienen instalado (dado que requiere programa bajo licencia 5769-PW1, Application Development Tools), existe un editor alternativo a través del comando OS/400 EDTF (Edit File). El comando EDTF es en realidad un editor más amplio que el SEU, en el sentido del que fue originalmente concebido para editar archivos ASCII (.txt, .ini, .doc, .java, etc.) almacenados en el Integrated File System. No obstante, dado que IBM intenta considerar a todos los objetos del sistema por igual, permite editar también los miembros de los archivos físicos de fuente (PF-SRC) convencionales del entorno QSYS.LIB. (No olvidemos que las bibliotecas, objetos y miembros son asimismo parte del IFS.) Justamente, el EDTF es parte de un nuevo conjunto de comandos incluidos a partir de versión 4 para poder manipular también desde “pantalla verde” el contenido de los directorios ASCII que pueden almacenarse hoy en el AS/400. Se busca de este modo, subsanar una vieja carencia de esta arquitecura: la falta de instrumentos para manipular el IFS fuera del entorno Windows, Unix o Netware. (Ver nota al pie sobre IFS y otros comandos), y la falta de integración entre el mundo ASCII y el EBCDIC aunque convivieran en el almacenamiento. La necesidad de editar programas Java, archivos de configuración de Domino, páginas HTML, etc. generó el hecho de tener que crear comandos como el EDTF, DSPF. Cómo funciona EDTF Si su sistema está en versiones anteriores a la 4.5, para utilizar el comando EDTF necesitará obtener las siguientes PTF´s al OS/400: • V 4.2 SF45296 • V 4.3 SF49052 Estas PTF´s que se suman al OS/400 ya instalado, generan en su sistema algunos comandos utilitarios relacionados con el IFS. En la versión 4.4 ya se incluyen en la carga básica de OS/400. Una vez disponible el comando, su utilización es de la más absoluta simpleza. Se lo invoca desde la línea de comando , y propone dos alternativas de parámetros mutuamente excluyentes: • Nombre de un archivo ASCII, llamado archivo continuo (Stream File), como opuesto a archivo organizado por registros. En este caso, debe indicarse el path completo desde el directorio raíz, por ejemplo, /Paginas/Info/Corporat/xxxxxxx.html. La barra que se utiliza es la barra común, como en Unix, no la barra invertida. ó • Nombre de biblioteca/objeto/miembro para ubicar un archivo físico convencional: IFS /root /userdir1 /userdir2 subdir21 ASCII .html, .gif, etc. /tekweb alumnos al1 al2 /QOpenSys /QSYS.LIB QGPL LIB1 WEB QCLSRSC QRPGSRCC EBCDIC *PGM *FILE etc Por ejemplo, EDTF FILE(WEB/QCLSRC) MBR(RECNRO) ó EDTF STMF(‘/tekweb/alumnos/repositorio/form.htm’) La funcionalidad del EDTF como editor es apenas suficiente. Probablemente no sería la herramienta adecuada para trabajos largos y exigentes, sino más bien para pequeños archivos o ediciones eventuales. Tiene instrumentos de búsqueda y reemplazo. No ofrece, desde ya, la facilidad de prompteo. Lo que sí ofrece, bastante interesante, son “Servicios”, que permiten copiar información desde bibliotecas a archivos en ASCII y viceversa, o modificar atributos de codificación CCSID. No se recomienda en absoluto el uso de EDTF para trabajar sobre fuentes típicamente nativos como RPG, COBOL o DDS donde la capacidad de prompteo del SEU lo hace prácticamente insustituible. Para tener en cuenta... • Todos los enunciados del comando EDTF hablan de “archivos físicos” en general, sin especificar si se trata de PF-DATA o PF-SRC. Sin embargo, al tratar de utilizarlo para editar archivos PF-DTA con descripción externa , genera un mensaje de error CPFB621, acusando: “El archivo no se puede editar”, y sugiere seleccionar otro editor para editarlo. En cambio, si el archivo es un PF-DTA sin formato de registro pueden editarse los registros del mismo con este comando. • Es muy útil el comando DSPF para visualizar archivos, en forma read-only. Este comando se maneja igual al EDTF en cuanto a los parámetros. NOTA ADICIONAL: Integrated File System Aunque ha pasado siempre bastante inadvertido, el IFS es el modelo de almacenamiento en discos que utiliza el AS/400 desde la versión 3.1. Dentro del IFS la información se organiza con una estructura jerárquica de directorios tipo DOS o Unix, a partir de un directorio raíz (root), donde conviven diferentes sistemas de acceso, diferentes códigos (ASCII, EBCDIC) y formatos de archivo en las distintas ramas de directorios. El esquema de almacenamiento EBCDIC tradicional de AS/400, se almacena como un directorio del IFS llamado QSYS.LIB, donde las bibliotecas del sistema, sus objetos y miembros se representan como niveles de anidación de directorios. El IFS incluye directorios base para contener sistemas de archivos Unix (QopenSys), Netware (Qnetware), entre otros, y pueden crearse directorios adicionales, como en cualquier otro ambiente DOS/Unix para usos específicos (Web Serving, File Serving, etc.). Típicamente, el acceso y la operación de los contenidos del IFS ajenos a QSYS.LIB se practica desde otras arquitecturas que acceden al AS/400 a través de la red o TCP/IP. Por ejemplo, se accede a las páginas Web o a los programas JAVA desde un browser. Se accede a los contenidos de Qnetware usando un cliente Novell o al resto del IFS usando NetServer (Ver tip Nro. 13, ¡Imperdible!), desde el Entorno de Red de cualquier PC con Windows. En las versiones más primitivas de OS/400, el acceso desde pantalla verde o entorno QCMD a los contenidos ASCII del IFS era muy primitivo. Existían sólo un grupo de comandos para gestionar globalmente sobre directorios, sin ninguna posibilidad de gestionar sobre los contenidos. A partir de la versión 4, acompañando la necesidad de integración que genera el Web Serving, el trabajo con Java, etc., las posibilidades se amplían notablemente. Aparecen comandos como EDTF para acceder archivos del IFS, e incluso en entorno QSHELL (STRQSH) para moverse libremente dentro del File System. Otros comandos que operan sobre el IFS son: DSPF (Display File), RST, SAV, CPY, MOV, CPYTOSTMF, CPYFRMSTMF, CRTDIR, CHGCURDIR; RMVDIR; DSPWRKDIR. Muchos de éstos operan también sobre objetos en bibliotecas (DSPF, CPY, etc.)