VMS Help  —  Lexicals  F$ENVIRONMENT
    Returns information about the current DCL command environment.

    Format

      F$ENVIRONMENT(item)

1  –  Return Value

    Information that corresponds to the specified item. The return
    value can be either an integer or a character string, depending
    on the specified item.

2  –  Argument

 item

    Specifies the type of information to be returned. Specify one of
    the following keywords (do not abbreviate these keywords):

                   Data
    Item           Type    Information Returned

    CAPTIVE        String  TRUE if you are logged in to a captive
                           account. The system manager can define
                           captive accounts in the user authorization
                           file (UAF) by using the Authorize utility
                           (AUTHORIZE).

    CONTROL        String  Control characters currently enabled
                           with SET CONTROL. Multiple characters
                           are separated by commas; if no control
                           characters are enabled, the null string
                           ("") is returned.

    DEFAULT        String  Current default device and directory name.
                           The returned string is the same as SHOW
                           DEFAULT output.

    DEPTH          Integer Current command procedure depth. The
                           command procedure depth is 0 when you
                           log in interactively and when you submit
                           a batch job. The command procedure depth
                           is 1 when you execute a command procedure
                           interactively or from within a batch job.
                           A nested command procedure has a depth of
                           1 greater than the depth of the command
                           procedure from which the nested procedure
                           is executed.

    DISIMAGE       String  TRUE if you are logged in to an account
                           that does not allow you to directly invoke
                           images (for example, RUN is not allowed).
                           The system manager can add or remove the
                           DISIMAGE attribute for accounts in the UAF
                           by using AUTHORIZE.

    INTERACTIVE    String  TRUE if the process is executing
                           interactively.

    KEY_STATE      String  Current locked keypad state. See the
                           description of the DEFINE/KEY command
                           for more information on keypad states.

    MAX_DEPTH      Integer Maximum allowable command procedure depth.

    MESSAGE        String  Current setting of SET MESSAGE qualifiers.
                           Each qualifier in the string is prefaced
                           by a slash (/);  therefore, the output from
                           F$ENVIRONMENT("MESSAGE") can be appended
                           to the SET MESSAGE command to form a valid
                           DCL command line.

    NOCONTROL      String  Control characters currently disabled with
                           SET NOCONTROL. Multiple characters are
                           separated by commas (,);  if no control
                           characters are disabled, the null string
                           is returned.

    ON_CONTROL_Y   String  If issued from a command procedure,
                           returns TRUE if ON_CONTROL_Y is set. ON_
                           CONTROL_Y always returns FALSE at DCL
                           command level.

    ON_SEVERITY    String  If issued from a command procedure,
                           returns the severity level at which the
                           action specified with the ON command is
                           performed. ON_SEVERITY returns NONE when
                           SET NOON is in effect or at DCL command
                           level.

    OUTPUT_RATE    String  Delta time string containing the default
                           output rate, which indicates how often
                           data is written to the batch job log
                           file while the batch job is executing.
                           OUTPUT_RATE returns a null string if used
                           interactively.

    PROCEDURE      String  File specification of the current command
                           procedure. If used interactively, the
                           terminal device name is returned.

    PROMPT         String  Current DCL prompt.

    PROMPT_        String  TRUE if a carriage return and line feed
    CONTROL                precede the prompt.

    PROTECTION     String  Current default file protection.
                           The string can be used with the SET
                           PROTECTION/DEFAULT command to form a valid
                           DCL command line.

    RESTRICTED     String  TRUE if you are logged in to a restricted
                           account. The system manager can define
                           restricted accounts in the UAF by using
                           AUTHORIZE.

    SYMBOL_SCOPE   String  [NO]LOCAL, [NO]GLOBAL to indicate the
                           current symbol scoping state.

    VERB_SCOPE     String  [NO]LOCAL, [NO]GLOBAL to indicate the
                           current symbol scoping state for verbs.
                           (For more information, see the description
                           of the SET SYMBOL command.)

    VERIFY_IMAGE   String  TRUE if image verification (SET
                           VERIFY=IMAGE) is in effect. If image
                           verification is in effect, then the
                           command procedure echoes input data read
                           by images.

    VERIFY_        String  Returns the prefix control string set by
    PREFIX                 means of the SET PREFIX command.

    VERIFY_        String  TRUE if procedure verification
    PROCEDURE              SET VERIFY=PROCEDURE is in effect. If
                           command verification is in effect, then
                           the command procedure echoes DCL command
                           lines.

3  –  Examples

    1.$ SAVE_MESSAGE = F$ENVIRONMENT("MESSAGE")
      $ SET MESSAGE/NOFACILITY/NOIDENTIFICATION
         .
         .
         .
      $ SET MESSAGE'SAVE_MESSAGE'

      This example uses the F$ENVIRONMENT function to save the
      current message setting before changing the setting. At the
      end of the command procedure, the original message setting is
      restored. The single quotation marks (` ')  surrounding the
      symbol SAVE_MESSAGE indicate that the value for the symbol
      should be substituted.

    2.$ MAX = F$ENVIRONMENT("MAX_DEPTH")
      $ SHOW SYMBOL MAX
        MAX = 32   Hex = 00000020  Octal = 00000000040

      This example uses the F$ENVIRONMENT function to determine the
      maximum depth allowable within command procedures.

    3.$ SAVE_PROT = F$ENVIRONMENT("PROTECTION")
      $ SET PROTECTION = (SYSTEM:RWED, OWNER:RWED, GROUP, WORLD)/DEFAULT
         .
         .
         .
      $ SET PROTECTION = ('SAVE_PROT')/DEFAULT

      This example uses the F$ENVIRONMENT function to save the
      current default protection before changing the protection.
      At the end of the command procedure, the original protection
      is restored. You must place single quotation marks around the
      symbol SAVE_PROT to request symbol substitution.
Close Help