How do I look at SIZELOCK thru a LIST statement? (AREV Specific)
At 13 NOV 1997 05:23:23PM Michael Slack wrote:
I would like to run a report on all of my tables to see what the sizelock on each is set to. Does anyone have an idea on how to do that?
I've heard that it is possible to look at the header information of a table as if it were just another row but I haven't been able to find any specific information on how to do that. I would like to create an R/List statement that I can run from time to time to check on all my tables for sizelock, lk/ov ratios and other information contained within the header of each table.
Thanks,
Michael Slack
At 14 NOV 1997 08:56PM Ed Mantz wrote:
I remember downloading a program from the
AREV Compuserve forum a few years back. It only
displayed the sizlock. But if you are interested I
I believe I have it on disk somewhere and I could
send it to you.
At 15 NOV 1997 12:02PM Aaron Kaplan wrote:
From the 5th Developer Utility Disks….
The sizelock will be returned in oldValue. You can modify this to suit your needs.
subroutine sizelock(fileName, newValue, oldValue, flag) /**************************************************************************** VERSION : Advanced Revelation 2.0 PURPOSE : Allows you to change the sizelock via a subroutine call AUTHOR : CREATED : April 19, 1993 PROCEDURES : WARNINGS : THEORY OF OPERATION : Pass a value, and it becomes the sizelock. We'll hand back the old value in case it is just a temporary change. If newValue is null, then leave sizelock alone. REVISION HISTORY (Most CURRENT first) : DATE IMPLEMENTOR FUNCTION -------- ----------- -------- MM-DD-YY initials Modification ****************************************************************************/ *÷ $INSERT Blocks : *÷ EQUATE Variables (Terminate with '$') : EQU TRUE$ TO 1 EQU FALSE$ TO 0 EQU YES$ TO 1 EQU NO$ TO 0 EQU OTHERWISE$ TO 1 EQU NULL$ TO "" EQU SPACE$ TO \20\ EQU BACKTOVM TO \42FD\ EQU BACKTOSVM TO \42FC\ *÷ COMMON Variables (Terminate with '%') : *÷ LABELED COMMON Variables (Terminate with '@') : *÷ MESSAGES called (Terminate with '$') : *÷ DECLARED - FUNCTIONS called : *÷ DECLARED - SUBROUTINES called : declare subroutine fsmsg, msg /***************************** ÷ INDIRECT - FUNCTIONS/SUBROUTINES called if known (Make COMMENTS) : *****************************/ *÷÷ PROGRAM TOP flag=FALSE$ open fileName to handle else flag=TRUE$ end ohandle=handle if flag else fh=handle-1,BACKTOVM if fh=S' then handle-1, -2=' fh=handle-1,BACKTOVM end handle=fh n=seq(handle1,1) dosName=handlen+1,9999 osopen dosName to dosHandle else flag=@FILE.ERROR end if flag else counter=0 loop lock ohandle, 0, 04 then locked=TRUE$ end else locked=FALSE$ counter += 1 end until locked or counter ] 100 repeat if locked then osbread sizelock from dosHandle at 20 length 2 oldvalue=SEQ(SIZELOCK2,1)*256 + SEQ(SIZELOCK1,1) if len(newValue) then if newValue1,1=+' or newValue1,1=-' then newValue=oldValue + newValue end SIZELOCK=CHAR(MOD(NEWVALUE,256)):CHAR(INT(NEWVALUE/256)) osbwrite sizelock on dosHandle at 20 end unlock ohandle, 0, 04 else flag=status() end end else flag=status() end end end *apk@sprezzatura.com
At 17 NOV 1997 01:31PM Victor Engel wrote:
I don't have the code to do this handy, but here is what I've done in the past:
Create an item in the dictionary of the SYSTABLES (FILES) file that goes through these steps:
* Look at field 5. If blank, open @ID to some handle then reread the record.
* Extract the DOS file for the data file from this field.
* OSOPEN and OSBREAD frame 0 of that file.
* Parse out the sizelock information (I think FRAME21,1 will get it)
At 17 NOV 1997 08:41PM Michael Slack wrote:
I would like to get a hold of the program that displays the sizelocks if you still have it. If you would please send it to my E-mail address of:
slackmi.asa@asa.org
Thank You,
Michael Slack