<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.vmssoftware.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Puder</id>
	<title>VSI OpenVMS Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.vmssoftware.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Puder"/>
	<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/Special:Contributions/Puder"/>
	<updated>2026-05-09T22:33:04Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=SET_FILE&amp;diff=2407</id>
		<title>SET FILE</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=SET_FILE&amp;diff=2407"/>
		<updated>2021-08-26T23:38:03Z</updated>

		<summary type="html">&lt;p&gt;Puder: Minor wording adjustment to get &amp;quot;date&amp;quot; also in the description field of MODDATE. Also spelling correction.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;SET FILE&#039;&#039;&#039; is a [[DCL]] command that modifies file characteristics.&lt;br /&gt;
&lt;br /&gt;
=Syntax=&lt;br /&gt;
 SET FILE filespec&lt;br /&gt;
&lt;br /&gt;
=Qualifiers=&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;/ATTRIBUTE=(file-attribute[,...])&#039;&#039;&#039; sets the attributes associated with a file. The following table lists possible keywords and the relationship to both ACP-QIO and OpenVMS RMS File attributes:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;col&amp;quot; | Keyword&lt;br /&gt;
! colspan=&amp;quot;col&amp;quot; | ACP_QIO File Attribute&lt;br /&gt;
! colspan-&amp;quot;col&amp;quot; | OpenVMS RMS File Attribute&lt;br /&gt;
! colspan=&amp;quot;col&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| ATTDATE=date&lt;br /&gt;
| FAT$C_ATTDATE&lt;br /&gt;
| XAB$Q_ATT&lt;br /&gt;
| attribute modification date&lt;br /&gt;
|-&lt;br /&gt;
| ACCDATE=date&lt;br /&gt;
| FAT$C_ACCDATE&lt;br /&gt;
| XAB$Q_ACC&lt;br /&gt;
| file access date&lt;br /&gt;
|-&lt;br /&gt;
| BAKDATE=date &lt;br /&gt;
| FAT$C_BAKDATE &lt;br /&gt;
| XAB$Q_BDT&lt;br /&gt;
| backup date&lt;br /&gt;
|-&lt;br /&gt;
| BKS:value &lt;br /&gt;
| FAT$B_BKTSIZE=byte &lt;br /&gt;
| FAB$B_BKS=byte&lt;br /&gt;
| bucket size&lt;br /&gt;
|-&lt;br /&gt;
| CREDATE=date &lt;br /&gt;
| FAT$C_CREDATE &lt;br /&gt;
| XAB$Q_CDT&lt;br /&gt;
| creation date&lt;br /&gt;
|-&lt;br /&gt;
| DEQ:value &lt;br /&gt;
| FAT$W_DEFEXT=word &lt;br /&gt;
| FAB$W_DEQ=word&lt;br /&gt;
| default extend quantity&lt;br /&gt;
|-&lt;br /&gt;
| EBK:value &lt;br /&gt;
| FAT$L_EFBLK=longword &lt;br /&gt;
| XAB$L_EBK=longword&lt;br /&gt;
| end of file VBN&lt;br /&gt;
|-&lt;br /&gt;
| EXPDATE=date &lt;br /&gt;
| FAT$C_EXPDATE &lt;br /&gt;
| XAB$Q_EDT&lt;br /&gt;
| expiration date&lt;br /&gt;
|-&lt;br /&gt;
| FFB:value &lt;br /&gt;
| FAT$W_FFBYTE=word&lt;br /&gt;
| XAB$W_FFB=word&lt;br /&gt;
| first free byte in FAT$L_EFBLK&lt;br /&gt;
|-&lt;br /&gt;
| FSZ:value &lt;br /&gt;
| FAT$B_VFCSIZE=byte &lt;br /&gt;
| FAB$B_FSZ=byte&lt;br /&gt;
| size in bytes of fixed-length control for VFC records&lt;br /&gt;
|-&lt;br /&gt;
| GBC:value &lt;br /&gt;
| FAT$W_GBC=word &lt;br /&gt;
| FAB$W_GBC=word&lt;br /&gt;
| global buffer count&lt;br /&gt;
|-&lt;br /&gt;
| HBK:value &lt;br /&gt;
| FAT$L_HIBLK=longword &lt;br /&gt;
| XAB$L_HBK=longword&lt;br /&gt;
| highest allocated VBN&lt;br /&gt;
|-&lt;br /&gt;
| LRL:value &lt;br /&gt;
| FAT$W_RSIZE=word &lt;br /&gt;
| XAB$W_LRL=word&lt;br /&gt;
| record size&lt;br /&gt;
|-&lt;br /&gt;
| MODDATE=date &lt;br /&gt;
| FAT$C_MODDATE &lt;br /&gt;
| XAB$Q_MOD&lt;br /&gt;
| date of the last time data was modified&lt;br /&gt;
|-&lt;br /&gt;
| MRS:value &lt;br /&gt;
| FAT$W_MAXREC=word &lt;br /&gt;
| FAB$W_MRS=word&lt;br /&gt;
| maximum record size&lt;br /&gt;
|-&lt;br /&gt;
| ORG:IDX &lt;br /&gt;
| FAT$V_FILEORG=FAT$C_INDEXED &lt;br /&gt;
| FAB$B_ORG=FAB$C_IDX&lt;br /&gt;
| indicates that the file is indexed&lt;br /&gt;
|-&lt;br /&gt;
| ORG:REL &lt;br /&gt;
| FAT$V_FILEORG=FAT$C_RELATIVE &lt;br /&gt;
| FAB$B_ORG=FAB$C_REL&lt;br /&gt;
| indicates that the file is relative&lt;br /&gt;
|-&lt;br /&gt;
| ORG:SEQ &lt;br /&gt;
| FAT$V_FILEORG=FAT$C_SEQUENTIAL &lt;br /&gt;
| FAB$B_ORG=FAB$C_SEQ&lt;br /&gt;
| indicates that the file is sequential&lt;br /&gt;
|-&lt;br /&gt;
| RAT:BLK &lt;br /&gt;
| FAT$B_RATTRIB=FAT$M_NOSPAN &lt;br /&gt;
| FAB$B_RAT=FAB$M_BLK&lt;br /&gt;
| indicates that the file does not have spanned records&lt;br /&gt;
|-&lt;br /&gt;
| RAT:CR &lt;br /&gt;
| FAT$B_RATTRIB=FAT$M_IMPLIEDCC &lt;br /&gt;
| FAB$B_RAT=FAB$M_CR&lt;br /&gt;
| indicates that the file has implied carriage control&lt;br /&gt;
|-&lt;br /&gt;
| RAT:FTN &lt;br /&gt;
| FAT$B_RATTRIB=FAT$M_FORTRANCC &lt;br /&gt;
| FAB$B_RAT=FAB$M_FTN&lt;br /&gt;
| indicates that the file has Fortran carriage control&lt;br /&gt;
|-&lt;br /&gt;
| RAT:MSB &lt;br /&gt;
| FAT$B_RATTRIB=FAT$M_MSBVAR &lt;br /&gt;
| FAB$B_RAT=FAB$M_MSB&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| RAT:NONE &lt;br /&gt;
| FAT$B_RATTRIB=0 &lt;br /&gt;
| FAB$B_RAT=0&lt;br /&gt;
| indicates that no record attributes are specified&lt;br /&gt;
|-&lt;br /&gt;
| RAT:PRN &lt;br /&gt;
| FAT$B_RATTRIB=FAT$M_PRINTCC &lt;br /&gt;
| FAB$B_RAT=FAB$M_PRN&lt;br /&gt;
| indicates that the file has print file carriage control&lt;br /&gt;
|-&lt;br /&gt;
| REVDATE=date &lt;br /&gt;
| FAT$C_REVDATE &lt;br /&gt;
| XAB$Q_RDT&lt;br /&gt;
| revision date and time&lt;br /&gt;
|-&lt;br /&gt;
| RFM:FIX &lt;br /&gt;
| FAT$V_RTYPE=FAT$C_FIXED &lt;br /&gt;
| FAB$B_RFM=FAB$C_FIX&lt;br /&gt;
| indicates that record type is fixed-length&lt;br /&gt;
|-&lt;br /&gt;
| RFM:STM &lt;br /&gt;
| FAT$V_RTYPE=FAT$C_STREAM &lt;br /&gt;
| FAB$B_RFM=FAB$C_STM&lt;br /&gt;
| indicates that the file is in RMS stream format&lt;br /&gt;
|-&lt;br /&gt;
| RFM:STMCR &lt;br /&gt;
| FAT$V_RTYPE=FAT$C_STREAMCR &lt;br /&gt;
| FAB$B_RFM=FAB$C_STMCR&lt;br /&gt;
| indicates that the file is in RMS stream terminated by CR format&lt;br /&gt;
|-&lt;br /&gt;
| RFM:STMLF &lt;br /&gt;
| FAT$V_RTYPE=FAT$C_STREAMLF &lt;br /&gt;
| FAB$B_RFM=FAB$C_STMLF&lt;br /&gt;
| indicates that the file is in RMS stream terminates by LF format&lt;br /&gt;
|-&lt;br /&gt;
| RFM:UDF &lt;br /&gt;
| FAT$V_RTYPE=FAT$C_UNDEFINED &lt;br /&gt;
| FAB$B_RFM=FAB$C_UDF&lt;br /&gt;
| indicates that the file is in undefined record format (stream binary)&lt;br /&gt;
|-&lt;br /&gt;
| RFM:VAR &lt;br /&gt;
| FAT$V_RTYPE=FAT$C_VARIABLE &lt;br /&gt;
| FAB$B_RFM=FAB$C_VAR&lt;br /&gt;
| indicates that the record type is variable-length&lt;br /&gt;
|-&lt;br /&gt;
| RFM:VFC &lt;br /&gt;
| FAT$V_RTYPE=FAT$C_VFC &lt;br /&gt;
| FAB$B_RFM=FAB$C_VFC&lt;br /&gt;
| indicates that the record type is variable-length fixed control&lt;br /&gt;
|-&lt;br /&gt;
| VRS:value &lt;br /&gt;
| FAT$W_VERSIONS=word &lt;br /&gt;
| XAB$W_VERLIMIT=word&lt;br /&gt;
| default version limit (valid only if the file is a directory)&lt;br /&gt;
|}&lt;br /&gt;
* &#039;&#039;&#039;/[NO]BACKUP specifies whether the [[BACKUP]] utility records the contents of the file. &#039;&#039;&#039;/NOBACKUP&#039;&#039;&#039; causes only the attributes of the file to be recorded, but not its contents; this is usually used for system files such as [[INDEXF.SYS]] or [[Page File|page]] and [[Swap File|swap]] files. This qualifier is valid only for [[ODS-2]] and [[ODS-5]] files. &lt;br /&gt;
* &#039;&#039;&#039;/BEFORE[=time]&#039;&#039;&#039; selects only the files dated prior to the specified date. See the full description of this qualifier in the [[BEFORE Qualifier|dedicated article]].&lt;br /&gt;
* &#039;&#039;&#039;/BY_OWNER[=uic]&#039;&#039;&#039; selects only those files whole owner [[UIC]] matches the specified UIC. The default is the UIC of the current process.&lt;br /&gt;
* &#039;&#039;&#039;/CACHING_ATTRIBUTE=keyword&#039;&#039;&#039; controls the default caching option used by the [[XFC|Extended File Cache]] when an application accesses the file without specifying which caching option it wants to use on this file or, if the file is a [[Directory File|directory file]], which caching option will be inherited by new files and subdirectories created in this directory. The keywords are:&lt;br /&gt;
** WRITETHROUGH: the file should be cached&lt;br /&gt;
** NO_CACHING: the file should not be cached&lt;br /&gt;
* &#039;&#039;&#039;/[NO]CONFIRM&#039;&#039;&#039; controls whether a request is issued before each SET FILE operation to confirm whether the operation should be performed on each particular file. See [[CONFIRM Qualifier]] for a full description of this qualifier.&lt;br /&gt;
* &#039;&#039;&#039;/CREATED&#039;&#039;&#039;: see &#039;&#039;&#039;/BEFORE&#039;&#039;&#039; or &#039;&#039;&#039;/SINCE&#039;&#039;&#039;.&lt;br /&gt;
* &#039;&#039;&#039;/DATA_CHECK[=([NO]READ,[NO]WRITE)]&#039;&#039;&#039; specifies whether a read data check (rereading each record), a write data check (reading each record after it is written), or a combination of the two is performed on the file during transfers. By default, a write data check is performed.&lt;br /&gt;
* &#039;&#039;&#039;/END_OF_FILE&#039;&#039;&#039; resets the end-of-file (EOF) mark to the highest block allocated.&lt;br /&gt;
* &#039;&#039;&#039;/ENTER=new-filespec&#039;&#039;&#039; creates an [[Alias|alias]] or a [[Hardlink|hardlink]] for the file.&lt;br /&gt;
* &#039;&#039;&#039;/ERASE_ON_DELETE&#039;&#039;&#039; specifies that the specified files are explicitly erased from the disk when removed with the [[DELETE]] or [[PURGE]] command.&lt;br /&gt;
* &#039;&#039;&#039;/EXCLUDE=(filespec[,...])&#039;&#039;&#039; excludes the specified file from the operation. See [[EXCLUDE Qualifier]] for a full description of this qualifier.&lt;br /&gt;
* &#039;&#039;&#039;/[NO]EXPIRATION_DATE[=date]&#039;&#039;&#039; controls whether an expiration date is assigned to specific files. Expiration date is used to protect files from overwriting: to overwrite an unexpired file, you will have to specify /OVERRIDE=EXPIRATION when you [[MOUNT Utility|mount]] the volume. Requires Read, Write, and Control [[UIC Protection|access]] to the file. Date should be specified as [[Absolute Time|absolute time]]; absolute time keywords are allowed. If you specify 0 as the date, today&#039;s date is used.&lt;br /&gt;
* &#039;&#039;&#039;/EXTENSION[=n]&#039;&#039;&#039; sets the extend quantity default for the file, the number of blocks to extend a sequential file. The value of n can range from 0 to 65,535. If you omit the value specification or specify a value of 0, OpenVMS Record Management Services (OpenVMS RMS) calculates its own value for the /EXTENSION qualifier.&lt;br /&gt;
* &#039;&#039;&#039;/[NO]GLOBAL_BUFFER[=keyword[=n]]&#039;&#039;&#039; sets the [[RMS]] global buffer count (the number of buffers that can be shared by processes accessing the file) for the specified files. The keywords are:&lt;br /&gt;
** COUNT=n specifies the longword count of the number of global buffers&lt;br /&gt;
** PERCENT=p specifies the size of the global cache as percent of the total number of blocks currently used in the file.&lt;br /&gt;
** DEFAULT requests RMS at runtime to recalculate the global cache size based on an algorithm that makes use of two global buffer [[SYSGEN]] parameters, [[GB_CACHEALLMAX]] and [[GB_DEFPERCENT]].&lt;br /&gt;
* &#039;&#039;&#039;/MODIFIED&#039;&#039;&#039; modifies the time value specified with &#039;&#039;&#039;/BEFORE&#039;&#039;&#039; or &#039;&#039;&#039;/SINCE&#039;&#039;&#039;. See [[BEFORE Qualifier]] or [[SINCE Qualifier]] for more information.&lt;br /&gt;
* &#039;&#039;&#039;/[NO]MOVE&#039;&#039;&#039; controls whether movefile operations are enabled on the specified volume. When you create a file, movefile operations are enabled on that file. You should disable movefile operations on specialized files that are accessed other than through the XQP (such as files accessed through logical I/O to a disk). Note that movefile operations are automatically disabled on critical system files. Do not enable movefile operations on these files.&lt;br /&gt;
* &#039;&#039;&#039;/NODIRECTORY&#039;&#039;&#039; removes the directory attributes of a file, which allows you to delete the file even if other files are contained in the directory. Requires [[SYSPRV]].&lt;br /&gt;
* &#039;&#039;&#039;/REMOVE&#039;&#039;&#039; allows you to remove [[Alias|aliases]] and [[Hardlink|hardlinks]].&lt;br /&gt;
* &#039;&#039;&#039;/SHARE&#039;&#039;&#039; allows you to enable or disable global buffers or statistics on a file currently being accessed by other users. Requires [[SYSPRV]].&lt;br /&gt;
* &#039;&#039;&#039;/[NO]SHELVABLE&#039;&#039;&#039; controls whether the file is shelvable.&lt;br /&gt;
* &#039;&#039;&#039;/SINCE&#039;&#039;&#039; selects only those files dated on or after the specified time. See [[SINCE Qualifier]] for a full description of this qualifier.&lt;br /&gt;
* &#039;&#039;&#039;[NO]STATISTICS&#039;&#039;&#039; enables the gathering of RMS statistics on the specified file. These statistics can then be viewed by using the Monitor utility, which is invoked with the [[DCL]] command [[MONITOR]]. The SET FILE/STATISTICS command applies an application ACE to the specified file. The ACE does not affect access control and is only meaningful to the application assigning it.&lt;br /&gt;
* &#039;&#039;&#039;/STYLE=keyword&#039;&#039;&#039; spcifies the file name format for display purposes. The valid keywords are:&lt;br /&gt;
** CONDENSED (default) displays a file name representation of what is generated to fit into a 255-length characters string. The filename may contain a DID or FID abbreviation in the file specification.&lt;br /&gt;
** EXPANDED displays the file name representation of what is stored on the disk. This filename does not contain any DID or FID abbreviations.&lt;br /&gt;
* &#039;&#039;&#039;/[NO]SYMLINK&#039;&#039;&#039; indicates whether the symbolic link is set. If an input file is a symbolic link, the file referred to by the symbolic link is the file that is set.&lt;br /&gt;
* &#039;&#039;&#039;/TRUNCATE&#039;&#039;&#039; truncates the file at the end of the block containing the end-of-file (EOF) marker, that is, the qualifier releases allocated but unused blocks of the file.&lt;br /&gt;
* &#039;&#039;&#039;/UNLOCK&#039;&#039;&#039; clears a file marked as deaccess locked. Deaccess locking is required by and used by those few applications that maintain their own locking and consistency, typically without the use of the OpenVMS distributed lock manager, and potentially also without the use of RMS. When an application using deaccess locking does not correctly deaccess the file (often due to an application or system failure), the file is marked as locked, and is thus inaccessable until the integrity of the contents of the file are verified and the [[SET FILE]]/UNLOCK command is used. This command does not affect the state of files that are locked using RMS or the distributed lock manager.&lt;br /&gt;
* &#039;&#039;&#039;/VERSION_LIMIT[=n]&#039;&#039;&#039; specifies the maximum number of [[File version|versions]] for the specified file. No value specified or 0 means that the version number is only limited by the [[Files-11] architectural limit of 32,767.&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
* [https://vmssoftware.com/docs/VSI_DCL_DICT_VOL_II.pdf OpenVMS DCL Dictionary]&lt;br /&gt;
* [https://vmssoftware.com/docs/VSI_System_Security_Manual.pdf OpenVMS Guide to System Security]&lt;br /&gt;
* [https://vmssoftware.com/docs/VSI_IO_REF.pdf I/O User&#039;s Reference Manual]&lt;/div&gt;</summary>
		<author><name>Puder</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=Talk:F$SEARCH()&amp;diff=2112</id>
		<title>Talk:F$SEARCH()</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=Talk:F$SEARCH()&amp;diff=2112"/>
		<updated>2020-10-09T17:38:32Z</updated>

		<summary type="html">&lt;p&gt;Puder: Created page with &amp;quot;The second example that searches both *.COM and *.DAT is not very sensible. The loop will only terminate when the searches simultaneously find no more files. If one runs out b...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The second example that searches both *.COM and *.DAT is not very sensible. The loop will only terminate when the searches simultaneously find no more files. If one runs out before the other, it will start over on the next loop and keep finding the same files again.&lt;br /&gt;
&lt;br /&gt;
--[[User:Puder|Puder]] ([[User talk:Puder|talk]]) 17:38, 9 October 2020 (UTC)&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Puder</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=F$TYPE&amp;diff=2111</id>
		<title>F$TYPE</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=F$TYPE&amp;diff=2111"/>
		<updated>2020-10-09T17:32:07Z</updated>

		<summary type="html">&lt;p&gt;Puder: /* Examples */ Added an example for an undefined symbol. Removed spurious prompt text from VMS HELP.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;F$TYPE&#039;&#039;&#039; is a [[Lexical functions|lexical function]] that  returns the data type of a symbol. The string INTEGER is returned if the symbol is equated to an integer, or if the symbol is equated to a string whose characters form a valid integer. The string STRING is returned if the symbol is equated to a character string whose characters do not form a valid integer. If the symbol is undefined, a null string (&amp;quot;&amp;quot;)  is returned. &lt;br /&gt;
&lt;br /&gt;
=Syntax=&lt;br /&gt;
&lt;br /&gt;
F$TYPE(symbol-name)&lt;br /&gt;
&lt;br /&gt;
=Return Value=&lt;br /&gt;
&lt;br /&gt;
The string INTEGER is returned if the symbol is equated to an integer, or if the symbol is equated to a string whose characters form a valid integer. &lt;br /&gt;
&lt;br /&gt;
If the symbol has been produced by a call to the [[F$CONTEXT]] function with a context type of PROCESS or by a call to the [[F$PID]] function, the string returned is PROCESS_CONTEXT. A symbol retains this type until [[F$CONTEXT]] is called with the symbol and the CANCEL keyword, or until a null string (&amp;quot;&amp;quot;)  is returned by a call to F$PID. Similarly, the return value is the string CLUSTER_SYSTEM_CONTEXT for symbols created by the F$CSID function. If the symbol is a context symbol, then the return value will be one of the types shown in the following table. &lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;col&amp;quot; | Symbol Type&lt;br /&gt;
! colspan=&amp;quot;col&amp;quot; | Lexical Creating Symbol&lt;br /&gt;
|-&lt;br /&gt;
| PROCESS_CONTEXT&lt;br /&gt;
| F$PID or F$CONTEXT (with PROCESS context type)&lt;br /&gt;
|-&lt;br /&gt;
| CLUSTER_SYSTEM_CONTEXT&lt;br /&gt;
| [[F$CSID]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Arguments=&lt;br /&gt;
&lt;br /&gt;
==symbol-name==&lt;br /&gt;
Specifies the name of the symbol to be evaluated. &lt;br /&gt;
&lt;br /&gt;
=Examples=&lt;br /&gt;
&lt;br /&gt;
 $ NUM = &amp;quot;52&amp;quot; &lt;br /&gt;
 $ TYPE = F$TYPE(NUM) &lt;br /&gt;
 $ SHOW SYMBOL TYPE &lt;br /&gt;
   TYPE = &amp;quot;INTEGER&amp;quot; &lt;br /&gt;
&lt;br /&gt;
This example uses the F$TYPE function to determine the data type of the symbol NUM. NUM is equated to the character string &amp;quot;52&amp;quot;. Because the characters in the string form a valid integer, the F$TYPE function returns the string INTEGER. &lt;br /&gt;
&lt;br /&gt;
 $ NUM = 52 &lt;br /&gt;
 $ TYPE = F$TYPE(NUM) &lt;br /&gt;
 $ SHOW SYMBOL TYPE &lt;br /&gt;
   TYPE = &amp;quot;INTEGER&amp;quot; &lt;br /&gt;
&lt;br /&gt;
In this example, the symbol NUM is equated to the integer 52. The F$TYPE function shows that the symbol has an integer data type. &lt;br /&gt;
&lt;br /&gt;
 $ CHAR = &amp;quot;FIVE&amp;quot; &lt;br /&gt;
 $ TYPE = F$TYPE(CHAR) &lt;br /&gt;
 $ SHOW SYMBOL TYPE &lt;br /&gt;
   TYPE = &amp;quot;STRING&amp;quot; &lt;br /&gt;
&lt;br /&gt;
In this example, the symbol CHAR is equated to the character string FIVE. Because the characters in this string do not form a valid integer, the F$TYPE function shows that the symbol has a string value. &lt;br /&gt;
&lt;br /&gt;
 $ x = F$CONTEXT(&amp;quot;PROCESS&amp;quot;,CTX,&amp;quot;USERNAME&amp;quot;,&amp;quot;SMITH&amp;quot;) &lt;br /&gt;
 $ TYPE = F$TYPE(CTX) &lt;br /&gt;
 $ SHOW SYMBOL TYPE &lt;br /&gt;
   TYPE = &amp;quot;PROCESS_CONTEXT&amp;quot; &lt;br /&gt;
 $ x = F$CONTEXT(&amp;quot;PROCESS&amp;quot;,CTX,&amp;quot;CANCEL&amp;quot;) &lt;br /&gt;
 $ TYPE = F$TYPE(CTX) &lt;br /&gt;
 $ SHOW SYMBOL TYPE &lt;br /&gt;
   TYPE = &amp;quot;&amp;quot; &lt;br /&gt;
&lt;br /&gt;
In this example, the F$TYPE function returns the string PROCESS_CONTEXT because the symbol has been produced by a call to the F$CONTEXT function with a context type of PROCESS. The symbol returns this type until F$CONTEXT is called with the symbol and the selection-item argument value CANCEL.&lt;br /&gt;
&lt;br /&gt;
 $ TYPE = F$TYPE(UNDEF) &lt;br /&gt;
 $ SHOW SYMBOL TYPE &lt;br /&gt;
   TYPE = &amp;quot;&amp;quot; &lt;br /&gt;
&lt;br /&gt;
This example uses the F$TYPE function to determine that the symbol UNDEF is undefined. Because the symbol has not been set to a value, the F$TYPE function returns the empty string. &lt;br /&gt;
&lt;br /&gt;
[[Category:Lexical Functions]]&lt;/div&gt;</summary>
		<author><name>Puder</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=F$GETENV()&amp;diff=2110</id>
		<title>F$GETENV()</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=F$GETENV()&amp;diff=2110"/>
		<updated>2020-10-09T17:10:21Z</updated>

		<summary type="html">&lt;p&gt;Puder: Added missing quote marks on arguments.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;F$GETENV&#039;&#039;&#039; is a [[Lexical functions|lexical function]] that returns the value of the specified console environment variable (valid on [[Alpha]] systems only).&lt;br /&gt;
&lt;br /&gt;
=Syntax=&lt;br /&gt;
&lt;br /&gt;
F$GETENV(itmlst)&lt;br /&gt;
&lt;br /&gt;
=Return Value=&lt;br /&gt;
&lt;br /&gt;
Returns the value of the specified console environment variable. You can modify the console environment variables when the system is in console mode. This lexical function allows you to read the contents of these variables when the system is running.&lt;br /&gt;
&lt;br /&gt;
=Arguments=&lt;br /&gt;
&lt;br /&gt;
==itmlst== &lt;br /&gt;
The defined console environment variable names are: &lt;br /&gt;
* Auto_action &lt;br /&gt;
* Boot_dev &lt;br /&gt;
* Bootdef_dev  &lt;br /&gt;
* Booted_dev  &lt;br /&gt;
* Boot_file &lt;br /&gt;
* Booted_file  &lt;br /&gt;
* Boot_osflags  &lt;br /&gt;
* Booted_osflags  &lt;br /&gt;
* Boot_reset &lt;br /&gt;
* Dump_dev &lt;br /&gt;
* Enable_audit &lt;br /&gt;
* License &lt;br /&gt;
* Char_set &lt;br /&gt;
* Language &lt;br /&gt;
* Tty_dev &lt;br /&gt;
&lt;br /&gt;
=Examples=&lt;br /&gt;
&lt;br /&gt;
 $ dump_device = f$getenv(&amp;quot;dump_dev&amp;quot;) &lt;br /&gt;
 $ write sys$output &amp;quot;The dump device for this system is &amp;quot;, dump_ device &lt;br /&gt;
&lt;br /&gt;
This function writes out the dump device for the system. &lt;br /&gt;
&lt;br /&gt;
 $ a = f$getenv(&amp;quot;auto_action&amp;quot;)&lt;br /&gt;
 $ show sym a&lt;br /&gt;
  A = &amp;quot;BOOT&amp;quot;&lt;br /&gt;
&lt;br /&gt;
In this example, the auto action is displayed.&lt;br /&gt;
&lt;br /&gt;
 $ a = f$getenv(&amp;quot;boot_dev&amp;quot;)&lt;br /&gt;
 $ show sym a&lt;br /&gt;
  A = &amp;quot;SCSI 0 6 0 0 0 0 0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
In this example, the boot device is displayed.&lt;br /&gt;
&lt;br /&gt;
 $ a = f$getenv(&amp;quot;bootdef_dev&amp;quot;)&lt;br /&gt;
 $ show sym a&lt;br /&gt;
  A = &amp;quot;SCSI 0 6 0 0 0 0 0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
In this example, the default boot device is displayed.&lt;br /&gt;
&lt;br /&gt;
 $ a = f$getenv(&amp;quot;booted_dev&amp;quot;)&lt;br /&gt;
 $ show sym a&lt;br /&gt;
  A = &amp;quot;SCSI 0 6 0 0 0 0 0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
In this example, the current boot device is displayed.&lt;br /&gt;
&lt;br /&gt;
 $ a = f$getenv(&amp;quot;boot_osflags&amp;quot;)&lt;br /&gt;
 $ show sym a&lt;br /&gt;
  A = &amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
In this example, the boot flags are displayed.&lt;br /&gt;
&lt;br /&gt;
 $ a = f$getenv(&amp;quot;boot_reset&amp;quot;)&lt;br /&gt;
 $ show sym a&lt;br /&gt;
  A = &amp;quot;OFF&amp;quot;&lt;br /&gt;
&lt;br /&gt;
In this example, the status of boot reset is displayed.&lt;br /&gt;
&lt;br /&gt;
 $ a = f$getenv(&amp;quot;enable_audit&amp;quot;)&lt;br /&gt;
 $ show sym a&lt;br /&gt;
  A = &amp;quot;ON&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This shows whether audit is enabled.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Lexical Functions]]&lt;/div&gt;</summary>
		<author><name>Puder</name></author>
	</entry>
</feed>