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.