Habitualmente sabemos navegar desde la pantalla verde con el mandato
WRKLNK OBJ('/') DETAIL(*EXTENDED) DSPOPT(*ALL) pero si desde un programa queremos obtener una lista de archivos del directorio '/home/temp' (por ejemplo) no tenemos un mandato para hacerlo directamente y hemos de volcarlo a spool y leer ese spool o utilizar una API del sistema.
Una solución sencilla, si esta instalado el entorno QSHELL (opción 30 del 5722SS1) , es ejecutar mandatos tipo UNIX, pongo algunos ejemplos de los que se puede conseguir:
Obtener contenido del directorio /home/temp (en el archivo MYLIB/LISTDIR):
WRKLNK OBJ('/') DETAIL(*EXTENDED) DSPOPT(*ALL) pero si desde un programa queremos obtener una lista de archivos del directorio '/home/temp' (por ejemplo) no tenemos un mandato para hacerlo directamente y hemos de volcarlo a spool y leer ese spool o utilizar una API del sistema.
Una solución sencilla, si esta instalado el entorno QSHELL (opción 30 del 5722SS1) , es ejecutar mandatos tipo UNIX, pongo algunos ejemplos de los que se puede conseguir:
Obtener contenido del directorio /home/temp (en el archivo MYLIB/LISTDIR):
- QSH CMD('ls /home/temp/* >/qsys.lib/mylib.lib/listdir.file/listdir.mbr')
- QSH CMD('find / -type d |grep -v "QSYS.LIB" |grep -v "QNTC">/qsys.lib/mylib.lib/listdir.file/listdir.mbr')
- QSH CMD('ls -alR / |grep "/" |grep -v "l" |grep -v "QSYS.LIB">/qsys.lib/mylib.lib/listdir.file/listdir.mbr')
1 comentario:
EXCELENTE APORTE.
GRACIAS
Publicar un comentario