Check if the ALM Project Supports Version Control
Source code
'************************************************************************************************************************
'Description:
'
'This example connects to an ALM project, opens a test (checks it out, if applicable),
'updates the Active Screen values and test object descriptions, and, if applicable,
'checks the modified test back into the ALM project.
'
'Assumptions:
'The test1 test is not already checked out.
'There is no unsaved test currently open in UFT.
'For more information, see the example for the Test.SaveAs method.
'When UFT opens, it loads the add-ins required for the test.
'For more information, see the example for the Test.GetAssociatedAddins method.
'************************************************************************************************************************

Dim qtApp 'As QuickTest.Application ' Declare the Application object variable
Dim qtUpdateRunOptions 'As QuickTest.UpdateRunOptions ' Declare an Update Run Options object variable
Dim qtRunResultsOptions 'As QuickTest.RunResultsOptions ' Declare a Run Results Options object variable
Dim blsSupportsVerCtrl ' Declare a flag for indicating version control support

Set qtApp = CreateObject("QuickTest.Application") ' Create the Application object
qtApp.Launch ' Start UFT
qtApp.Visible = True ' Make the UFT application visible

' Make changes in a test on ALM with version control
qtApp.TDConnection.Connect "http://qcserver/qcbin", _
              "MY_DOMAIN", "My_Project", "James", "not4you", False ' Connect to ALM

If qtApp.TDConnection.IsConnected Then ' If connection is successful
    blsSupportsVerCtrl = qtApp.TDConnection.SupportVersionControl ' Check whether the project supports version control

    qtApp.Open "[ALM] Subject\tests\test1", False ' Open the test
    If blsSupportsVerCtrl Then ' If the project supports version control
        qtApp.Test.CheckOut ' Check out the test
    End If

    ' Prepare the UpdateRunOptions object
    Set qtUpdateRunOptions = CreateObject("QuickTest.UpdateRunOptions") ' Create the Update Run Options object
    ' Set the Update Run options: update the Active Screen and test object descriptions. Do not update checkpoint values
    qtUpdateRunOptions.UpdateActiveScreen = True
    qtUpdateRunOptions.UpdateCheckpoints = False
    qtUpdateRunOptions.UpdateTestObjectDescriptions = True

    ' Prepare the RunResultsOptions object
    Set qtRunResultsOptions = CreateObject("QuickTest.RunResultsOptions") ' Create the Run Results Options object
    qtRunResultsOptions.ResultsLocation = "<TempLocation>" ' Set a temporary results location

    'Update the test
    qtApp.Test.UpdateRun qtUpdateRunOptions, qtRunResultsOptions ' Run the test in Update Run mode
    qtApp.Test.Description = qtApp.Test.Description & vbNewLine & _
                              "Updated: " & Now ' Document the update in the test's description (Test Settings > Properties node)

    qtApp.Test.Save ' Save the test

    If blsSupportsVerCtrl And qtApp.Test.VerCtrlStatus = "CheckedOut" Then ' If the test is checked out
        qtApp.Test.CheckIn ' Check it in
    End If

    qtApp.TDConnection.Disconnect ' Disconnect from ALM
Else
    MsgBox "Cannot connect to ALM" ' If connection is not successful, display an error message.
End If

qtApp.Quit ' Exit UFT
Set qtUpdateRunOptions = Nothing ' Release the Update Run Options object
Set qtRunResultsOptions = Nothing ' Release the Run Results Options object
Set qtApp = Nothing ' Release the Application object