diff --git a/samples/features/reporting-services/ssrs-migration-rss/ssrs_migration.rss b/samples/features/reporting-services/ssrs-migration-rss/ssrs_migration.rss index bae084d6..a8968288 100644 --- a/samples/features/reporting-services/ssrs-migration-rss/ssrs_migration.rss +++ b/samples/features/reporting-services/ssrs-migration-rss/ssrs_migration.rss @@ -656,12 +656,34 @@ Sub MigrateReportSubscriptions(snkReport As CatalogItem, srcReport As CatalogIte RsSrc.GetDataDrivenSubscriptionProperties(srcSub.SubscriptionID, extensionSettings, dataRetrievalPlan, description, active, status, eventType, matchData, parameters) If extensionSettings.Extension = "Report Server FileShare" Then Dim newParameterValues() As [ParameterValueOrFieldReference] = New [ParameterValueOrFieldReference](extensionSettings.ParameterValues.Length) {} - Array.Copy(extensionSettings.ParameterValues, newParameterValues, extensionSettings.ParameterValues.Length) - Dim pwdParameterValue As ParameterValue = New ParameterValue - pwdParameterValue.Label = "PASSWORD" - pwdParameterValue.Name = "PASSWORD" - pwdParameterValue.Value = "PASSWORD" - newParameterValues(extensionSettings.ParameterValues.Length) = pwdParameterValue + Dim passwordParamFound As Boolean = False + Array.Copy(extensionSettings.ParameterValues, newParameterValues, extensionSettings.ParameterValues.Length) + For Each pvofr As ParameterValueOrFieldReference In extensionSettings.ParameterValues + If TypeOf pvofr Is ParameterValue Then + Dim pv As ParameterValue = pvofr + If pv.Name.Contains("PASSWORD") Then + 'Subscription has Password field linked to dataset field + passwordParamFound = True + Exit For + End If + Else If TypeOf pvofr Is ParameterFieldReference Then + Dim pfr As ParameterFieldReference = pvofr + If pfr.ParameterName.Contains("PASSWORD") Then + 'Subscription has Password field linked to dataset field + passwordParamFound = True + Exit For + End If + End If + Next + If not passwordParamFound Then + 'Subscription has Password field set to "Leave blank" or "Enter value" + Dim pwdParameterValue As ParameterValue = New ParameterValue + pwdParameterValue.Label = "PASSWORD" + pwdParameterValue.Name = "PASSWORD" + pwdParameterValue.Value = "PASSWORD" + newParameterValues(extensionSettings.ParameterValues.Length) = pwdParameterValue + End If + extensionSettings.ParameterValues = newParameterValues End If @@ -688,7 +710,8 @@ Sub MigrateReportSubscriptions(snkReport As CatalogItem, srcReport As CatalogIte RsSrc.GetSubscriptionProperties(srcSub.SubscriptionID, extensionSettings, description, active, status, eventType, matchData, parameters) If extensionSettings.Extension = "Report Server FileShare" Then Dim newParameterValues() As [ParameterValueOrFieldReference] = New [ParameterValueOrFieldReference](extensionSettings.ParameterValues.Length) {} - Array.Copy(extensionSettings.ParameterValues, newParameterValues, extensionSettings.ParameterValues.Length) + Array.Copy(extensionSettings.ParameterValues, newParameterValues, extensionSettings.ParameterValues.Length) + 'Standard subscriptions will always require adding PASSWORD parameter during migration Dim pwdParameterValue As ParameterValue = New ParameterValue pwdParameterValue.Label = "PASSWORD" pwdParameterValue.Name = "PASSWORD"