A todos los foreros y en especial a Gerardo : gracias por la ayuda , ya funciona
Una nueva pregunta: hay alguna forma de que el nombre de un fichero tenga mas de 10 caracteres? Elvira _____ De: [email protected] [mailto:[email protected]] En nombre de Elvira Vázquez Enviado el: miércoles, 06 de octubre de 2010 10:41 Para: 'forum.help400' Asunto: RE: [Spam] RE: duda Gerardo He hecho lo que me has indicado pero me da un mensaje cuando se ejecuta el STRQSH CMD…… que no se que significa y no sigue adelante Ls:001-3015 usage: ls ý-ACFLRSTacdfiloqrstul”Ýfile…..” Gracias Elvira _____ De: [email protected] [mailto:[email protected]] En nombre de Gerardo Santillana Enviado el: martes, 05 de octubre de 2010 16:44 Para: [email protected] Asunto: [Spam] RE: duda Esto te puede servir o al menos darte una idea Primero crea este archvio CRTPF FILE(BIBLIOTECA / LISTF) RCDLEN(80) Despues en el cl haz esto PGM DCLF FILE(*LIBL/LISTF) DCL VAR(&LISTF2) TYPE(*CHAR) LEN(10) DCL VAR(&LSTPOS) TYPE(*DEC) LEN(3 0) DCL VAR(&RSLT) TYPE(*DEC) LEN(3 0) /* Parametros para usar en QCLSCAN */ DCL VAR(&STRLEN) TYPE(*DEC) LEN(3) VALUE(80) DCL VAR(&STRPOS) TYPE(*DEC) LEN(3) VALUE(1) DCL VAR(&PATTERN) TYPE(*CHAR) LEN(1) VALUE('.') DCL VAR(&PATLEN) TYPE(*DEC) LEN(3) VALUE(1) DCL VAR(&TRANSLATE) TYPE(*CHAR) LEN(1) VALUE('1') DCL VAR(&TRIM) TYPE(*CHAR) LEN(1) VALUE('1') DCL VAR(&WILD) TYPE(*CHAR) LEN(1) VALUE(' ') DCL VAR(&RESULT) TYPE(*DEC) LEN(3) ***Aqui sustituye bilioteca1 por la biblioteca donde estan los archivos que no se sabe su nombre y en biliboteca2 donde pusiste el archivo LISTF /* Obtener la lista de archivos */ STRQSH CMD('LS -L /QSYS.LIB/biblioteca1.LIB/ > + /QSYS.LIB/biblioteca2.LIB/LISTF.FILE/LISTF.MBR') MONMSG MSGID(QSH0005) /* Lee el archivo que contiene los nombres "desconocidos" */ START: RCVF RCDFMT(LISTF) MONMSG MSGID(CPF0864) EXEC(GOTO CMDLBL(END)) ****** suponiendo que en tu bilblioteca1 existen solo archivos ejecuta el siguiente programa **** ****** si hay otros objetos tendras que agregar unas lineas para checar si el nombre de archivo tiene extension .FILE **** ****** e ignorar los otros objetos ****** /* ejecuta QCLSCAN para encontrar la posicion del punto en los nombres de archivos y extraer solo el nombre (p.e FACTURAS.FILE) */ CALL PGM(QCLSCAN) PARM(&LISTF &STRLEN &STRPOS + &PATTERN &PATLEN &TRANSLATE &TRIM &WILD + &RESULT) CHGVAR VAR(&RSLT) VALUE(&RESULT) CHGVAR VAR(&LSTPOS) VALUE(&RSLT-1) CHGVAR VAR(&LISTF2) VALUE(%SST(&LISTF 1 &LSTPOS)) CPYF FROMFILE(&LISTF2) TOFILE(tuarchivo) MBROPT(*ADD) DLTF FILE(&LISTF2) GOTO CMDLBL(START) ENDPGM Saludos _____ From: [email protected] To: [email protected] Subject: duda Date: Mon, 4 Oct 2010 18:01:51 +0200 Alguien sabe como hacer un programa en CL que lea ficheros que no se sabe su nombre y los junte uno detrás de otro en otro que si se sabe su nombre y luego borre los primeros??? Elvira ____________________________________________________ �nete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 � Publicaciones Help400, S.L.
____________________________________________________ Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 © Publicaciones Help400, S.L.

