HP3000-L Archives

December 2004, Week 2

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Tony Summers <[log in to unmask]>
Reply To:
Tony Summers <[log in to unmask]>
Date:
Tue, 14 Dec 2004 16:27:56 -0000
Content-Type:
text/plain
Parts/Attachments:
text/plain (267 lines)
You can also create your own bespoke LISTF formats in MPEX.  Once
'compiled' into the LISTF group in VESOFT you only need read/execute
access to the script.  (Showproc needs OP and SM capabilities).   

The one below simply adapted the basic LISTF and reports all files open
for write access by a particular session.   I also have one that prompts
for a session number and only reports on those files open by that
session.   

:print accessw.listf.vesoft
(* Modified version of ACCESS.LISTF.VESOFT  ADS Nov 2003            *)
VAR NUMOPENERS: SHORTINT;
VAR OPENERPINS: ARRAY [1024] OF SHORTINT;
VAR OPENERFNUMS: ARRAY [1024] OF SHORTINT;
VAR I: INTEGER;
VAR RFILEUSER: TFILEUSER;
VAR ROPENFILE: TOPENFILE;
VAR LOCKSTATE: INTEGER;
VAR F: STRING[8];
VAR JOBTYPE: STRING[1];
VAR JOBNUM: INTEGER;
VAR MAXOPENPIN: INTEGER;
VAR TESTME: STRING[8];
 
SUBROUTINE CLEARF;
VAR FF: STRING[8];
BEGIN
FF:=F;
F:='';
SCOPY(FF)
END;
 
SUBROUTINE GETFMTACCESSMODE; RFILEUSER.FMTACCESSMODE;
(24/150) Continue? 
 
SUBROUTINE GETCURRENTRECORD; RFILEUSER.CURRENTRECORD(RFILE);
 
SUBROUTINE GETFMTJOBNUM;
BEGIN
IF JOBNUM=0 THEN 7*' '
            ELSE STRWRITE('#',JOBTYPE:1,JOBNUM:5:'LEFT')
END;
 
SUBROUTINE GETFMTLOGON;
BEGIN
TRY
  STRWRITE(VEJOBINFO(JOBTYPE,JOBNUM).FMTLOGON:'DOWNSHIFT') +
   (IF JOBTYPE='S' THEN ' (ldev '+VEJOBINFO(JOBTYPE,JOBNUM).LDEVIN+')'
                   ELSE '')
RECOVER
  SEG (STRWRITE('(original opener inaccesssible)'))
END;
 
