%META:TOPICINFO{author="ChrisBartram" date="1149893060" format="1.1" version="1.1"}% %META:TOPICPARENT{name="Hp3000MpexXeqs"}%
(* A replacement for LISTF,3 to show ALL dates and times.          *)
(* by Michael Hensley, VESOFT Tech Support, 90/05/14               *)

(* Revision: Leonard S. Berkowitz                                  *)

(* ALLDATE, a customized LISTF mode                                *)

(*                                                                 *)
(* *-------------------------------------------------------------* *)
(* *                                                             * *)
(* *                       Change Log                            * *)
(* *                                                             * *)
(* *   Date   by  Modification                                   * *)
(* * -------- --- -----------------------------------------------* *)
(* * 04/07/92 LSB Initial turnover to production                 * *)
(* *                Copy of N33.LISTF.VECSL and aesthetically    * *)
(* *                enhanced.                                    * *)
(* * 08/21/92 LSB Added revision information in output.          * *)
(* * 03/23/93 LSB Added CO_NAME plus name of LISTF mode in revi- * *)
(* *                sion information.                            * *)
(* *              Modified placement of 'revision' in redirected * *)
(* *                output file.                                 * *)
(* * 03/26/93 LSB Changed header to print ',' only if HPJOBNAME  * *)
(* *                has a value.                                 * *)
(* * 04/09/93 LSB Added 'Sorted on account, group file' heading  * *)
(* *                line.                                        * *)
(* * 11/03/93 LSB Changed handling of CO_NAME so that it is      * *)
(* *                treated as an MPEX variable and not an       * *)
(* *                MPE/iX variable.                             * *)
(* *              Changed handling of WGLCPU so that it is       * *)
(* *                treated as an MPEX variable and not an       * *)
(* *                MPE/iX variable.                             * *)
(* *              Added group, account and final totals.         * *)
(* * 04/25/95 LSB Added FMTCOMMA on number of files and sectors. * *)
(* * 05/14/96 LSB Changed revision display to use modification   * *)
(* *                date of source file rather than compiled     * *)
(* *                file.                                        * *)
(* *                                                             * *)
(* *-------------------------------------------------------------* *)
(*                                                                 *)

VAR LINE_WIDTH: INTEGER;

VAR AUSPICES: STRING [20];

IVARSET ("LINE_WIDTH",79);

SVARSET
    ("AUSPICES", (STR (HPPROMPT,1,(POS (" ",HPPROMPT) -1) ) ) );

MPEXHEADER1:=
    RPT (" ", 10 ) +
    "---Creation----   " +
    "-Modification--   " +
    "---Accession---   " +
    "--Allocation---";

MPEXHEADER2:=
    "Filename" +
    RPT (" ",2) +
    "  Date    Time    " +
    "  Date    Time    " +
    "  Date    Time    " +
    "  Date    Time    ";

MPEXHEADER3:="";

FOR RFILE IN MPEXFILESET
  ALREADYSORTED (ACCOUNT:8,GROUP:8,FILE:8)

  ONBREAKBEFORE 2
    BEGIN
      WRITELN (" ");

      WRITELN
          ("ACCOUNT=  ",
           ACCOUNT:8,
           RPT (" ",4),
           "GROUP=  ",
           GROUP:8);

      WRITELN (" ");

      WRITELN (MPEXHEADER1);

      WRITELN (MPEXHEADER2);

    END

  ONBREAKAFTER 2
    BEGIN
      WRITELN (" ");

      WRITELN (RPT (" ", 21 ),
               STRWRITE
                   ("Group " + GROUP:16:'RIGHTJUST'),
               FMTCOMMA (TOTAL (2,1) ):7:"R",
               " file(s), ",
               FMTCOMMA (TOTAL (2,SECTORS) ):10:"R",
               " sector(s)");

      WRITELN (" ");
    END

  ONBREAKAFTER 1
    BEGIN
      WRITELN (RPT (" ", 21 ),
               STRWRITE
                   ("Account " + ACCOUNT:16:'RIGHTJUST'),
               FMTCOMMA (TOTAL (1,1) ):7:"R",
               " file(s), ",
               FMTCOMMA (TOTAL (1,SECTORS) ):10:"R",
               " sector(s)");

      WRITELN (" ");
    END

  PAGEHEAD
    BEGIN
      WRITELN (" ");

      WRITELN
          (STRWRITE
               (SVAR ("HPSYSNAME") +
                " " +
                UPS (SVAR ("MPEXFILESET") ):
                79:
                "CENTER") ) ;

      IF HPJOBNAME <> "" THEN
          WRITELN
              (STRWRITE
                   (HPJOBNAME +
                    "," +
                    HPUSER +
                    "." +
                    HPACCOUNT +
                    ", " +
                    HPDATEF +
                    ", " +
                    HPTIMEF:
                    79:
                    "CENTER") )
      ELSE
          WRITELN
              (STRWRITE
                   (HPUSER +
                    "." +
                    HPACCOUNT +
                    ", " +
                    HPDATEF +
                    ", " +
                    HPTIMEF:
                    79:
                    "CENTER") ) ;

      WRITELN (" ");

      WRITELN
          (STRWRITE
               ("(Sorted by account, group, file)":
                79:
                "CENTER") );

      WRITELN (" ");
    END

  DO
    BEGIN
      WRITELN
          (FILE:8,
           RPT (" ",2),
           CREDATE:'%0M/%0D/%0Y',
           RPT (" ",2),
           CRETIME:'%024h:%0m',
           " | ",
           MODDATE:'%0M/%0D/%0Y',
           RPT (" ",2),
           MODTIME:'%024h:%0m',
           " | ",
           ACCDATE:'%0M/%0D/%0Y',
           RPT (" ",2),
           ACCTIME:'%024h:%0m',
           " | ",
           RSTDATE:'%0M/%0D/%0Y',
           RPT (" ",2),
           RSTTIME:'%024h:%0m');
    END

  FINALLY
    BEGIN
      WRITELN (RPT (" ", 25 ),
               STRWRITE
                   ("Grand totals"),
               FMTCOMMA (TOTAL (0,1) ):7:"R",
               " file(s), ",
               FMTCOMMA (TOTAL (0,SECTORS) ):10:"R",
               " sector(s)");

      WRITELN (" ");

      WRITELN
          (RPT (" ", (IVAR ("LINE_WIDTH") - 48) ),
           SVAR ("AUSPICES"),
           "'s MODDATE, revision: ",
           VEFINFO ("ALLDATE.LISTF.VESOFT").MODDATE,
           ", ",
           VEFINFO ("ALLDATE.LISTF.VESOFT").MODTIME);
    END

-- Main.ChrisBartram - 09 Jun 2006