RvSet_RvList
Creates a number of new Result Variables. If any of the Result Variables already exist then their value will be updated.
Syntax
object.RvSet_RvList iLineId, sRvList
Part | Description |
object | VoiceGuide object |
iLineId | Identification number of the line |
sRvList | Result Variable List. Can be in "[]{}" format, or XML, or JSON |
sRvList Formats Supported
[]{} |
[RV_Name1]{RV_Value1}[RV_Name2]{RV_Value2}... etc. Multiple Key-Value pairs can be specified using multiple []{} entries. |
XML | Valid XML data |
JSON | Valid JSON data |
Example:
set vg = CreateObject("vgServices.CommandLink")
'sets two Result variables - which will be able to be accessed
'later as $RV[CallersRating] and $RV[CallersPreference]
vg.RvSet_RvList $RV_LINEID, "[MembershipLevel]{Silver}[Balance]{370.45}"
vg.Run_ResultReturn $RV_LINEID, "Success"
set vg = Nothing
Then the following Result Variables will be created:
$RV[MembershipLevel] will hold a value of: "Silver"
$RV[Balance] will hold a value of: "370.45"
Example:
If this JSON input is supplied in sRvList parameter:
{
"name" : "Alice Smith",
"location" : "245 Main St"
"roster" :
[
{
"weekday" : "Monday",
"date" : "2023-05-22",
"start" : "14:00",
"end" : "22:00"
},
{
"weekday" : "Tuesday",
"date" : "2023-05-23",
"start" : "08:00",
"end" : "16:00"
},
{
"weekday" : "Wednsday",
"date" : "2023-05-24",
"start" : "08:00",
"end" : "12:00"
}
]
}
Then the following Result Variables will be created:
$RV[name] will hold a value of: "Alice Smith"
$RV[location] will hold a value of: "245 Main St"
$RV[roster_1_weekday] will hold a value of: "Monday"
$RV[roster_1_date] will hold a value of: "2023-05-22"
$RV[roster_1_start] will hold a value of: "14:00"
$RV[roster_1_end] will hold a value of: "22:00"
$RV[roster_2_weekday] will hold a value of: "Tuesday"
$RV[roster_2_date] will hold a value of: "2023-05-23"
$RV[roster_2_start] will hold a value of: "08:00"
$RV[roster_2_end] will hold a value of: "16:00"
$RV[roster_3_weekday] will hold a value of: "Wednsday"
$RV[roster_3_date] will hold a value of: "2023-05-24"
$RV[roster_3_start] will hold a value of: "08:00"
$RV[roster_3_end] will hold a value of: "12:00"
JSON input uses fewer tags to describe data, and thus usually results in shorter $RV names being generated for similar data.
Compare $RVs created from JSON input with $RVs created from XML input below.
Example:
If this XML input is supplied in sRvList parameter:
<employee>
<name>Alice Smith</name>
<location>245 Main St</location>
<roster>
<job>
<weekday>Monday</weekday>
<date>2023-05-22</date>
<start>14:00</start>
<end>22:00</end>
</job>
<job>
<weekday>Tuesday</weekday>
<date>2023-05-23</date>
<start>08:00</start>
<end>16:00</end>
</job>
<job>
<weekday>Wednsday</weekday>
<date>2023-05-24</date>
<start>08:00</start>
<end>12:00</end>
</job>
</roster>
</employee>
Then the following Result Variables will be created:
$RV[employee_name] will hold a value of: "Alice Smith"
$RV[employee_location] will hold a value of: "245 Main St"
$RV[employee_roster_job_1_weekday] will hold a value of: "Monday"
$RV[employee_roster_job_1_date] will hold a value of: "2023-05-22"
$RV[employee_roster_job_1_start] will hold a value of: "14:00"
$RV[employee_roster_job_1_end] will hold a value of: "22:00"
$RV[employee_roster_job_2_weekday] will hold a value of: "Tuesday"
$RV[employee_roster_job_2_date] will hold a value of: "2023-05-23"
$RV[employee_roster_job_2_start] will hold a value of: "08:00"
$RV[employee_roster_job_2_end] will hold a value of: "16:00"
$RV[employee_roster_job_3_weekday] will hold a value of: "Wednsday"
$RV[employee_roster_job_3_date] will hold a value of: "2023-05-24"
$RV[employee_roster_job_3_start] will hold a value of: "08:00"
$RV[employee_roster_job_3_end] will hold a value of: "12:00"
Example:
Here is an example VBScript that reads in contents of file and passes the file's contents to the RvSet_RvList function:
set fso = CreateObject("Scripting.FileSystemObject")
set fileHandle = fso.OpenTextFile("c:\mydir\data.json")
sFileContents = fileHandle.ReadAll
set fileHandle = Nothing
set fso = Nothing
set vg = CreateObject("vgServices.CommandLink")
vg.RvSet_RvList $RV_LINEID, sFileContents
vg.Run_ResultReturn $RV_LINEID, "Success"
set vg = Nothing