SUBROUTINE DOLOADED;
VAR WROTELOADED: BOOLEAN;
VAR LOADINFO: TLOADINFO;
BEGIN
(47/150) Continue? 
IFVERSION5 THEN
  IF LOADED THEN
    SEG (BEGIN
    WROTELOADED:=TRUE;
    LOADINFO.TYPE:=255;
    WHILE ISBOOLEAN (CALL LSTD'NEXT (@LOADINFO)) DO
      IF (LOADINFO.UFID)[0]=(ISDOUBLEPTR(UFID))[0] THEN
        IF LOADINFO.ISPROGRAM AND LOADINFO.PROGALLOCATED THEN
          WRITELN (CLEARF:10,
                 IF LOADINFO.PROGAUTOALLOCATED THEN "AUTOALLOCATED"
                                               ELSE "ALLOCATED")
        ELSE IF LOADINFO.ISPROCESS THEN
          BEGIN
          JOBTYPE:=PINJOBTYPE(LOADINFO.PROCESSPIN);
          JOBNUM:=PINJOBNUMBER(LOADINFO.PROCESSPIN);
          WRITELN (CLEARF:10, "LOADED":10, GETFMTJOBNUM,
                   LOADINFO.PROCESSPIN:4:'LEFT',
                   IF JOBNUM=0 OR JOBTYPE='' THEN ''
                                             ELSE GETFMTLOGON);
          END
        ELSE IF LOADINFO.ISSL THEN
          WRITELN (CLEARF:10, "SL LOADED");
    IF F<>'' THEN
(70/150) Continue? 
      WRITELN (CLEARF:10, "LOADED":10,"SYSTEM");
    END);
END;
 
MPEXHEADER1:="FILENAME ---TYPE--- JOBNUM PIN ---------PROGRAM----"+
             "----- ACCESS  RECORD -LOCK-";
MPEXHEADER2:="";
MPEXHEADER3:="";
MAXOPENPIN:=1024;
 
FOR RFILE IN MPEXFILESETGENERAL (1, TRUE)
  SELECT SEG (OPENED OR STORED OR RESTORED OR LOADED OR READING
                     OR STORESTAT<>0)
  DO
    BEGIN
    F:=SCOPYFILE;
    IFVERSION5 THEN
      DOLOADED;
    IF RESTORED OR RESTORING THEN
      WRITELN (CLEARF:10, "BEING RESTORED")
    ELSE IF STORED OR STORING THEN
      WRITELN (CLEARF:10, "BEING STORED")
    ELSE IF CBU THEN
(93/150) Continue? 
      WRITELN (CLEARF:10, "OPEN BY CONCURRENT-BACKUP");
 
    NUMOPENERS:=0;
    IF OPENED THEN
      BEGIN
      IFVERSION5 THEN
        ROPENFILEREAD (RFILE, UFID, ROPENFILE);
      TRY
        CALL FOPENERS (@RFILE, (@RFILEUSER.GUFDPTR-@RFILEUSER)/2,
                       CALLDPARM(0), CALLDPARM(0),
                       @NUMOPENERS, @OPENERPINS, @OPENERFNUMS);
      RECOVER;
      IF NUMOPENERS=0 THEN
        SEG (WRITELN (CLEARF:10, "OPENED":10,
                      "(accessor information unavailable)"));
      (* Kludge:  Would be better as a FOR loop, but then WRITELNs
         within it wouldn't do the outer FOR loop's PAGEHEADs.
         Too bad.  EV 92/12/26. *)
      I:=0;
      WHILE I<MIN(NUMOPENERS,MAXOPENPIN) DO
        BEGIN
        RFILEUSERREAD (OPENERPINS[I], OPENERFNUMS[I], RFILEUSER);
        IF OPENERPINS[I]=0 THEN
(116/150) Continue? 
          SEG (WRITELN (CLEARF:10,
                        "OPENED":10, "":7, "":4, "GLOBALLY":26,
                        GETFMTACCESSMODE:8, GETCURRENTRECORD:6))
        ELSE
          BEGIN
          IFVERSIONXL THEN
            LOCKSTATE:=-1
          ELSE
            LOCKSTATE:=SIGNEXTEND (CALL RIN'PIN'STATUS (ROPENFILE.RIN,
                                                      OPENERPINS[I]));
          JOBTYPE:=PINJOBTYPE(OPENERPINS[I]);
          JOBNUM:=PINJOBNUMBER(OPENERPINS[I]);
          TESTME:=GETFMTACCESSMODE;
          IF  TESTME<>"INPUT" THEN
              WRITELN (CLEARF:10, "OPENED":10, GETFMTJOBNUM,
                   OPENERPINS[I]:4:"LEFT",
                   PINPROGNAME(OPENERPINS[I]):26,
                   GETFMTACCESSMODE:8,
                   GETCURRENTRECORD:6, " ",
                   IF LOCKSTATE=-1 THEN ""
                   ELSE IF LOCKSTATE=0 THEN "LOCKER"
                   ELSE STRWRITE ("WAIT:", LOCKSTATE));
          IF JOBNUM<>0 AND JOBTYPE<>'' AND TESTME <>"INPUT" THEN
(139/150) Continue? 
            WRITELN ("":32, GETFMTLOGON);
          END;
        I:=I+1;
        END;
      END
    ELSE IF READING AND VALIDCOLDLOADID THEN
      WRITELN (CLEARF:10, "SYSTEM PROTECTED");
    IF NUMOPENERS > MAXOPENPIN THEN
      SEG( WRITELN ( CLEARF:10,
                     "(Output truncated: Can't recover more than ",
                     MAXOPENPIN," accessors)"));
    END;

Sample run of above 

listf @.pub.compl,accessw
                       MPEX %LISTF @.pub.compl   PAGE 1

SYSTEM SERIES e3000/N4000-400-75   ADS,PROG.DEVELOP,TONY   TUE, DEC 14,
2004,  4
:20 PM
 
 
 
ACCOUNT=  COMPL       GROUP=  PUB     
 
FILENAME ---TYPE--- JOBNUM PIN ---------PROGRAM--------- ACCESS  RECORD
-LOCK-
 
DFDB92A   OPENED    #S3683 565 PRUNXXA.PUB.SWIMS         IN/OUT    2784 
                                blb,prog.develop,blb (ldev 112)
          OPENED    #J2286 1774PRDM8.PUB.SWIMS           IN/OUT    2784 
                                stdmtsin,mgr.compl,pub
          OPENED    #J2286 1743PRDM9.PUB.SWIMS           IN/OUT    2784 
                                stdmtsin,mgr.compl,pub
          OPENED    #J2112 962 UXSERVER.NB.NETBASE       IN/OUT    3005 
                                netbase,mgr.netbase,pub
etc

-----Original Message-----
From: HP-3000 Systems Discussion [mailto:[log in to unmask]] On
Behalf Of [log in to unmask]
Sent: 14 December 2004 12:59
To: [log in to unmask]
Subject: [HP3000-L] what files does job X have opened?

Greetings
does anyone know of an easy way to find all files opened by a specific
session/job? Like a command in GLANCE, or do I really have to scan a
":listf @[log in to unmask]@, 8"?

tia
/per

--------------------------------------------------
Per Ostberg
tel 08-58581213 / fax 08-58587710 / mob 070-4840253 Lab-IT / Karolinska
Universitetssjukhuset, Huddinge
C1 56 / SE-141 86  HUDDINGE / SWEDEN
--------------------------------------------------

* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *

______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email
______________________________________________________________________




The contents of this email are confidential to the intended recipient
and may not be disclosed. Although it is believed that this email and
any attachments are virus free, it is the responsibility of the recipient to confirm this.

Smith & Williamson Corporate Finance Limited - A member of M&A
International Inc. http://www.mergers.net Registered in England No.
4533970. Authorised and regulated by the Financial Services Authority 
Smith & Williamson Investment Management Limited, Registered No. 976145. Authorised and regulated by the Financial Services Authority.
Smith & Williamson Pension Consultancy Limited - Independent
Intermediary. Registered No. 3133226. Authorised and regulated by the
Financial Services Authority.
Smith & Williamson Fund Administration Limited, Registered No. 1934644. Authorised and regulated by the Financial Services Authority.
Smith & Williamson Limited - A member of Nexia International.
Registered in England No. 4534022. Regulated by the Institute of
Chartered Accountants in England & Wales for a range of investment
business activities.

Registered Office: No 1 Riding House Street, London W1A 3AS
Telephone: 020 7637 5377 http://www.smith.williamson.co.uk

Nexia Audit Limited - A member of Nexia International. Registered in
England No. 4469576. Registered to carry on audit work and regulated by the Institute of Chartered Accountants in England & Wales for a range of investment business activities.

Registered Office: No 1 Riding House Street, London W1A 3AS
Telephone: 020 7637 5377 http://www.nexiaaudit.co.uk

NCL Investments Limited, Registered No. 1913794.
Member of the London Stock Exchange authorised and regulated by the Financial Services Authority.

Registered Office: Bartlett House, 9-12 Basinghall Street, London  EC2V 5NS
Telephone: 020 7600 2801 


______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 
______________________________________________________________________

* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *

ATOM RSS1 RSS2