HP ALM Workflow VBScript

This category will provide articles regarding usage of Visual Basic Script in the workflow module of HP ALM.

Whenever you are interested in ALM Quality Center audit history you have various choices of getting the information.

One way of extracting history information from the database is using the Excel reporting functionality of the HP ALM Quality Center Dashboard.

First create a new Excel Report in the Analysis View of the Dashboard (see documentation library of HP ALM on details how to create such a report).

In the tab Configuration you will find the Query Builder, which allows querying the underlying database server of ALM Quality Center using SQL.

This is a nice feature, if you have to apply more complex analysis. Especially analysis on history information will require accessing audit tables either through the HP ALM OTA API or through SQL or both.

If you need to get the last day in a month in VBScript you can use the following function.

Source Code

1
2
3
4
5
6
7
8
9
10
11
12
13
' @Author - Alexander Bolte
' @ChnageDate - 2015-03-11
' @Description - Returns a Date representing the last day of a given month.
' @Param monthNumber - a 1 based Integer representing a month.
' @Returns a Date representing the last day of a given month.
Function getLastDayInMonth(monthNumber) ' As Date
	Dim lastDay ' As Date
 
	lastDay = Now()
	lastDay = DateSerial(year(lastDay), monthNumber + 1, 0)
 
	getLastDayInMonth = lastDay
End Function

 

References

I found this little trick on a Microsoft page, which also describes how to calculate several dates depending on the current date.

https://msdn.microsoft.com/en-us/library/aa227533(v=vs.60).aspx

 

In case you have to append a comment to an HP ALM memo field, the following method might be of help.

Source Code

If you have to reference attachments in HP ALM Defects module the following script might give you a hint on how to implement it.

Source Code

Combines key value pairs from two collections of type Scripting.Dictionary.

Source Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
' @Author - Alexander Bolte
' @ChangeDate - 2015-02-11
' @Description - Combines the fields of two handed collections where fields
' are understood as a key value pair.
' @Param aColl - a collection of type Scripting.Dictionary holding values for
' field labels, which are not available in collection 'bColl'.
' @Param bColl - a collection of type Scripting.Dictionary holding values for
' field labels, which are not available in collection 'aColl'.
' @Returns a collection of type Scripting.Dictionary holding all key value pairs
' from both handed collections for each unique key.
Function combineFields(aColl, bColl) ' As Scripting.Dictionary
	Dim bKey ' As String()
	Dim i ' As Integer
 
	bKey = bColl.keys
	For i = lBound(bKey) To uBound(bKey)
		If Not (aColl.Exists(bKey(i))) Then
			aColl.add bKey(i), bColl(bKey(i))
		End If
	Next
 
	Set combineFields = aColl
End Function

 

Referenced API 

http://www.w3schools.com/asp/asp_ref_dictionary.asp