[an error occurred while processing this directive]
![]() |
![]() HP OpenVMS Systems Documentation |
![]() |
HP OpenVMS DCL Dictionary
F$STRING
Returns the string that is equivalent to the specified expression. FormatF$STRING (expression) Return ValueA character string equivalent to the specified expression. Argument
Example
F$TIME
Returns the current date and time in absolute time format. FormatF$TIME() Return ValueA character string containing the current date and time. The returned string has the following fixed, 23-character format:
When the current day of the month is any of the values 1 to 9, the first character in the returned string is a blank character. The time portion of the string is always in character position 13, at an offset of 12 characters from the beginning of the string. Note that you must use the assignment operator (=) to preserve the blank character in the returned string. If you use the string assignment operator (:=), the leading blank is dropped. ArgumentsNone. Example
F$TRNLNM
Translates a logical name and returns the equivalence name string or the requested attributes of the logical name specified. FormatF$TRNLNM (logical-name [,table] [,index] [,mode] [,case] [,item]) Return ValueThe equivalence name or attribute of the specified logical name. The return value can be a character string or an integer, depending on the arguments you specify with the F$TRNLNM function. If no match is found, a null string ("") is returned. Arguments
DescriptionThe lexical function F$TRNLNM uses the $TRNLNM system service to translate a logical name and return the equivalence name string, or the requested attributes of the logical name specified. The translation is not iterative; the equivalence string is not checked to determine whether it is a logical name.
|
#1 |
---|
$ SAVE_DIR = F$TRNLNM("SYS$DISK")+F$DIRECTORY() . . . $ SET DEFAULT 'SAVE_DIR' |
The assignment statement concatenates the values returned by the F$DIRECTORY and F$TRNLNM functions, and assigns the resulting string to the symbol SAVE_DIR. The symbol SAVE_DIR consists of a full device and directory name string.
The argument SYS$DISK is enclosed in quotation marks ("") because it is a character string. (The command interpreter treats all arguments that begin with alphabetic characters as symbols or lexical functions, unless the arguments are enclosed in quotation marks.) None of the optional arguments is specified, so the F$TRNLNM function uses the defaults.
At the end of the command procedure, the original default directory is reset. When you reset the directory, you must place single quotation marks (` ') around the symbol SAVE_DIR to force symbol substitution.
#2 |
---|
$ DEFINE/TABLE=LNM$GROUP TERMINAL 'F$TRNLNM("SYS$OUTPUT")' |
This example shows a line from a command procedure that (1) uses the F$TRNLNM function to determine the name of the current output device and (2) creates a group logical name table entry based on the equivalence string.
You must enclose the argument SYS$OUTPUT in quotation marks because it is a character string.
Also, in this example you must enclose the F$TRNLNM function in single quotation marks to force the lexical function to be evaluated; otherwise, the DEFINE command does not automatically evaluate the lexical function.
#3 |
---|
$ RESULT= - _$ F$TRNLNM("INFILE","LNM$PROCESS",0,"SUPERVISOR",,"NO_ALIAS") $ SHOW SYMBOL RESULT RESULT = "FALSE" |
In this example, the F$TRNLNM function searches the process logical name table for the logical name INFILE. The function starts the search by looking for the logical name INFILE created in supervisor mode. If no match is found, the function looks for INFILE created in executive mode.
When a match is found, the F$TRNLNM function determines whether the name INFILE was created with the NO_ALIAS attribute. In this case, the NO_ALIAS attribute is not specified.
#4 |
---|
$ foo=f$trnlnm("FOO","LNM$SYSCLUSTER",,,"INTERLOCKED",) |
In this example, logical name FOO is translated in the LNM$SYSCLUSTER table in an interlocked manner; that is, all clusterwide logical name modifications in progress on this and other nodes are completed before the translation occurs. This ensures that the translation is based on the most recent definition of FOO.
Because the case translation is not specified, the translation is by default CASE_BLIND.
#5 |
---|
$ foo=f$trnlnm("FOO","LNM$SYSCLUSTER",,,"INTERLOCKED,CASE_SENSITIVE",) |
This example specifies both case sensitive and interlocked translation.
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 ("") is returned.
F$TYPE (symbol-name)
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 ("") 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 Table DCLI-12.
Symbol Type | Lexical Creating Symbol |
---|---|
PROCESS_CONTEXT | F$PID or F$CONTEXT (with PROCESS context type) |
CLUSTER_SYSTEM_CONTEXT | F$CSID |
The string STRING is returned if the symbol is equated to a character string whose characters do not form a valid integer or whose type is not a context.
If the symbol is undefined, a null string is returned.
symbol-name
Specifies the name of the symbol to be evaluated.
#1 |
---|
$ NUM = "52" $ TYPE = F$TYPE(NUM) $ SHOW SYMBOL TYPE TYPE = "INTEGER" |
This example uses the F$TYPE function to determine the data type of the symbol NUM. NUM is equated to the character string "52". Because the characters in the string form a valid integer, the F$TYPE function returns the string INTEGER.
#2 |
---|
$ NUM = 52 $ TYPE = F$TYPE(NUM) $ SHOW SYMBOL TYPE TYPE = "INTEGER" |
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.
#3 |
---|
$ CHAR = "FIVE" $ TYPE = F$TYPE(CHAR) $ SHOW SYMBOL TYPE TYPE = "STRING" |
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.
#4 |
---|
$ x = F$CONTEXT("PROCESS",CTX,"USERNAME","SMITH") $ TYPE = F$TYPE(CTX) $ SHOW SYMBOL TYPE TYPE = "PROCESS_CONTEXT" $ x = F$CONTEXT("PROCESS",CTX,"CANCEL") $ TYPE = F$TYPE(CTX) $ SHOW SYMBOL TYPE TYPE = "" |
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.
Generates a string that is suitable to be a file name and is guaranteed to be unique across the cluster. Unique file names can be useful when creating temporary files. (See CLOSE/DISPOSITION for an example.)The F$UNIQUE function has no arguments, but must be followed by a blank pair of parentheses.
F$UNIQUE()
None.
#1 |
---|
$ WRITE SYS$OUTPUT F$UNIQUE() 414853555241159711D7DF797CCF573F $ $ WRITE SYS$OUTPUT F$UNIQUE() 414853555241509811D7DF797E3F2777 $ |
This example shows how a unique string is returned on subsequent WRITE commands.
#2 |
---|
$ OPEN/WRITE TEMP_FILE 'F$UNIQUE() $ DIRECTORY Directory WORK1:[TEST] 594B53554C421C9C11D75463D61F58B7.DAT;1 Total of 1 file. $ $ CLOSE/DISPOSITION=DELETE TEMP_FILE $ DIRECTORY %DIRECT-W-NOFILES, no files found $ |
The first command creates a temporary file and gives it a unique name, which is displayed by the subsequent DIRECTORY command. After the file is later closed and deleted, it no longer shows up in the directory.
Returns the current user identification code (UIC) in named format as a character string. The F$USER function has no arguments, but must be followed by parentheses.
F$USER()
None.
$ UIC = F$USER() $ SHOW SYMBOL UIC UIC = "[GROUP6,JENNIFER]" |
In this example, the F$USER function returns the current user identification code and assigns it to the symbol UIC.
Returns an integer value indicating whether the procedure verification setting is currently on or off. If used with arguments, the F$VERIFY function can turn the procedure and image verification settings on or off. You must include the parentheses after the F$VERIFY function whether or not you specify arguments.
F$VERIFY ([procedure-value] [,image-value])
procedure-value
Specifies an integer expression with a value of 1 to turn procedure verification on, or a value of 0 to turn procedure verification off.When procedure verification is on, each DCL command line in the command procedure is displayed on the output device. Procedure verification allows you to verify that each command is executing correctly.
If you use the procedure-value argument, the function first returns the current procedure verification setting. Then the command interpreter turns the procedure verification on or off, as specified by the argument.
image-value
Specifies an integer expression with a value of 1 to turn image verification on, or a value of 0 to turn image verification off.When image verification is on, data lines in the command procedure are displayed on the output device.
The lexical function F$VERIFY returns an integer value indicating whether the procedure verification setting is currently on or off. If used with arguments, the F$VERIFY function can turn the procedure and image verification settings on or off. You must include the parentheses after the F$VERIFY function whether or not you specify arguments.Using the F$VERIFY function in command procedures allows you to test the current procedure verification setting. For example, a command procedure can save the current procedure verification setting before changing it and then later restore the setting. In addition, you can construct a procedure that does not display (or print) commands, regardless of the initial state of verification.
When you use the F$VERIFY function, you can specify zero, one, or two arguments. If you do not specify any arguments, neither of the verification settings is changed. If you specify only the procedure-value argument, both procedure and image verification are turned on (if the value is 1) or off (if the value is 0).
If you specify both arguments, procedure and image verification are turned on or off independently. If you specify the image-value argument alone, only image verification is turned on or off. If you specify the image-value argument alone, you must precede the argument with a comma (,).
You can also use the F$ENVIRONMENT function with VERIFY_PROCEDURE or VERIFY_IMAGE as the argument. With the F$ENVIRONMENT function, you can determine either the procedure or image verification setting; the F$VERIFY function determines only the procedure verification setting.
DCL performs the F$VERIFY function even if it appears after a comment character, if it is enclosed in single quotation marks (` '). This is the only processing that DCL performs within a comment.
#1 |
---|
$ SAVE_PROC_VERIFY = F$ENVIRONMENT("VERIFY_PROCEDURE") $ SAVE_IMAGE_VERIFY = F$ENVIRONMENT("VERIFY_IMAGE") $ SET NOVERIFY . . . $ TEMP = F$VERIFY(SAVE_PROC_VERIFY, SAVE_IMAGE_VERIFY) |
This example shows an excerpt from a command procedure. The first assignment statement assigns the current procedure verification setting to the symbol SAVE_PROC_VERIFY. The second assignment statement assigns the current image verification setting to the symbol SAVE_IMAGE_VERIFY.
Then, the SET NOVERIFY command disables procedure and image verification. Later, the F$VERIFY function resets the verification settings, using the original values (equated to the symbols SAVE_PROC_VERIFY and SAVE_IMAGE_VERIFY). The symbol TEMP contains the procedure verification before it is changed with the F$VERIFY function. (In this example, the value of TEMP is not used.)
#2 |
---|
$ VERIFY = F$VERIFY(0) . . . $ IF VERIFY .EQ. 1 THEN SET VERIFY |
This example shows an excerpt from a command procedure that uses the F$VERIFY function to save the current procedure verification setting and to turn both procedure and image verification off. At the end of the command procedure, if procedure verification was originally on, both the procedure and image verification are turned on.
Previous | Next | Contents | Index |