<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: How does sas (base) know that a catalog is locked? in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-does-sas-base-know-that-a-catalog-is-locked/m-p/871521#M344287</link>
    <description>&lt;P&gt;How about: first creating a temporary entry (new or updated format) in the WORK and then, when process of creating is done successfully (without out-of-memory crush), copying format from WORK to final destination?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Bart&lt;/P&gt;</description>
    <pubDate>Mon, 24 Apr 2023 09:51:24 GMT</pubDate>
    <dc:creator>yabwon</dc:creator>
    <dc:date>2023-04-24T09:51:24Z</dc:date>
    <item>
      <title>How does sas (base) know that a catalog is locked?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-does-sas-base-know-that-a-catalog-is-locked/m-p/871060#M344073</link>
      <description>&lt;P&gt;Problem:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;lock library.formats.catalog list;&lt;BR /&gt;NOTE: LIBRARY.FORMATS.CATALOG is not locked or in use by you or any other users.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;lock library.formats.catalog;&lt;BR /&gt;ERROR: A lock is not available for LIBRARY.FORMATS.CATALOG.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Background:&lt;/P&gt;&lt;P&gt;The above error can be reproduced by running a job that first locks the catalog and later runs out of memory, causing sas to crash and die without cleaning up the lock.&lt;/P&gt;&lt;P&gt;The way to release the lock (as far as I know) is to reboot the server/computer.&lt;/P&gt;&lt;P&gt;Stopping all SAS services and/or exiting all sas programs does not clear the lock.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My question:&lt;/P&gt;&lt;P&gt;If a dataset is locked, SAS puts a lock file in the directory where the dataset is stored.&lt;/P&gt;&lt;P&gt;No lock file is created in the directory where the catalog is stored when a catalog is locked.&lt;/P&gt;&lt;P&gt;How does SAS know that a catalog is locked?&lt;/P&gt;&lt;P&gt;Where is the "this catalog is locked" flag/status stored?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 21 Apr 2023 11:07:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-does-sas-base-know-that-a-catalog-is-locked/m-p/871060#M344073</guid>
      <dc:creator>JOBOEV</dc:creator>
      <dc:date>2023-04-21T11:07:51Z</dc:date>
    </item>
    <item>
      <title>Re: How does sas (base) know that a catalog is locked?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-does-sas-base-know-that-a-catalog-is-locked/m-p/871068#M344079</link>
      <description>&lt;P&gt;I won't answer to your question, but maybe instead using `&lt;SPAN&gt;library.formats&lt;/SPAN&gt;` in multiple sessions make a local copy of it at the beginning of the process:&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;options dlcreatedir;
libname localCp "%sysfunc(pathname(work))/localCopyFormats";
proc copy 
  OUT=localCp
  CLONE
  IN=library;
  SELECT formats;
run;

options insert=(fmtsearch=(localCp)); /* to ensure it will be searched before library */

