Sign up on the Revelation Software website to have access to the most current content, and to be able to ask questions and get answers from the Revelation community

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

Sprezzatura Ltd

www.sprezzatura.com_zz.jpg


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

View this thread on the forum...

  • third_party_content/community/commentary/forums_nonworks/f0160d5160dc87238525654e007afda0.txt
  • Last modified: 2024/01/04 21:00
  • by 127.0.0.1