Skip to content

RVL Quick Reference Guide

An RVL script is structured as a table with seven columns: Flow, Type, Object, Action, ParamName, ParamType, and ParamValue. Each RVL script comprises numerous RVL operations, which are stored within this table. An operation can be an Action, Comment, Variable, Loop, Map, an empty row, among others. Examples of these operations can be found in the subsequent section of this guide.

Empty RVL

Flow Type Object Action ParamName ParamType ParamValue
# This is an empty RVL, containing only one comment

JS Representation of this RVL:

// This is an empty RVL, containing only one comment

RVL Variable - local to current sheet

Flow Type Object Action ParamName ParamType ParamValue
Variable MyVar string TBD

JS Representation of this RVL:

var MyVar = "TBD"

RVL Global Variable - contains defaultValue. It is only used if variable were not yet initialized before

Flow Type Object Action ParamName ParamType ParamValue
Variable Global MyVar
Param defaultValue string TBD

JS Representation of this RVL:

if(typeof(MyVar)=='undefined') MyVar = "TBD"

RVL Map with local data, contains 4 columns (Col,Col1, COl2, Col3)

Flow Type Object Action ParamName ParamType ParamValue
Map Rows MyMap1
Col Col1 Col2 Col3
r1 r11 r12 r13
r2 r21 r22 r23
# Add more rows if needed
End of Map

RVL Map - read values from excel spreadsheet

Flow Type Object Action ParamName ParamType ParamValue
Map Range MyMap1 fileName string %WORKDIR%\Data.xlsx
Param sheetName string Sheet1
End of Map

JS Representation of this RVL:

var MyMap1 = Spreadsheet.DoAttach("%WORKDIR%\\Data.xlsx","Sheet1")

Assertion statement

Flow Type Object Action ParamName ParamType ParamValue
Assert message string Report message
Param param1 string Value 1
Condition param1 == param2
Param param2 string Value 2

JS Representation of this RVL:

Tester.Assert("Report message", "Value 1"=="Value 2")

Action, Call DoLaunch for an object Global

Flow Type Object Action ParamName ParamType ParamValue
Action Global DoLaunch cmdLine string c:\temp\calc.exe
Param wrkDir string c:\temp

JS Representation of this RVL:

Global.DoLaunch("c:\\temp\\calc.exe", "c:\\temp")

Conditional If statement

Flow Type Object Action ParamName ParamType ParamValue
If Param param1 string TBD
Condition param1 == param2
Param param2 string TBD
# If actions
End of If

JS Representation of this RVL:

if( "TBD" == "TBD" )
{
    // If actions
} // of If

Conditional If-Else

Flow Type Object Action ParamName ParamType ParamValue
If Param param1 string TBD
Condition param1 == param2
Param param2 string TBD
# If actions
Else
# Else actions
End of Else

JS Representation of this RVL:

if( "TBD" == "TBD" )
{
    // If actions
} else {
    // Else actions
} // of Else

Conditional if-elseif-else

Flow Type Object Action ParamName ParamType ParamValue
If Param param1 string TBD1
Condition param1 == param2
Param param2 string TBD2
# If actions
ElseIf Param param1 string TBD3
Condition param1 == param2
Param param2 string TBD4
# ElseIf actions
End of ElseIf

JS Representation of this RVL:

if( "TBD1" == "TBD2" )
{
    // If actions
} else if ( "TBD3" == "TBD4" ) {
    // ElseIf actions
} // of ElseIf

Multiline comment

Flow Type Object Action ParamName ParamType ParamValue
/* This is a multi-line comment.
It includes all lines from "/*"
Up to final "*/" in the flow column
*/

JS Representation of this RVL:

/*
This is a multi-line comment.
It includes all lines from "/*"
Up to final  "*\/" in the flow column
*/

Loop through map

Flow Type Object Action ParamName ParamType ParamValue
Loop Map MyMap1
# Loop body
Action Tester Message message string Map cell:
Param message MyMap1 Col
End of Loop

JS Representation of this RVL:

while(MyMap1.DoSequential())
{
    Tester.Message("Map cell:", MyMap1.GetCell("Col"))
}

Loop by variable i (similar to "for var i from 1 to 10" loop)

Flow Type Object Action ParamName ParamType ParamValue
Loop Variable i from number 1
Param to number 10
# Loop body
End of Loop

JS Representation of this RVL:

for(var i=1;i<=10;i++)
{
    // Loop body
}

Loop by condition (while loop)

Flow Type Object Action ParamName ParamType ParamValue
Loop Param param1 number 1
Condition param1 == param2
Param param2 number 2
# Loop body
End of Loop

JS Representation of this RVL:

while(1==2)
{
    // Loop body
}