libname library clear;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Bart&lt;/P&gt;</description>
      <pubDate>Fri, 21 Apr 2023 11:35:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-does-sas-base-know-that-a-catalog-is-locked/m-p/871068#M344079</guid>
      <dc:creator>yabwon</dc:creator>
      <dc:date>2023-04-21T11:35:31Z</dc:date>
    </item>
    <item>
      <title>Re: How does sas (base) know that a catalog is locked?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-does-sas-base-know-that-a-catalog-is-locked/m-p/871073#M344083</link>
      <description>&lt;P&gt;Well, that would work if all you wanted was a copy of the formats. If you want to update the formats it does not work.&lt;/P&gt;&lt;P&gt;I tried using proc copy to another location, like you described, and then tried copying it back to where it belongs:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;NOTE: Copying LOCALCP.FORMATS to LIBRARY.FORMATS (memtype=CATALOG).&lt;BR /&gt;ERROR: A lock is not available for LIBRARY.FORMATS.CATALOG.&lt;BR /&gt;ERROR: File LIBRARY.FORMATS.CATALOG has not been saved because copy could not be completed.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;SAS still claims that it is not locked by me:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;3228 lock library.formats.catalog clear;&lt;BR /&gt;ERROR: LIBRARY.FORMATS.CATALOG is not locked by you.&lt;BR /&gt;3229&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In fact it claims it is not locked by anyone:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;3230 lock localcp.formats.catalog list;&lt;BR /&gt;NOTE: LOCALCP.FORMATS.CATALOG &lt;STRONG&gt;is not locked or in use by you or any other users.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 21 Apr 2023 11:55:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-does-sas-base-know-that-a-catalog-is-locked/m-p/871073#M344083</guid>
      <dc:creator>JOBOEV</dc:creator>
      <dc:date>2023-04-21T11:55:43Z</dc:date>
    </item>
    <item>
      <title>Re: How does sas (base) know that a catalog is locked?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-does-sas-base-know-that-a-catalog-is-locked/m-p/871074#M344084</link>
      <description>&lt;P&gt;oops, typo in the last line, but the result is the same:&lt;/P&gt;&lt;P&gt;1 lock library.formats.catalog list;&lt;BR /&gt;NOTE: LIBRARY.FORMATS.CATALOG is not locked or in use by you or any other users.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 21 Apr 2023 11:57:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-does-sas-base-know-that-a-catalog-is-locked/m-p/871074#M344084</guid>
      <dc:creator>JOBOEV</dc:creator>
      <dc:date>2023-04-21T11:57:26Z</dc:date>
    </item>
    <item>
      <title>Re: How does sas (base) know that a catalog is locked?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-does-sas-base-know-that-a-catalog-is-locked/m-p/871077#M344086</link>
      <description>&lt;P&gt;Again, not the answer to the question but:&amp;nbsp;How about using a SAS Package for storing and sharing formats?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is: a "hello world" example how to build a package (with format in the example):&amp;nbsp;&lt;A href="https://github.com/yabwon/SAS_PACKAGES/blob/main/SPF/Documentation/HelloWorldPackage.md" target="_blank" rel="noopener"&gt;https://github.com/yabwon/SAS_PACKAGES/blob/main/SPF/Documentation/HelloWorldPackage.md&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;[EDIT:] Just a side note sas catalogs are OS dependent, packages are not.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Bart&lt;/P&gt;</description>
      <pubDate>Fri, 21 Apr 2023 12:04:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-does-sas-base-know-that-a-catalog-is-locked/m-p/871077#M344086</guid>
      <dc:creator>yabwon</dc:creator>
      <dc:date>2023-04-21T12:04:26Z</dc:date>
    </item>
    <item>
      <title>Re: How does sas (base) know that a catalog is locked?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-does-sas-base-know-that-a-catalog-is-locked/m-p/871080#M344089</link>
      <description>&lt;P&gt;How about a binary copy?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;options dlcreatedir;
libname localCp "%sysfunc(pathname(work))/localCopyFormats";

filename f_in  "%sysfunc(pathname(library))/formats.sas7bcat" lrecl=1 recfm=F;
filename f_out "%sysfunc(pathname(localCp))/formats.sas7bcat" lrecl=1 recfm=F;
data _null_;
  rc = fcopy("f_in", "f_out");
run;
filename f_in  clear;
filename f_out clear;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Bart&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 21 Apr 2023 12:12:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-does-sas-base-know-that-a-catalog-is-locked/m-p/871080#M344089</guid>
      <dc:creator>yabwon</dc:creator>
      <dc:date>2023-04-21T12:12:13Z</dc:date>
    </item>
    <item>
      <title>Re: How does sas (base) know that a catalog is locked?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-does-sas-base-know-that-a-catalog-is-locked/m-p/871081#M344090</link>
      <description>&lt;P&gt;One more thing, you may like this reading by&amp;nbsp;&lt;SPAN&gt;Troy Hughes, he has a paper about failures of the LOCK statement:&lt;/SPAN&gt;&lt;BR /&gt;&lt;A href="https://support.sas.com/resources/papers/proceedings17/1465-2017.pdf" target="_blank" rel="noopener noreferrer" data-saferedirecturl="https://www.google.com/url?q=https://support.sas.com/resources/papers/proceedings17/1465-2017.pdf&amp;amp;source=gmail&amp;amp;ust=1682165633370000&amp;amp;usg=AOvVaw14C6Mu1Bzuxnrj6DI9r3Sl"&gt;https://support.sas.com/resour&lt;WBR /&gt;ces/papers/proceedings17/1465-&lt;WBR /&gt;2017.pdf&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Bart&lt;/P&gt;</description>
      <pubDate>Fri, 21 Apr 2023 12:15:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-does-sas-base-know-that-a-catalog-is-locked/m-p/871081#M344090</guid>
      <dc:creator>yabwon</dc:creator>
      <dc:date>2023-04-21T12:15:41Z</dc:date>
    </item>
    <item>
      <title>Re: How does sas (base) know that a catalog is locked?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-does-sas-base-know-that-a-catalog-is-locked/m-p/871149#M344101</link>
      <description>&lt;P&gt;Probably a different kind of "lock" than what the LOCK statement does.&amp;nbsp; Most likely it means that some process has the file OPEN so you cannot make any changes to it.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Make sure to use the ACCESS=READONLY option when you define the libref you use to use the formats.&amp;nbsp; &amp;nbsp;That should allow multiple processes to use the formats at once.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you have to make changes to the format catalog do it with a separate step.&amp;nbsp; In fact write the format catalog to a NEW file and then use operating system commands to swap the files to deploy the updated formats.&amp;nbsp; That way if some process still has the old file open it will not prevent new processes from finding the new file.&lt;/P&gt;</description>
      <pubDate>Fri, 21 Apr 2023 14:18:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-does-sas-base-know-that-a-catalog-is-locked/m-p/871149#M344101</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2023-04-21T14:18:49Z</dc:date>
    </item>
    <item>
      <title>Re: How does sas (base) know that a catalog is locked?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-does-sas-base-know-that-a-catalog-is-locked/m-p/871512#M344280</link>
      <description>&lt;P&gt;Yes its a different lock.&amp;nbsp;&lt;/P&gt;&lt;P&gt;That's why I'm asking how sas knows it is locked.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've experimented with this and if I lock a catalog the sas7bcat file is locked by windows.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Windows &lt;EM&gt;should&lt;/EM&gt; release file locks when the process dies, but maybe it does not always work.&lt;/P&gt;&lt;P&gt;I thought I checked that the last time it happened, and found the sas7bcat file to be unlocked (I think I was able to rename it) but can't be 100% sure.&lt;/P&gt;&lt;P&gt;I'll check for locked files in the OS the next time it happens.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The problem is, I have several batch jobs that all &lt;EM&gt;update&lt;/EM&gt; the formats library. These jobs can't use an&amp;nbsp;&lt;SPAN&gt;ACCESS=READONLY libname.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;All other jobs can use a readonly library.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 24 Apr 2023 08:27:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-does-sas-base-know-that-a-catalog-is-locked/m-p/871512#M344280</guid>
      <dc:creator>JOBOEV</dc:creator>
      <dc:date>2023-04-24T08:27:06Z</dc:date>
    </item>
    <item>
      <title>Re: How does sas (base) know that a catalog is locked?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-does-sas-base-know-that-a-catalog-is-locked/m-p/871513#M344281</link>
      <description>&lt;P&gt;A couple of thoughts:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Updating of formats is usually quick so this problem can only occur if your batch jobs run PROC FORMAT at exactly the same time. Can you reschedule them to not run at the same time?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you have to run them at the same time try the FILELOCKWAIT option on your FORMATS LIBNAME to get SAS to wait a number of seconds for the lock to clear - maybe try 30 seconds to start with.&lt;/P&gt;</description>
      <pubDate>Mon, 24 Apr 2023 08:41:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-does-sas-base-know-that-a-catalog-is-locked/m-p/871513#M344281</guid>
      <dc:creator>SASKiwi</dc:creator>
      <dc:date>2023-04-24T08:41:51Z</dc:date>
    </item>
    <item>
      <title>Re: How does sas (base) know that a catalog is locked?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-does-sas-base-know-that-a-catalog-is-locked/m-p/871515#M344282</link>
      <description>&lt;P&gt;My batch jobs that update formats are run in sequence, so they shouldn't be trying to update the formats at the same time.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In normal circumstances, it is not a problem. 99.99% of the time my batch jobs all work fine, both updating and using the formats is no issue.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It's when the process updating the format runs out of memory and dies, and leaves the file locked forever, that it's a problem, and I have to reboot in order to release the lock.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 24 Apr 2023 09:08:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-does-sas-base-know-that-a-catalog-is-locked/m-p/871515#M344282</guid>
      <dc:creator>JOBOEV</dc:creator>
      <dc:date>2023-04-24T09:08:08Z</dc:date>
    </item>
    <item>
      <title>Re: How does sas (base) know that a catalog is locked?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-does-sas-base-know-that-a-catalog-is-locked/m-p/871521#M344287</link>
      <description>&lt;P&gt;How about: first creating a temporary entry (new or updated format) in the WORK and then, when process of creating is done successfully (without out-of-memory crush), copying format from WORK to final destination?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Bart&lt;/P&gt;</description>
      <pubDate>Mon, 24 Apr 2023 09:51:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-does-sas-base-know-that-a-catalog-is-locked/m-p/871521#M344287</guid>
      <dc:creator>yabwon</dc:creator>
      <dc:date>2023-04-24T09:51:24Z</dc:date>
    </item>
    <item>
      <title>Re: How does sas (base) know that a catalog is locked?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-does-sas-base-know-that-a-catalog-is-locked/m-p/871522#M344288</link>
      <description>&lt;P&gt;This is more of an operating system problem than a SAS issue. A dead (read: removed from the process list) process should not leave&amp;nbsp;&lt;EM&gt;anything&lt;/EM&gt; behind; no used memory, no file handles, no locks.&lt;/P&gt;
