VLST


This command lists variable names defined in the BMC AMI Ops Automation pools.

It returns those names in LOCAL variables LINE1 through LINEn and sets IMFNOL to the count of LINEs.

This command supports the use of sysplex variables; see Using-sysplex-variables for more information about restrictions with sysplex variables (such as using wildcard characters and abbreviations). 


Command

Parameters

VLST

variableName | variablePattern

[SHARED | PROFILE | REXX | LOCAL]

The following table describes the parameters:

Parameter

Function

Notes

variableName |

variablePattern

Name or name pattern for specifying variable names to retrieve

Required parameter

Specify only one variable name (or variable pattern). 

The variable name or variable pattern can have a maximum of 128 characters.

Example of a variable pattern: (A+B*) 

The following wildcards characters are supported:

  • + (plus sign): matches any one character
  • * (asterisk): matches zero to any number of characters

You can also generically expressed a variable with an asterisk.

Pool identifier

Pool in which the designated variables reside

The identifier is one of the following pools:

  • SHARED (default pool)
  • PROFILE
  • REXX
  • LOCAL
    • LOCAL variables whose names begin with the characters LINE will not be displayed

Condition codes are listed in the following table:

Value

Description

0

Command was executed successfully.

8

No variable was found.

12

Variable pool is not available.

16

Sysplex variable name is too long (exceeds 15 characters)

Examples

The following EXEC uses the IMFEXEC VLST command to retrieve all the variables that begin with RETRY and then reports the number of retries. The variable RETRY.termname will contain the number of retries for a terminal.

/* REXX */
/*********************************************************/
/* THIS EXEC WILL PRINT RETRY COUNTS FOR ALL TERMINALS */
/*********************************************************/
"IMFEXEC VLST RETRY* SHARED"
IF IMFCC > 0 THEN EXIT
"IMFEXEC VDCL DUMMY1 LIST(VARNAME)"
"IMFEXEC VDCL DUMMY2 LIST(DATE COUNT)"

/* this is the loop to process the returned data       */
/* the data is in the LOCAL pool                    */

DO N = 1 TO IMFNOL
  "IMFEXEC VGET LINE"N "INTO(DUMMY1) LOCAL"
  "IMFEXEC VGET" VALUE(VARNAME) "INTO(DUMMY2) SHARED"
  END = LENGTH(VARNAME)
  NOD = SUBSTR(VARNAME,7,END-7)
  "IMFEXEC MSG '*TERMINAL:" NOD 'RETRIES: "COUNT"'"
END

"IMFEXEC VDEL RETRY* SHARED"

CLIST example:

PROC 1 EXECNAME
/*********************************************************/
/* THIS EXEC WILL PRINT RETRY COUNTS FOR ALL TERMINALS */
/*********************************************************/
 COUNT: -
    IMFEXEC VLST RETRY* SHARED
    SET RC = &IMFCC
    IF &RC > 0 THEN EXIT
    IMFEXEC VDCL DUMMY1 LIST(VARNAME)
    IMFEXEC VDCL DUMMY2 LIST(DATE COUNT)
    SET N = 1
    DO WHILE (&N LE &IMFNOL)
       IMFEXEC VGET LINE&N  INTO(DUMMY1) LOCAL
       IMFEXEC VGET &VARNAME INTO(DUMMY2) SHARED
       SET END = &LENGTH(&VARNAME)
       SET NOD = &SUBSTR(7:&END,&VARNAME)
       IMFEXEC MSG '*TERMINAL: &NOD RETRIES: &COUNT'
       SET N = &N + 1
   END
   IMFEXEC VDEL RETRY* SHARED

The following EXEC lists all variable names that are one character long in the SHARED pool.  The values associated with those variable names will be written to the Journal.

/* REXX */
"IMFEXEC VLST + SHARED"                      
"IMFEXEC VDCL DUMMY1 LIST(VARNAME)"          
                                            
SAY IMFNOL                                   
DO I=1 TO IMFNOL                             
"IMFEXEC VGET LINE"I" INTO(DUMMY1) LOCAL"    
  SAY VARNAME '=' VALUE(VARNAME)             
END                                          
                                            
EXIT 0                                       

CLIST example:

PROC 0
                                                     
