Would it not be easier to use JINFO to obtain job information instead of
trying to use FINFO?
:setvar jimsintro jinfo("s26", "Introdate")
:showvar jimsintro
JIMSINTRO = 20000427
John Burke wrote:
>
> This seemed almost too good to be true. Turns out it may be.
>
> I was about to include this in the Hidden Value column of the May issue of
> The 3000 News/Wire, but when I checked it out (as I usually try to do before
> putting a tip in) I found what appears to be a small problem: It only works
> on VT and Telnet sessions.
>
> It appears that for DTC connections (and the console, LDEV 20) the
> corresponding file in /3000devs/DEVICES/ is created upon boot up and is
> never purged, nor is it even updated when someone new signs on to the
> device. Thus, while listfile /3000devs/DEVICES/00000020,3 will tell you when
> the system was last booted, that is all it will tell you.
>
> John Burke
> [log in to unmask]
>
> -----Original Message-----
> From: HP-3000 Systems Discussion [mailto:[log in to unmask]]On
> Behalf Of Ed Stouder
> Sent: Tuesday, April 11, 2000 8:05 AM
> To: [log in to unmask]
> Subject: Re: User Limits
>
> Here is the rest of the information about seeing when a session signed on.
> This includes a small script file to automate the process.
>
> :showjob job=@s
>
> JOBNUM STATE IPRI JIN JLIST INTRODUCED JOB NAME
>
> #S146 EXEC 3 3 TUE 8:23A FRED,MANAGER.SYS
> #S147 EXEC 8 8 TUE 8:44A JOE,JOE.SMITH
> #S148 EXEC 9 9 TUE 8:47A FRANK,MGR.FRANK
>
> Using the LISTFILE command, we can see what date JOE signed on by looking at
> a specific file.
>
> LISTFILE /3000devs/DEVICES/00000008,3
>
> This file in the HFS is purged(if it exists) and then created when ever a
> session signons to the logical device 8.
>
> :LISTFILE /3000devs/DEVICES/00000008,3
> ********************
> FILE: /3000devs/DEVICES/00000008
>
> FILE CODE : 0 FOPTIONS: BINARY,FIXED,NOCCTL,STD
> BLK FACTOR: 1 OWNER : **
> REC SIZE: 256(BYTES) GROUP ID: **
> BLK SIZE: 256(BYTES) SECURITY--READ : ANY
> EXT SIZE: 0(SECT) WRITE : ANY
> NUM REC: 0 APPEND : ANY
> NUM SEC: 0 LOCK : ANY
> NUM EXT: 0 EXECUTE : ANY
> MAX REC: 8388607 **SECURITY IS ON
> ,PROTECTED,NOBACKUP
> FLAGS : NO ACCESSORS
> NUM LABELS: 0 CREATED : TUE, APR 11, 2000, 8:44 AM
> MAX LABELS: 0 MODIFIED: TUE, APR 11, 2000, 8:44 AM
> DISC DEV #: 1 ACCESSED: TUE, APR 11, 2000, 8:44 AM
> SEC OFFSET: 0 LABEL ADDR: **
> VOLNAME : MPEXL_SYSTEM_VOLUME_SET:MEMBER1
>
> As you can see this person signon today. But the same general process can be
> used to write a script to tell you what date a session logged on.
>
> Here is a quick script to do the above.
>
> !SETVAR HPMSGFENCE 17
> !IF FINFO("SJMSG",0)
> ! PURGE SJMSG,TEMP
> !ENDIF
> !IF FINFO("PFILE",0)
> ! PURGE PFILE,TEMP
> !ENDIF
> !BUILD SJMSG;REC=-79,,F,ASCII;TEMP;MSG
> !FILE SJMSG=SJMSG,OLDTEMP
> !SHOWJOB JOB=@S;*SJMSG
> !SETVAR COUNT FINFO("SJMSG",19)
> !WHILE FINFO("SJMSG",19) <> 0
> ! INPUT SJLINE < SJMSG
> ! IF STR(SJLINE,1,2) = "#S" THEN
> ! SETVAR SESS STR(SJLINE,1,7)
> ! SETVAR THEDIR "/3000devs/DEVICES/"
> ! SETVAR SDEV STR(SJLINE,19,4)
> ! SETVAR THEFILE " "
> ! SETVAR THEFILE " " + "!SDEV"
> ! SETVAR THEFILE REPL("!THEFILE"," ","0")
> ! SETVAR WFILE "!THEDIR" + "!THEFILE"
> ! SETVAR SDATE FINFO("!WFILE","CREATED")
> ! ECHO SESSION !SESS SIGNED ON, ON !SDATE >>PFILE
> ! ENDIF
> !ENDWHILE
> !SETVAR HPMSGFENCE 0
> !PRINT PFILE
>
> This script just prints the date the sessions signed on. You could of course
> do other things with the information.
>
> As a side note what happens if a file in the /3000devs/DEVICES/ area gets
> corrupted?
>
> The system aborts as soon as someone signs on and the system tries to purge
> the file to create the new one.
>
> Ed Stouder
> Beechglen Development Inc.
|