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/

Reply via email to