To read RBA variable values from custom code you must specify which variables you will be reading and then fetch their values and assign them to local VB variables:
' --- declare local variables object ---
Dim variables As Creo.PWS.Automation.BaseDataModel.Variables = action.Variables
'
' --- identify the variables to read ---
variables.Reading("$prinergyPrimaryServerName")
variables.Reading("$BookletPageFactor4")
variables.Reading("$optionAutomaticCoverProcessing")
'
' --- fetch the values ---
variables.Fetch
' --- assign each fetched values to a local variables --- Dim Global_prinergyPrimaryServerName As Creo.PWS.Automation.BaseDataModel.ScalarVariable(Of String)
= variables("$prinergyPrimaryServerName")
Dim Global_BookletPageFactor4 As Creo.PWS.Automation.BaseDataModel.ScalarVariable(Of Integer)
= variables("$BookletPageFactor4")
Dim Global_optionAutomaticCoverProcessing As Creo.PWS.Automation.BaseDataModel.ScalarVariable(Of Boolean)
= variables("$optionAutomaticCoverProcessing")
To update RBA variables from custom code you must specify which variables are going to be updated, assign values to the variables, and then, if not being done from within a Set Variables action, indicate you are done updating them:
' --- declare variables ---
Dim variables As Creo.PWS.Automation.BaseDataModel.Variables = action.Variables
'
' --- variables to be updated ---
variables.Updating("@userDefinedErrorMsg")
variables.Updating("@userDefinedErrorCode")
variables.Updating("@emailAdministrator")
'
' --- declare each variable being used for the update ---
Dim Temp_userDefinedErrorMsg As Creo.PWS.Automation.BaseDataModel.ScalarVariable(Of String)
= variables("@userDefinedErrorMsg")
Dim Temp_userDefinedErrorCode As Creo.PWS.Automation.BaseDataModel.ScalarVariable(Of Integer)
= variables("@userDefinedErrorCode")
Dim Temp_emailAdministrator As Creo.PWS.Automation.BaseDataModel.ScalarVariable(Of Boolean)
= variables("@emailAdministrator")
'
' --- Update the temporary variable values with appropriate values ---
Temp_UserDefinedErrorMsg.Value = "Some error message to be reported to the user"
Temp_userDefinedErrorCode.Value = 4857
Temp_emailAdministrator.Value = true
'
' --- Signal that you done updating the variables (not required if being done within a Set Variables action) ---
variables.AccessDone(action.Context.ToString)
Variables can be read and updated from the same custom code if all the appropriate Reading, Fetch, Updating, and AccessDone calls are made.