Sub Main Dim i as Integer Dim dbCurrentDatabase as string Dim lstDatabase as list(of String) From {??????} For each item as string in lstDatabase set dbCurrentDatabase = item Call DirectExtraction1() Call DirectExtraction2() Call Summarization() Next End Sub ' Data: Direct Extraction1 Function DirectExtraction1 Set db = Client.OpenDatabase(dbCurrentDatabase) Set task = db.Extraction task.IncludeAllFields dbName = "XYZ" & dbCurrentDatabase & " Extraction1".IMD" task.AddExtraction dbName, "", "PLAN = ""P8_P"" .OR. PLAN = ""P8_L""" task.CreateVirtualDatabase = False task.PerformTask 1, db.Count Set task = Nothing Set db = Nothing Client.OpenDatabase (dbName) End Function ' Data: Direct Extraction2 Function DirectExtraction2 Set db = Client.OpenDatabase("XYZ" & dbCurrentDatabase & "Extraction1" & ".IMD") Set task = db.Extraction task.IncludeAllFields dbName = "XYZ " & dbCurrentDatabase & " EXTRACTION2".IMD" task.AddExtraction dbName, "", "TRANSACTION_DESCRIPTION = ""Cash refund"" .OR. TRANSACTION_DESCRIPTION =""Locked-in Transfer"" .OR. TRANSACTION_DESCRIPTION =""Non-Locked in Transfer"".OR. TRANSACTION_DESCRIPTION =""Residual Refund"".OR. TRANSACTION_DESCRIPTION =""Bridging Benefit"".OR. TRANSACTION_DESCRIPTION =""Monthly pension"".OR. TRANSACTION_DESCRIPTION =""Retro pension"".OR. TRANSACTION_DESCRIPTION =""Phased Retir. Installments""" task.CreateVirtualDatabase = False task.PerformTask 1, db.Count Set task = Nothing Set db = Nothing Client.OpenDatabase (dbName) End Function ' Analysis: Summarization Function Summarization Set db = Client.OpenDatabase("XYZ " & dbCurrentDatabase & " EXTRACTION2".IMD") Set task = db.Summarization task.AddFieldToSummarize "EMPLOYEE_NUMBER" task.AddFieldToTotal "AMOUNT" dbName = "XYZ " & dbCurrentDatabase & " Summarization".IMD" task.OutputDBName = dbName task.CreatePercentField = FALSE task.StatisticsToInclude = SM_SUM task.PerformTask Set task = Nothing Set db = Nothing Client.OpenDatabase (dbName) End Function