Here is the answer to your question. This is a listf file for MPEX. It
looks just like a ,2, but it sort by sectors (small to big).
> VAR TEMP: STRING[40];
> VAR ROPENFILE: TOPENFILE;
> VAR DAYS: BOOLEAN;
> VAR L_TODAY: DATE;
>
> SUBROUTINE WRITEDISCINFO;
> BEGIN
> WRITE (SECTORS:9, ' ', NUMEXTENTS:2,
> IF MAXEXTENTS=0 THEN ' *' ELSE STRWRITE(MAXEXTENTS:3));
> END;
>
> SUBROUTINE WRITEDAYINFO;
> BEGIN
> IF L_TODAY>ACCDATE THEN WRITE (L_TODAY-ACCDATE:6)
> ELSE IF L_TODAY') ELSE WRITE ('':6);
> IF L_TODAY>MODDATE THEN WRITE (L_TODAY-MODDATE:5)
> ELSE IF L_TODAY') ELSE WRITE ('':5);
> END;
>
> L_TODAY:=TODAY;
> DAYS:=NOT BVAR("MPEXLISTFNODAYS");
> MPEXHEADER1:="FILENAME CODE ------------LOGICAL RECORD"+
> "----------- ----SPACE----"+
> IF DAYS THEN " --DAYS--" ELSE "";
> MPEXHEADER2:=" SIZE TYP EOF "+
> " LIMIT R/B SECTORS #X MX"+
> IF DAYS THEN " ACC MOD" ELSE "";
> MPEXHEADER3:="";
> FOR RFILE IN MPEXFILESET
> SORT (ACCOUNT:8, SECTORS)
> DO
> BEGIN
> IF OPENED THEN
> ROPENFILEREAD (RFILE, UFID, ROPENFILE);
> IF OPENED AND (ROPENFILE.READERS<>0 OR ROPENFILE.WRITERS<>0) THEN
> NEEDLINES (1);
> WRITEFILEOPENEDCODE;
> IF ISDIR AND NOT NOEXPANDDIR THEN
> WRITESUBDIR (' ==> ')
> ELSE IF ISLINK THEN
> BEGIN
> WRITE (' Link: ', LINKTARGET:29);
> IF LEN(OUTBUFFER)>53 THEN
> BEGIN
> WRITELN;
> WRITE ('':53);
> END;
> WRITEDISCINFO;
> IF DAYS THEN WRITEDAYINFO;
> WRITELN;
> END
> ELSE
> BEGIN
> WRITE (FMTRECSIZE:6:'RIGHTJUST', ' ', FMTTYPE:4, EOF:10,
> FLIMIT:11, BLOCKFACTOR:4);
> WRITEDISCINFO;
> IF DAYS THEN WRITEDAYINFO;
> WRITELN;
> IF OPENED AND (ROPENFILE.READERS<>0 OR ROPENFILE.WRITERS<>0) THEN
> BEGIN
> IF ROPENFILE.EOF<>EOF AND ROPENFILE.EOF<>-1 THEN
> WRITE ('':24, 'current ', ROPENFILE.EOF:6)
> ELSE
> WRITE ('':24, ' ', '':6);
> IF ROPENFILE.READERS>1 THEN
> TEMP:=STRWRITE (ROPENFILE.READERS, ' readers')
> ELSE IF ROPENFILE.READERS=1 THEN
> TEMP:='1 reader'
> ELSE TEMP:='';
> IF ROPENFILE.READERS>0 AND ROPENFILE.WRITERS>0 THEN TEMP:=TEMP+', ';
> IF ROPENFILE.WRITERS>1 THEN
> TEMP:=TEMP+STRWRITE(ROPENFILE.WRITERS,' writers')
> ELSE IF ROPENFILE.WRITERS=1 THEN
> TEMP:=TEMP+'1 writer';
> WRITE (TEMP:30:'RIGHT');
> WRITELN;
> END;
> END;
> END;
>
>
Later!!
Richard Hoffmann wrote:
> Is there a way to to do a LISTF using MPEX that sorts the output by
> sectors and if so, can you give me an example? I have been looking at
> there help and haven't been able to figure it out.
>
> Thanks
> Richard
>
> --
> Richard Hoffmann http://www.blinncol.edu
>
> Systems Analyst/Programmer 979-830-4213 (Work)
> Blinn College 979-830-4049
> (Fax)
> Brenham, Texas
--
Ron Horner
HP3000 Systems Administrator
JCPenney Logistics
[log in to unmask]
(414) 259-2274
|