&lt;P&gt;So I suggest you look for a Windows equivalent for the UNIX &lt;FONT face="courier new,courier"&gt;fuser&lt;/FONT&gt; command.&lt;/P&gt;</description>
      <pubDate>Mon, 24 Apr 2023 10:00:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-does-sas-base-know-that-a-catalog-is-locked/m-p/871522#M344288</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2023-04-24T10:00:50Z</dc:date>
    </item>
    <item>
      <title>Re: How does sas (base) know that a catalog is locked?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-does-sas-base-know-that-a-catalog-is-locked/m-p/871725#M344414</link>
      <description>&lt;P&gt;In that case, increase your MEMESIZE SAS option to ensure you don't run out of memory. You can check the current setting by running this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc options option=memsize;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 24 Apr 2023 21:22:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-does-sas-base-know-that-a-catalog-is-locked/m-p/871725#M344414</guid>
      <dc:creator>SASKiwi</dc:creator>
      <dc:date>2023-04-24T21:22:24Z</dc:date>
    </item>
    <item>
      <title>Re: How does sas (base) know that a catalog is locked?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-does-sas-base-know-that-a-catalog-is-locked/m-p/885577#M349955</link>
      <description>&lt;P&gt;If anyone is interested:&lt;/P&gt;&lt;P&gt;The problem is that SAS locks the formats.sas7bcat file on the file system level, &lt;EM&gt;even if reading it from a read-only library, &lt;/EM&gt;if the&amp;nbsp;CATCACHE option is set to anything other than 0.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;That SAS does this does not make sense to me at all.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Example:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Set this in your config file and start sas:&lt;/P&gt;&lt;P&gt;CATCACHE=3K Specifies the number of SAS catalogs to keep open in cache memory.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Then run this code:&lt;/P&gt;&lt;P&gt;libname lib_ro "[path to your formats directory]" ACCESS=READONLY;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;proc datasets library=lib_ro memtype=(catalog);&lt;BR /&gt;copy out=work;&lt;BR /&gt;select formats;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Now open resource monitor in windows and search associated handles for formats.sas7bcat. You will find that SAS has locked the file.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Exit sas. Now search handles again, you will find that the lock is now released.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Then exit SAS, set the catcahe option to 0:&lt;BR /&gt;CATCACHE=0 Specifies the number of SAS catalogs to keep open in cache memory.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And do the same proc datasets again, and check handles - this time the file is not locked.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I understand the need to lock a file if it's going to be written to. But locking a file that you're not going to write to does not make sense to me.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 20 Jul 2023 10:39:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-does-sas-base-know-that-a-catalog-is-locked/m-p/885577#M349955</guid>
      <dc:creator>JOBOEV</dc:creator>
      <dc:date>2023-07-20T10:39:16Z</dc:date>
    </item>
  </channel>
</rss>