IMFEXEC VLST + SHARED                                 
                                                     
    SET RC = &IMFCC                                   
    IF &RC > 0 THEN EXIT                              
    IMFEXEC VDCL DUMMY1 LIST(VARNAME)                 
    SET N = 1                                         
    DO WHILE (&N LE &IMFNOL)                          
       IMFEXEC VGET LINE&N  INTO(DUMMY1) LOCAL        
       SET LEN = &LENGTH(&VARNAME)                    
       IMFEXEC MSG '*TERMINAL: &NOD RETRIES: &VARNAME'
       SET N = &N + 1                                 
   END                                          

The following EXEC lists all variable names that are two characters long in the SHARED pool.  The values associated with those variable names will be written to the Journal.

/* REXX */
"IMFEXEC VLST ++ SHARED"                    
"IMFEXEC VDCL DUMMY1 LIST(VARNAME)"         
                                           
SAY IMFNOL                                  
DO I=1 TO IMFNOL                            
"IMFEXEC VGET LINE"I" INTO(DUMMY1) LOCAL"   
  SAY VARNAME '=' VALUE(VARNAME)            
END                                         
                                           
EXIT 0

CLIST example:

PROC 0
                                                     
IMFEXEC VLST ++ SHARED                                 
                                                     
    SET RC = &IMFCC                                   
    IF &RC > 0 THEN EXIT                              
    IMFEXEC VDCL DUMMY1 LIST(VARNAME)                 
    SET N = 1                                         
    DO WHILE (&N LE &IMFNOL)                          
       IMFEXEC VGET LINE&N  INTO(DUMMY1) LOCAL        
       SET LEN = &LENGTH(&VARNAME)                    
       IMFEXEC MSG '*TERMINAL: &NOD RETRIES: &VARNAME'
       SET N = &N + 1                                 
   END                                                

The following EXEC retrieves all the variables that begin with RETRY. The last character could be any character and the variable names with their associated values will be written to the Journal.

/* REXX */
"IMFEXEC VLST RETRY+ SHARED"                   
"IMFEXEC VDCL DUMMY1 LIST(VARNAME)"        
                                          
SAY IMFNOL                                 
DO I=1 TO IMFNOL                           
"IMFEXEC VGET LINE"I" INTO(DUMMY1) LOCAL"  
  SAY VARNAME '=' VALUE(VARNAME)           
END                                        
                                          
EXIT 0                                     

CLIST example:

PROC 0
                                                     
IMFEXEC VLST RETRY+ SHARED                                 
                                                     
    SET RC = &IMFCC                                   
    IF &RC > 0 THEN EXIT                              
    IMFEXEC VDCL DUMMY1 LIST(VARNAME)                 
    SET N = 1                                         
    DO WHILE (&N LE &IMFNOL)                          
       IMFEXEC VGET LINE&N  INTO(DUMMY1) LOCAL        
       SET LEN = &LENGTH(&VARNAME)                    
       IMFEXEC MSG '*TERMINAL: &NOD RETRIES: &VARNAME'
       SET N = &N + 1                                 
   END                                                                                             

The following EXEC retrieves all the variables that begin with “RETRY”. The last two characters could be any two characters and the variable names with their associated values will be written to the Journal.

/* REXX */
"IMFEXEC VLST RETRY++ SHARED"                   
"IMFEXEC VDCL DUMMY1 LIST(VARNAME)"        
                                          
SAY IMFNOL                                 
DO I=1 TO IMFNOL                           
"IMFEXEC VGET LINE"I" INTO(DUMMY1) LOCAL"  
  SAY VARNAME '=' VALUE(VARNAME)           
END                                        
                                          
EXIT 0                                     
                                                                        

CLIST example:

PROC 0
                                                     
IMFEXEC VLST RETRY++ SHARED                                 
                                                     
    SET RC = &IMFCC                                   
    IF &RC > 0 THEN EXIT                              
    IMFEXEC VDCL DUMMY1 LIST(VARNAME)                 
    SET N = 1                                         
    DO WHILE (&N LE &IMFNOL)                          
       IMFEXEC VGET LINE&N  INTO(DUMMY1) LOCAL        
       SET LEN = &LENGTH(&VARNAME)                    
       IMFEXEC MSG '*TERMINAL: &NOD RETRIES: &VARNAME'
       SET N = &N + 1                                 
   END                                                                                                                    

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*

BMC AMI Ops Automation 8.4