SQL VARA Objects

SQL VARA objects retrieve values from external databases using SQL statements.

For the SQL to work you must assign it the following:

Notes:

  • There is no limit to the lengths of values. If a maximum text limit has been selected on the Attributes Page, this only applies to the first value column. Items exceeding this limit will be excluded.
  • The maximum number of lines that is returned is specified in the SQLVAR_MAX_ROWS setting ( UC_SYSTEM_SETTINGS - Systemwide Settings.

  • To change the maximum time taken for resolving SQL variables, use VAR_TIMEOUT ( UC_HOSTCHAR_DEFAULT - Host Characteristics*).

  • Non-printable characters are deleted automatically (ASCII characters 0x00 to 0x20 and 0x7F).

  • Trailing space characters are not truncated from the end SQL variable values.

  • This type of VARA object does not support binary fields. Binary data that result from an SQL query causes an error in the preview or when the values are retrieved at runtime.

  • For technical reasons, the system does not check the SQL statements that are processed with database VARA objects (SEC_SQLI, SEC_SQL, SQLI, and SQL types). This means that you can change or delete data records by using VARA objects. For security reasons, consider restricting user access accordingly. If possible, deploy a database user with read-only rights for VARA objects that can access an external database (SQL, SQL SECURE). For internal SQL variables (SQLI, SQLI SECURE), you can limit object access via a privilege (create and modify SQL-internal variables).

  • Depending on the data type, this VARA object returns "" (string, date, time, timestamp) or 0 (number) for NULL values.

  • Use PromptSet variables here when you use the Dynamic Reload feature for combo box prompts. The PromptSet variables are resolved when the object that includes the PromptSet is executed.

To Define an SQL VARA Object

  1. In the Variable Settings section specify how the VARA object is going to access the target system from which it retrieves the values:

    • Connection object of type Database that contains the connection parameters for the selected database

    • Login object that stores the name and password of the database user. If you neither specify a Login object nor set the option Default login, the login data for accessing the database is retrieved from the Connection object.

    • Default Login object that is assigned to your user definition. If your user definition has no Login object assigned, an error occurs. If you select this option, the Login object that is specified in the VARA object is ignored.

      PromptSet variables cannot be used here.

    • SQL Statement(s) used to select specific database entries that serve as variable values. Variables that are directly specified in SQL are replaced. To include variables, use bind parameters.

      Maximum length: 4096 characters

    You can include PromptSet variables here when using the dynamic reload feature for combo box prompts. When you use PromptSet variables in a dynamic VARA object, the Preview feature returns an error. This is because the PromptSet variables do not exist in the dynamic VARA object. However, the PromptSet variables will be resolved when objects including the PromptSet are executed.

  2. In the Data & Formatting section you specify the data format of the value that is rendered by the VARA object. Do the following:

    • Data Type

      • For Text

        • Select Limit Text Length to set a limit to the length of the character string.

        • In Max. text length specify the maximum length. Possible values: 1 to 1024.

        • Select Force upper case if you want to convert the text of the first value column to upper case.

        • In Result format specify the format of the content in the RESULT column, which is the first column that is displayed in the preview. The result column can show a combination of value columns and any other characters.

          Column numbers that are specified in curly brackets { } in the Result Format field are replaced by the value of the relevant column.

          Example:

          • Value column 1: JOB1
          • Value column 2: WIN01
          • Result format: {1}_{2}
          • Result column: JOB01_WIN01

          If you do not specify a result format, the value in the Result or in the Key column is used.

          Important!

            The result must be within the defined limits and it must match the data type. Otherwise, the result column does not show a value.

            The limitations (min. value, max. value, limit text to) do not affect the result column but the first returned column. If the values of this column exceed the maximum range, this line is skipped. The line is not available through the VARA object.

      • For Number

        Singed integer, possible values: any number from 0 to 2147483647.

        Default format: 16 digits

      • For Time

        The following formats are possible:

        • HHMMSS
        • HH:MM:SS
        • HHMM
        • HH:MM
        • MMSS
        • MM:SS

        Default format: HHMMSS

        The value for this data type must be a four or a six digit number. Decimal places are removed. Four-digit numbers are converted to hours and minutes.

        Example:

        Output Format: HH:MM:SS

        Value of the user or the data source: 1234, 1234.5, 123400, 12:34, 12:34:00

        Resulting variable value: 12:34:00

      • For Date

        The following formats are possible:

        • DD-MON-YYYY
        • DD-MON-RR
        • MM-DD-YYYY
        • YYYYMMDD
        • MMDDRR
        • DDMMRR
        • MM-DD-RR
        • MM/DD/RR
        • YYMMDD
        • YY.MM.DD
        • YY-MM-DD
        • YYYYMMDD
        • YYYY.MM.DD
        • YYYY-MM-DD
        • DDMMYY
        • DD.MM.YY
        • DD-MM-YY
        • DDMMYYYY
        • DD.MM.YYYY
        • DD-MM-YYYY
        • MMDDYY
        • MMDDYYYY
        • MM/DD/YY
        • MM/DD/YYYY

        Default format: YYMMDD

        Note: Some date formats include RR as a placeholder for the abbreviated year. Having both YY and RR accommodates different century-counting conventions, which are based on the two digits of the abbreviated year value.

        • YY - The current century applies for numbers from 00 to 80. The previous century applies for 81 - 99. 
        • RR - The current century applies for numbers from 00 to 49. The previous century applies for 50 - 99.

        Examples:

        • Date format DDMMYY and the resulting complete dates:

          010305 - corresponds to 01 March 2005
          010365 - corresponds to 01 March 2065
          010380 - corresponds to 01 March 2080
          010385 - corresponds to 01 March 1985

        • Date format DDMMRR and the resulting complete dates:

          010305 - corresponds to 01 March 2005
          010365 - corresponds to 01 March 1965
          010380 - corresponds to 01 March 1980
          010385 - corresponds to 01 March 1985

      • For Timestamp

        Possible formats:

          YYYYMMDDHH24MISS

          YYYY-MM-DD HH:MM:SS

        Default format: YYYY-MM-DD HH:MM:SS

        The value for this data type must be a four or a six digit number. Decimal places are removed. Four-digit numbers are converted to hours and minutes.

        Example:

        Output Format: YYYY-MM-DD HH:MM:SS
        Value of the user or the data source: 20110325 2201, 20110325 2201.5, 20110325 220100
        Resulting variable value: 2011-03-25 22:01:00

    • Set Min. value / Min. value and Set max. value / Max. value (All VARA types)

      Enforces a minimum/maximum value.

      Possible values for Number: max. 16 digits before and 16 digits after the decimal point

  3. All VARA objects have a Script Access section on their definition pages that determines the error handling when scripts read the VARA object. In this section you decide what happens if scripts access the VARA object and the key to which they refer is not available.

    You have the following options:

    • Return error

      The script ends abnormally and a runtime error message is displayed in the Messages console

    • Return initial values (Default)

      The script continues executing although the key is not available. No runtime error is displayed. The report contains an empty string indicating that no key has been found.

      Tip: Ensure that the keys of VARA objects always return a value if you want to use this option.

  4. To run a command, select it and click Preview. The statements are executed and their results displayed. The preview function serves to check for potential errors in the database statements (for example, it the data type of the VARA object and of the database do not match).

    The database Agent sends the preview data to the Automation Engine in the form of a message. If this message exceeds the maximum message length that a server process accepts, an error occurs.

    Maximum length: Set in the MaxMsgSize= parameter of the Automation Engine UCSRV.INI file.

    Default value: 3145 728 bytes. You can limit the result either by using a maximum number of lines or through SQL statements.

  5. To export the content of the preview table to a CSV file, click Export Table. All rows and column are exported. Use this function if you need to further process the content of the CSV file (paste it to a different application for further processing and so on).

  6. To copy one or more rows in the Preview table, select the Copy button. The selected rows are copied to the clipboard and you can paste them to a third party tool (Google, Sheets, Excel, text editor, and so on).

    Note: This function is available only if https is used on the Automic Web Interface .

  7. Save your changes.

See also: