You can use the INTERNAL keyword with LIST.READU to get the results back as a dynamic array. You also might wish to index the FILEINODE and FILEDEV fields of the UNIVERSE.STAT.FILE so you can use something like SELECTINDEX in BASIC to obtain the records quickly. Using this method, it shouldn't matter if you use Windows or UNIX.
Regards, LeRoy F. Dreyfuss Product Manager IBM UniVerse and UniData (U2) Data Servers [cid:_2_0AA54ED00AA54C7C006A26B687257259] Tel: 303-773-7783 Fax: 303-773-5915 Mobile: 720-341-4317 Tie-line: 656-7783 External email: [EMAIL PROTECTED] WWW: http://www.ibm.com/software/data/u2 "John Hester" <[EMAIL PROTECTED]> Sent by: [EMAIL PROTECTED] 01/04/2007 11:16 AM Please respond to u2-users@listserver.u2ug.org To <u2-users@listserver.u2ug.org> cc Subject RE: [U2] [UV] LIST.READU program > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Mike > Pflugfelder > Sent: Wednesday, January 03, 2007 7:02 PM > To: u2-users@listserver.u2ug.org > Subject: [U2] [UV] LIST.READU program > > Does anyone have a program written that would give us better > output for > LIST.READU that they wouldn't mind sharing? I use this on UV: 0021: EXECUTE 'LIST.READU', OUT > READU.LIST 0022: DEL READU.LIST<DCOUNT(READU.LIST,@AM)> 0023: READU.ARRAY = TRIM(READU.LIST) 0024: CONVERT ' ' TO @VM IN READU.ARRAY 0025: LINES = DCOUNT(READU.ARRAY,@AM) 0026: QUIT = 0 ; CUR.LINE = 1 0027: FOR I = 1 TO LINES UNTIL QUIT 0028: IF NUM(READU.ARRAY<I,3>) AND READU.ARRAY<I,3> # '' THEN 0029: INODE.NO = TRIM(READU.ARRAY<I,3>) 0030: EXECUTE 'SH -c "ls -i | egrep ':INODE.NO:'"', OUT > FILENAME 0031: IF FILENAME<1,1,1> # '' THEN 0032: FILENAME = FIELD(TRIM(FILENAME<1,1,1>),' ',2) 'L#6' 0033: INODE.POS1 = INDEX(READU.LIST<I>,INODE.NO,1) 0034: INODE.POS2 = INODE.POS1 + LEN(INODE.NO) 0035: IF LEN(INODE.NO) = 9 THEN 0036: INODE.POS2 += 1 0037: FILENAME = ' ':FILENAME:' ' 0038: END 0039: READU.LIST<I> = READU.LIST<I>[1,INODE.POS1-1]:FILENAME:READU.LIST<I >[INODE.POS2,99] 0040: END 0041: END 0042: PRINT READU.LIST<I> 0043: CUR.LINE += 1 0044: IF CUR.LINE = 24 THEN 0045: PRINT 'Press any key to continue...': 0046: INPUT DATA.IO, 1 0047: QUIT = DATA.IO = 'Q' 0048: IF NOT(QUIT) THEN 0049: CUR.LINE = 0 0050: END 0051: END 0052: NEXT I 0053: END The only caveat is that it can only report file names for the account you run it in. Works well for us since all of our users work in a single account. -John ------- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/ [demime 1.01d removed an attachment of type image/jpeg] ------- u2-users mailing list u2-users@listserver.u2ug.org To unsubscribe please visit http://listserver.u2ug.org/