Data driven subscription

I am getting the following error "System.Web.Services.Protocols.SoapException: The required field Field is missing from the input structure. ---> Microsoft.ReportingServices.Diagnostics.Utilities.MissingElementException: The required field Field
is missing from the input structure.
   at Microsoft.ReportingServices.WebServer.ReportingService2005Impl.CreateSubscription(String Report, ExtensionSettings ExtensionSettings, Boolean isDataDriven, DataRetrievalPlan DataRetrievalPlan, String Description, String EventType, String MatchData,
ParameterValueOrFieldReference[] Parameters, String& SubscriptionID)
   at Microsoft.ReportingServices.WebServer.ReportingService2005.CreateDataDrivenSubscription(String Report, ExtensionSettings ExtensionSettings, DataRetrievalPlan DataRetrievalPlan, String Description, String EventType, String MatchData, ParameterValueOrFieldReference[]
Parameters, String& SubscriptionID)".
Below is the code i used .
       ReportingService2005 rs = new ReportingService2005();
            rs.Credentials = System.Net.CredentialCache.DefaultCredentials;
            //the name of the report for which the DDS is to be created
            string report = "/testDataDriven/Report1";
            string description = "Programmatic Data Driven Subscription for Windows File Share";
            //set extension as Windows File Share
            ExtensionSettings settings = new ExtensionSettings();
            settings.Extension = "Report Server Email";
            // Set the extension parameter values.
            ParameterValueOrFieldReference[] extensionParams =
               new ParameterValueOrFieldReference[8];
            ParameterFieldReference to = new ParameterFieldReference(); // Data-driven.
            to.ParameterName = "TO";
            to.FieldAlias = "EmailAddress";
            extensionParams[0] = to;
            ParameterValue replyTo = new ParameterValue();
            replyTo.Name = "ReplyTo";
            replyTo.Value = "[email protected]";
            extensionParams[1] = replyTo;
            ParameterValue includeReport = new ParameterValue();
            includeReport.Name = "IncludeReport";
            includeReport.Value = "False";
            extensionParams[2] = includeReport;
            ParameterValue renderFormat = new ParameterValue();
            renderFormat.Name = "RenderFormat";
            renderFormat.Value = "HTML4.0";
            extensionParams[3] = renderFormat;
            ParameterValue priority = new ParameterValue();
            priority.Name = "Priority";
            priority.Value = "NORMAL";
            extensionParams[4] = priority;
            ParameterValue subject = new ParameterValue();
            subject.Name = "Subject";
            subject.Value = "Your sales report";
            extensionParams[5] = subject;
            ParameterValue comment = new ParameterValue();
            comment.Name = "Comment";
            comment.Value = "Here is the link to your report.";
            extensionParams[6] = comment;
            ParameterValue includeLink = new ParameterValue();
            includeLink.Name = "IncludeLink";
            includeLink.Value = "True";
            extensionParams[7] = includeLink;
            settings.ParameterValues = extensionParams;
            DataSource delivery = new DataSource();
            delivery.Name = "";
            DataSourceDefinition dataSourceDef = new DataSourceDefinition();
            dataSourceDef.ConnectString = "my credentials";
            dataSourceDef.CredentialRetrieval = CredentialRetrievalEnum.Store;
            dataSourceDef.Enabled = true;
            dataSourceDef.EnabledSpecified = true;
            dataSourceDef.Extension = "ORACLE";
            dataSourceDef.WindowsCredentials = false;
            dataSourceDef.ImpersonateUser = false;
            dataSourceDef.UserName = "";
            dataSourceDef.Password = "";
            delivery.Item = dataSourceDef;
            //we will have to declare the list of parameter(s) the report requires
            //in this report there is only one parameter named “Sales Order Number”
            //create fields list which is comprising of only one field in this report
            Field[] fieldlist = new Field[2];
            fieldlist[0] = new Field();
            fieldlist[0].Name = "REF_MONTH";
            fieldlist[0].Alias = "REF_MONTH";
            fieldlist[1] = new Field();
            fieldlist[1].Name = "MTSO_ID";
            fieldlist[1].Alias = "MTSO_ID";
            //create data set
            DataSetDefinition dataSetDefinition = new DataSetDefinition();
            dataSetDefinition.AccentSensitivitySpecified = false;
            dataSetDefinition.CaseSensitivitySpecified = false;
            dataSetDefinition.KanatypeSensitivitySpecified = false;
            dataSetDefinition.WidthSensitivitySpecified = false;
            dataSetDefinition.Fields = fieldlist;
            QueryDefinition queryDefition = new QueryDefinition();
            queryDefition.CommandText = "SELECT  REF_MONTH FROM  REFERRAL_TRN_DETAILS1";
            queryDefition.CommandType = "Text";
            queryDefition.Timeout = 1000;
            queryDefition.TimeoutSpecified = true;
            dataSetDefinition.Query = queryDefition;
            DataSetDefinition results = new DataSetDefinition();
            bool changed;
            string[] paramNames;
            results = rs.PrepareQuery(delivery, dataSetDefinition, out changed, out paramNames);
            DataRetrievalPlan dataRetrieval = new DataRetrievalPlan();
            dataRetrieval.DataSet = results;
            dataRetrieval.Item = dataSourceDef;
            // Set the event type and match data for the delivery.
            string eventType = "TimedSubscription";
            string matchData = @"<ScheduleDefinition>";
            matchData += @"<StartDateTime>2003-04-14T19:15:00-07:00</StartDateTime><WeeklyRecurrence><WeeksInterval>1</WeeksInterval>";
            matchData += @"<DaysOfWeek>";
            matchData += @"<Monday>True</Monday><Tuesday>True</Tuesday><Wednesday>True</Wednesday><Thursday>True</Thursday><Friday>True</Friday>";
            matchData += @"</DaysOfWeek></WeeklyRecurrence></ScheduleDefinition>";
            // Set the report parameter values.
            ParameterValueOrFieldReference[] parameters = new ParameterValueOrFieldReference[2];
            ParameterFieldReference empID = new ParameterFieldReference(); // Data-driven.
            empID.ParameterName = "val";
            empID.FieldAlias = "REF_MONTH";
            parameters[0] = empID;
            ParameterValue reportYear = new ParameterValue();
            reportYear.Name = "val";
            reportYear.Value = "112013";
            parameters[1] = reportYear;
            string subscriptionID = rs.CreateDataDrivenSubscription
            (report, settings, dataRetrieval, description, eventType, matchData, parameters);
i have one report parameter val, ineed to pass value from the query result.

Hi Santosh,
According to your code, you are trying to create a data driven subscription with the code. As per my understanding, the issue can be caused by the FieldAlias does not exactly match a field in the dataset that is a part of the data retrieval plan, then the
error is thrown. Note that exactly match includes case and leading/trailing whitespace.
So please make sure the fields name are exactly matched in the code. The following blog posted by Gouri Sohoni is for your reference:
http://www.sqlservercurry.com/2009/07/programmatically-create-data-driven.html
Hope this helps.
Thanks,
Katherine Xiong
Katherine Xiong
TechNet Community Support

Similar Messages

  • How would I implement something similar to SSRS data driven subscriptions in CRM 2015 Online?

    Requirement: Generate Report and send specific pricing information to a list of contacts based on field value.
    I'm new to CRM, but am well versed in SSRS and I'm looking to understand:
    1. Is it possible to create something like a data driven subscription in CRM?
    Everything I've looked at is from years ago, and I'm just looking for some high level directions I can pursue in order to fulfill this requirement.
    Thanks!

    Did you notice the difference between your image and theirs. Their image has a coordinate grid. This coordinate grid can be used to determine size, location of pixels, etc...
    If you add a grid, when you process the image, find the grid, then find the coordinate markings, then find the pixels in relation to these coordinate marking creating an internal buffer of the image.
    ie: have 0=white 1=black 2=grid 3=coordinate marking and make an internall representation of your image
    011002300000
    001002201000
    011102300010
    323232232323
    222222222222
    001002310000
    000102200100
    010002301000
    Just an idea, but look into the coordinate grid it may be the key to why they can process their image.
    DeltaCoder

  • Data driven subscription query returns no data

    We have a data driven subscription on SSRS 2008 R2. The columns in the query are tied to one or more parameters of the report. When we run the subscription and if the query does not return any rows, I was hoping that the subscription will not start; however,
    instead, to my surprise, I got error stating..."Parameter XYZ value can't be null". How to avoid this error and keep subscription from running in this situation? 
    Example: I have a report that required employeeID as a parameter. I have a query (step 3: data driven subscription) that fetches employee ID based on some criteria. If there is no row returned by the query; It throws error on report stating "Parameter
    EmployeeID can't be null."
    Nehal Jain

    Hello Nehal -
    Try adding a UNION ALL to your parameter dataset query like
    UNION ALL SELECT NULL AS EmployeeID , ..
    Just check accordingly. I ll revert again based on this , got a priority now.
    Happy to help! Thanks. Regards and good Wishes, Deepak. http://deepaksqlmsbusinessintelligence.blogspot.com/

  • How to pass the multiplevalue parameter into SSRS by data driven subscription

    Hi All,
    I create a table and show it in the SSRS by table
    EmID Name
    AA1, A
    BB1, C
    CC1, E
    And set one parameter EmID for the user to filter the record and that Parameter Accept multiple values and the type is text.
    And I create a another table for the data-driven subscription to send the report to user by email.
    EmailTitle EmID  EmailComment
    TestEmail  AA1,BB1,CC1    TestComment
    And I set the subscription and set the EmID parameter is from EmID column, then test the subscription, it failed...
    However, when I only put AA1 into the table, then the subscription works well
    EmailTitle EmID  EmailComment
    TestEmail  AA1    TestComment
    So How I can config the above table to support subscription?
    Thanks.

    Hi Bimaster,
    When specify a column for the parameter value in a data-driven subscription, it will be regarded as a single value. So when specify the value "AA1,BB1,CC1" as the parameter value, the subscription will fail.
    The work around for this issue clear the "Allow multiple values" for the report parameter, and then change the filter
    From
    Expression:[ParameterName]
    Operator   :In
    Value         :[@ParameterName]
    To
    Expression:[ParameterName]
    Operator   :In
    Value         :Split(Parameters!ParameterName.Value,",")
    In this case, we can specify a value like "AA1,BB1,CC1" from database to the data-driven subscription. I have tested it on my local host environment, it works fine.
    Regards
    Charlie Liao
    TechNet Community Support

  • [Forum FAQ] How to configure a Data Driven Subscription which get multi-value parameters from one column of a database table?

    Introduction
    In SQL Server Reporting Services, we can define a mapping between the fields that are returned in the query to specific delivery options and to report parameters in a data-driven subscription.
    For a report with a parameter (such as YEAR) that allow multiple values, when creating a data-driven subscription, how can we pass a record like below to show correct data (data for year 2012, 2013 and 2014).
    EmailAddress                             Parameter                      
    Comment
    [email protected]              2012,2013,2014               NULL
    In this article, I will demonstrate how to configure a Data Driven Subscription which get multi-value parameters from one column of a database table
    Workaround
    Generally, if we pass the “Parameter” column to report directly in the step 5 when creating data-driven subscription.
    The value “2012,2013,2014” will be regarded as a single value, Reporting Services will use “2012,2013,2014” to filter data. However, there are no any records that YEAR filed equal to “2012,2013,2014”, and we will get an error when the subscription executed
    on the log. (C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\LogFiles)
    Microsoft.ReportingServices.Diagnostics.Utilities.InvalidReportParameterException: Default value or value provided for the report parameter 'Name' is not a valid value.
    This means that there is no such a value on parameter’s available value list, this is an invalid parameter value. If we change the parameter records like below.
    EmailAddress                        Parameter             Comment
    [email protected]         2012                     NULL
    [email protected]         2013                     NULL
    [email protected]         2014                     NULL
    In this case, Reporting Services will generate 3 reports for one data-driven subscription. Each report for only one year which cannot fit the requirement obviously.
    Currently, there is no a solution to solve this issue. The workaround for it is that create two report, one is used for view report for end users, another one is used for create data-driven subscription.
    On the report that used create data-driven subscription, uncheck “Allow multiple values” option for the parameter, do not specify and available values and default values for this parameter. Then change the Filter
    From
    Expression:[ParameterName]
    Operator   :In
    Value         :[@ParameterName]
    To
    Expression:[ParameterName]
    Operator   :In
    Value         :Split(Parameters!ParameterName.Value,",")
    In this case, we can specify a value like "2012,2013,2014" from database to the data-driven subscription.
    Applies to
    Microsoft SQL Server 2005
    Microsoft SQL Server 2008
    Microsoft SQL Server 2008 R2
    Microsoft SQL Server 2012
    Please click to vote if the post helps you. This can be beneficial to other community members reading the thread.

    For every Auftrag, there are multiple Position entries.
    Rest of the blocks don't seems to have any relation.
    So you can check this code to see how internal table lt_str is built whose first 3 fields have data contained in Auftrag, and next 3 fields have Position data. The structure is flat, assuming that every Position record is related to preceding Auftrag.
    Try out this snippet.
    DATA lt_data TYPE TABLE OF string.
    DATA lv_data TYPE string.
    CALL METHOD cl_gui_frontend_services=>gui_upload
      EXPORTING
        filename = 'C:\temp\test.txt'
      CHANGING
        data_tab = lt_data
      EXCEPTIONS
        OTHERS   = 19.
    CHECK sy-subrc EQ 0.
    TYPES:
    BEGIN OF ty_str,
      a1 TYPE string,
      a2 TYPE string,
      a3 TYPE string,
      p1 TYPE string,
      p2 TYPE string,
      p3 TYPE string,
    END OF ty_str.
    DATA: lt_str TYPE TABLE OF ty_str,
          ls_str TYPE ty_str,
          lv_block TYPE string,
          lv_flag TYPE boolean.
    LOOP AT lt_data INTO lv_data.
      CASE lv_data.
        WHEN '[Version]' OR '[StdSatz]' OR '[Arbeitstag]' OR '[Pecunia]'
             OR '[Mita]' OR '[Kunde]' OR '[Auftrag]' OR '[Position]'.
          lv_block = lv_data.
          lv_flag = abap_false.
        WHEN OTHERS.
          lv_flag = abap_true.
      ENDCASE.
      CHECK lv_flag EQ abap_true.
      CASE lv_block.
        WHEN '[Auftrag]'.
          SPLIT lv_data AT ';' INTO ls_str-a1 ls_str-a2 ls_str-a3.
        WHEN '[Position]'.
          SPLIT lv_data AT ';' INTO ls_str-p1 ls_str-p2 ls_str-p3.
          APPEND ls_str TO lt_str.
      ENDCASE.
    ENDLOOP.

  • Special Characters in the file name in Data Driven Subscription via File Share

    Hi,
    I am trying to create a Data Driven Subscription with option to delivery as  windows file share in SQL server 2005. I need to save the report as a pdf with the following file name  '[City] City_Name', but it errors out and it is because of the
    Square Brackets. Is there any way i can save the file using the Square brackets as i mentioned above.
    I am using a query to get the filename and filepath. It works fine as long as i do not have [], but i need to save the file as i mentioned along with the Square Brackets.
    Please help.

    Hello,
    I can reproduce the issue on my test environment: When I create a Data Driven Subscription and specify the report name by get from a subscription delivery table, and the value of the "report name" column contains square brackets. The subscription failed
    with following error in the error log:
    ERROR: Error occurred processing subscription ab9523a6-0256-4607-b818-a7666204d018:
    The file name is not valid. Avoid using special characters such as /\?*:<>|+,[]"& in the file name.
    notification!WindowsService_1!1f24!05/30/2014-15:31:02:: i INFO: Notification 0cf5a356-3172-4108-9d8c-58ea81a0b80a completed.  Success: False, Status: The file name is not valid. Avoid using special characters such as /\?*:<>|+,[]"& in the
    file name., DeliveryExtension: Report Server FileShare, Report: Report6, Attempt 0
    It seems that the behavior is by design. please avoid using square brackets as file name. Maybe you can try to use parentheses () instead.
    Regards,
    Fanny Liu
    Fanny Liu
    TechNet Community Support

  • Creating Data Driven Subscription does not allow me to get Auto copy from Query.

    I am trying to create a data driven Subscription for sharepoint document Library.  I have a table I populate with values.  Then a stored procedure that exec and returns the values.  I use this in my data driven subscription. 
    Here is what my table looks like
    intSubscriptionID strSubscriptionName strFileName strPath strRenderFormat strWriteMode strFileExt strTitle strAutoCopy strUserName strPassword strVar1 strVar2 strVar3 strVar4 strVar5 strVar6 strVar7 strVar8 strVar9 strVar10 bitEnabled
    400 Billing - Invoice_ParentChildRollup 19_Jan2015 http://eagleviewportal/BusinessIntelligenceCenter/AccountingBI/Reports/New Excel Overwrite True Invoice_ParentChildRollup False NULL NULL 0000019 NULL NULL NULL NULL NULL NULL NULL NULL NULL 1
    401 Test Daily Order and Pending Status by SubAccount Test Daily Order and Pending Status by SubAccount http://eagleviewportal/BusinessIntelligenceCenter/ClientRelationsBI/Reports/New Excel Overwrite True Test
    Daily Order and Pending Status by SubAccount True NULL NULL 152884 NULL NULL NULL NULL NULL NULL NULL NULL NULL 1
    I can use all the values and it creates my subscription no problem as long as I do not try to use the autocopy. 
    If I select Use no Value  all works great. 
    If I select Specify a static Value and then choose True it gives me an error The AutoCopy Delivery setting cannot be set to True if the WriteMode Delivery setting is not set to Overwrite.  as you can see that value is set to overwrite.  If I use
    hard coded word OverWrite instead of getting it from query it works.
    If I do the same step above but select False it seems to work as well.
    If I try to choose the value from the query then it errors with the generic Sorry Something went wrong. I cannot find any value in url logs.
    Ken Craig

    Hi Ken,
    I have reproduced the same issue as you encountered. If you choose both value for the fields(WriteMode and AutoCopy) from query, SharePoint will result in an error page. I finally fixed the issue by manually updating the table
    dbo.Subscriptions from the reporting service database. To make this, please first copy the value of field
    ExtensionSettings from the subscription table.
    Change the WRITEMODE and AUTOCOPY from "<ParameterValue><Name>WRITEMODE</Name><Value>Overwrite</Value></ParameterValue> <ParameterValue><Name>AUTOCOPY</Name><Value>AutoCopy</Value></ParameterValue>"
    to "<ParameterValue><Name>WRITEMODE</Name><Field>strWriteMode</Field></ParameterValue> <ParameterValue><Name>AUTOCOPY</Name><Field>strAutoCopy</Field></ParameterValue>".
    Here Value means the static value, and field means the name of the query field. After you modify it, copy the settings back to field
    ExtensionSettings or use update SQL to update it.
    At last, your data driven subscription should be like this:
    Thanks,
    Reken Liu

  • Add Data driven subscription option missing in sharepoint 2013

    i have a sharepoint 2013 enterprise version with sql server 2012 standard version. And i want to add Data- driven subscriptions for a document library by selecting manage subscriptions. But in the manage subscriptions Add Data- Driven subscription option
    is missing. How can i get the options. is ther any workaround if  i am using standard version.

    Hi sppanda,
    According to your description, you want to use data driven report subscription feature with SQL Server 2012 Standard.
    In Reporting Services 2012, only SQL Server 2012 Enterprise and Business Intelligence edition support the data driven feature. So it’s expected that the Add Data- Driven subscription option is missing in your environment. In your scenario, if you want to
    use data driven subscription feature, please perform edition upgrade.
    Reference:
    Reporting Services Features
    Upgrade to a Different Edition of SQL Server 2012 (Setup)
    If you have any question, please feel free to ask.
    Best regards,
    Qiuyun Yu
    Qiuyun Yu
    TechNet Community Support

  • Data driven subscription using c#

    I am getting the following error "System.Web.Services.Protocols.SoapException: The required field Field is missing from the input structure. ---> Microsoft.ReportingServices.Diagnostics.Utilities.MissingElementException: The required field Field
    is missing from the input structure.
       at Microsoft.ReportingServices.WebServer.ReportingService2005Impl.CreateSubscription(String Report, ExtensionSettings ExtensionSettings, Boolean isDataDriven, DataRetrievalPlan DataRetrievalPlan, String Description, String EventType, String MatchData,
    ParameterValueOrFieldReference[] Parameters, String& SubscriptionID)
       at Microsoft.ReportingServices.WebServer.ReportingService2005.CreateDataDrivenSubscription(String Report, ExtensionSettings ExtensionSettings, DataRetrievalPlan DataRetrievalPlan, String Description, String EventType, String MatchData, ParameterValueOrFieldReference[]
    Parameters, String& SubscriptionID)".
    Below is the code i used .
           ReportingService2005 rs = new ReportingService2005();
                rs.Credentials = System.Net.CredentialCache.DefaultCredentials;
                //the name of the report for which the DDS is to be created
                string report = "/testDataDriven/Report1";
                string description = "Programmatic Data Driven Subscription for Windows File Share";
                //set extension as Windows File Share
                ExtensionSettings settings = new ExtensionSettings();
                settings.Extension = "Report Server Email";
                // Set the extension parameter values.
                ParameterValueOrFieldReference[] extensionParams =
                   new ParameterValueOrFieldReference[8];
                ParameterFieldReference to = new ParameterFieldReference(); // Data-driven.
                to.ParameterName = "TO";
                to.FieldAlias = "EmailAddress";
                extensionParams[0] = to;
                ParameterValue replyTo = new ParameterValue();
                replyTo.Name = "ReplyTo";
                replyTo.Value = "[email protected]";
                extensionParams[1] = replyTo;
                ParameterValue includeReport = new ParameterValue();
                includeReport.Name = "IncludeReport";
                includeReport.Value = "False";
                extensionParams[2] = includeReport;
                ParameterValue renderFormat = new ParameterValue();
                renderFormat.Name = "RenderFormat";
                renderFormat.Value = "HTML4.0";
                extensionParams[3] = renderFormat;
                ParameterValue priority = new ParameterValue();
                priority.Name = "Priority";
                priority.Value = "NORMAL";
                extensionParams[4] = priority;
                ParameterValue subject = new ParameterValue();
                subject.Name = "Subject";
                subject.Value = "Your sales report";
                extensionParams[5] = subject;
                ParameterValue comment = new ParameterValue();
                comment.Name = "Comment";
                comment.Value = "Here is the link to your report.";
                extensionParams[6] = comment;
                ParameterValue includeLink = new ParameterValue();
                includeLink.Name = "IncludeLink";
                includeLink.Value = "True";
                extensionParams[7] = includeLink;
                settings.ParameterValues = extensionParams;
                DataSource delivery = new DataSource();
                delivery.Name = "";
                DataSourceDefinition dataSourceDef = new DataSourceDefinition();
                dataSourceDef.ConnectString = "my credentials";
                dataSourceDef.CredentialRetrieval = CredentialRetrievalEnum.Store;
                dataSourceDef.Enabled = true;
                dataSourceDef.EnabledSpecified = true;
                dataSourceDef.Extension = "ORACLE";
                dataSourceDef.WindowsCredentials = false;
                dataSourceDef.ImpersonateUser = false;
                dataSourceDef.UserName = "";
                dataSourceDef.Password = "";
                delivery.Item = dataSourceDef;
                //we will have to declare the list of parameter(s) the report requires
                //in this report there is only one parameter named “Sales Order Number”
                //create fields list which is comprising of only one field in this report
                Field[] fieldlist = new Field[2];
                fieldlist[0] = new Field();
                fieldlist[0].Name = "REF_MONTH";
                fieldlist[0].Alias = "REF_MONTH";
                fieldlist[1] = new Field();
                fieldlist[1].Name = "MTSO_ID";
                fieldlist[1].Alias = "MTSO_ID";
                //create data set
                DataSetDefinition dataSetDefinition = new DataSetDefinition();
                dataSetDefinition.AccentSensitivitySpecified = false;
                dataSetDefinition.CaseSensitivitySpecified = false;
                dataSetDefinition.KanatypeSensitivitySpecified = false;
                dataSetDefinition.WidthSensitivitySpecified = false;
                dataSetDefinition.Fields = fieldlist;
                QueryDefinition queryDefition = new QueryDefinition();
                queryDefition.CommandText = "SELECT  REF_MONTH FROM  REFERRAL_TRN_DETAILS1";
                queryDefition.CommandType = "Text";
                queryDefition.Timeout = 1000;
                queryDefition.TimeoutSpecified = true;
                dataSetDefinition.Query = queryDefition;
                DataSetDefinition results = new DataSetDefinition();
                bool changed;
                string[] paramNames;
                results = rs.PrepareQuery(delivery, dataSetDefinition, out changed, out paramNames);
                DataRetrievalPlan dataRetrieval = new DataRetrievalPlan();
                dataRetrieval.DataSet = results;
                dataRetrieval.Item = dataSourceDef;
                // Set the event type and match data for the delivery.
                string eventType = "TimedSubscription";
                string matchData = @"<ScheduleDefinition>";
                matchData += @"<StartDateTime>2003-04-14T19:15:00-07:00</StartDateTime><WeeklyRecurrence><WeeksInterval>1</WeeksInterval>";
                matchData += @"<DaysOfWeek>";
                matchData += @"<Monday>True</Monday><Tuesday>True</Tuesday><Wednesday>True</Wednesday><Thursday>True</Thursday><Friday>True</Friday>";
                matchData += @"</DaysOfWeek></WeeklyRecurrence></ScheduleDefinition>";
                // Set the report parameter values.
                ParameterValueOrFieldReference[] parameters = new ParameterValueOrFieldReference[2];
                ParameterFieldReference empID = new ParameterFieldReference(); // Data-driven.
                empID.ParameterName = "val";
                empID.FieldAlias = "REF_MONTH";
                parameters[0] = empID;
                ParameterValue reportYear = new ParameterValue();
                reportYear.Name = "val";
                reportYear.Value = "112013";
                parameters[1] = reportYear;
                string subscriptionID = rs.CreateDataDrivenSubscription
                (report, settings, dataRetrieval, description, eventType, matchData, parameters);
    i have one report parameter val, ineed to pass value from the query result.
    santosh

    Hi Santosh,
    Based on your error message, it's has issue in the parameters arguments when you call the createDataDrivenSubscription() function. we suggest you to check your parameters argument to createDataDrivenSubscriptio() function. Mostly it's the issue of the
    Parameters. You are passing a ParameterFieldReference array object called parameters. The web service is very strict with the FieldAlias property. It need the fieldAlias have to EXACTLY MATCH a field in the data set that
    is part of the data retrieval plan, otherwise it will throw the exception above. So please pay attention to the white space or lower/higher cap issue. Also we suggest you use functions like Trim() to make fieldAlias fit the field in dataset.
    Reference:
    The required field Field is
    missing from the input structure.
    Best Regards,
    Simon Hou

  • Is it possible to output a report as a text file (.txt) in a Data Driven Subscription?

    Is it possible to create a Data Driven Subscription report as a text file output to a shared folder? Thanks.
    Kahlua

    Hi Vicky:
    Thank you for your reply. I changed the config file in SSRS and it works. I managed to generate a text file with Data Driven Subscription as the report output in a shared folder. However is it possible not to have the "double quote" wrapping around
    the text. Do I need to modify the config file to remove the "double quote" and how. Thanks. 
    Kahlua
    <Render>
    <Extension Name="XML" Type="Microsoft.ReportingServices.Rendering.DataRenderer.XmlDataReport,Microsoft.ReportingServices.DataRendering"/>
    <Extension Name="NULL" Type="Microsoft.ReportingServices.Rendering.NullRenderer.NullReport,Microsoft.ReportingServices.NullRendering" Visible="False"/>
    <Extension Name="CSV" Type="Microsoft.ReportingServices.Rendering.DataRenderer.CsvReport,Microsoft.ReportingServices.DataRendering"/>
    <Extension Name="PDF" Type="Microsoft.ReportingServices.Rendering.ImageRenderer.PDFRenderer,Microsoft.ReportingServices.ImageRendering"/>
    <Extension Name="TAB" Type="Microsoft.ReportingServices.Rendering.DataRenderer.CsvReport,Microsoft.ReportingServices.DataRendering">
    <OverrideNames>
    <Name Language="en-US">TAB (Tab Delimited Text File)</Name>
    </OverrideNames>
    <Configuration>
    <DeviceInfo>
    <FieldDelimiter xml:space="preserve">[TAB]</FieldDelimiter>
    <UseFormattedValues>True</UseFormattedValues>
    <NoHeader>True</NoHeader>
    <FileExtension>txt</FileExtension>
    <Qualifier xml:space="preserve"></Qualifier>
    <ExcelMode>False</ExcelMode>
    </DeviceInfo>
    </Configuration>
    </Extension>
    <Extension Name="RGDI" Type="Microsoft.ReportingServices.Rendering.ImageRenderer.RGDIRenderer,Microsoft.ReportingServices.ImageRendering" Visible="False" LogAllExecutionRequests="False"/>
    <Extension Name="HTML4.0" Type="Microsoft.ReportingServices.Rendering.HtmlRenderer.Html40RenderingExtension,Microsoft.ReportingServices.HtmlRendering" Visible="False" LogAllExecutionRequests="False"/>
    <Extension Name="MHTML" Type="Microsoft.ReportingServices.Rendering.HtmlRenderer.MHtmlRenderingExtension,Microsoft.ReportingServices.HtmlRendering"/>
    <Extension Name="EXCEL" Type="Microsoft.ReportingServices.Rendering.ExcelRenderer.ExcelRenderer,Microsoft.ReportingServices.ExcelRendering"/>
    <Extension Name="RPL" Type="Microsoft.ReportingServices.Rendering.RPLRendering.RPLRenderer,Microsoft.ReportingServices.RPLRendering" Visible="false" LogAllExecutionRequests="false"/>
    <Extension Name="IMAGE" Type="Microsoft.ReportingServices.Rendering.ImageRenderer.ImageRenderer,Microsoft.ReportingServices.ImageRendering"/>
    <Extension Name="WORD" Type="Microsoft.ReportingServices.Rendering.WordRenderer.WordDocumentRenderer,Microsoft.ReportingServices.WordRendering"/>
    </Render>

  • Data Driven Subscription Missing in Reporting Services Manager under Subcriptions

    I am attempting to create my first data driven subscription.
    However, the 'New Data-driven Subscription'
    button is missing from my management view under Subscriptions for the report I am using.
    I have verified that I have the 'Content Manager' and 'System Administrator' roles associated with my login.  Also, I am running on the necessary Enterprise Edition.
    Microsoft SQL Server 2012 Enterprise Edition (64-bit) on Windows NT 6.2 
    Please assist me in troubleshooting this matter as this is the only method I'm aware of for accessing data driven subscriptions.

    Hi ThornDrill,
    According to your description, the 'New Data-driven Subscription' button is missing though you install SQL Server Enterprise edition.
    In you scenario, it’s possible that you are running a different SKU of Report Server while the SQL Server is Enterprise edition. Please find the first log file within the Reporting Service logs, then search the keyword with “SKU” to find the actual edition
    of the report server instance. For more information, please refer to this similar thread:
    Data driven subscription button not displayed.
    If you have any question, please feel free to ask.
    Best regards,
    Qiuyun Yu
    Qiuyun Yu
    TechNet Community Support

  • How to pass multi-value parameters to DDS (data driven subscription)?

    Using RS2005, how should multivalue parameters be stored in a database field so that a data driven subscription can properly read and use them?  I have so far had no luck using syntax of:
    1)  parm1, parm2
    2)  parm1,parm2
    Do single qutoes need to explicitly wrap the values?  Can you please provide an example and a SQL INSERT statement using parm1 and parm2 to demonstrate what to store in the database field? 
    Thanks!!

    I have skimmed through this an have ran into this problem before but not with RS specifically, but with other ASP.NET apps I have built.  Maybe this work around will help.
    In my database I created a table function I call udf_Split List.  It looks like this: (Can't remember where I got this from, but it's not my own.)
    CREATE
    FUNCTION [dbo].[udf_SplitList]
    @List
    varchar(max),
    @SplitOn
    nvarchar(5)
    RETURNS
    @RtnValue table
    Id
    int
    identity(1,1),
    Value
    nvarchar(100)
    AS
    BEGIN
    While
    (Charindex(@SplitOn,
    @List)
    > 0)
    Begin
    Insert
    Into @RtnValue
    (value)
    Select Value
    =
    ltrim(rtrim(Substring(@List,
    1,
    Charindex(@SplitOn,
    @List)
    - 1)))
    Set @List
    =
    Substring(@List,Charindex(@SplitOn,
    @List)
    +
    len(@SplitOn),
    len(@List))
    End
    Insert
    Into @RtnValue
    (Value)
    Select Value
    =
    ltrim(rtrim(@List))
    Return
    END
    Then, in my query I used the following parameter: QueriedField IN(select value from dbo.udf_SplitList(@Parameter,',')  (I used commas to separate the list, but you can use whatever you like (;,|,*, etc.)
    For you @Parameter would be your DDS list parameter.  Hope this helps.  You can enter your list like Item1,Item2,Item3 etc.

  • SSRS Data Driven Subscription Split Report on Email

    I have a requirement to email an SSRS report to each of the individual emails referenced in the report.
    Think of it is as a mail merge wherein there are 5 persons receiving the report.The Current SSRS Report contains 5 Letters. The Email Subscription dataset is identical to the one upon which the report is based and works as expected. The problem is that currently
    it is sending the ENTIRE report to each email rather than sending only the report that corresponds to the applicable email ( I have heard this referred to as bursting the report).
    Is there some setting that I may be missing? How can this be achieved?
    Again I have Info
    Report A
    (user1 info, User 1 Email
    User2 info---------------BEING EMAILED TO ---------->        User 2 email
    User3 info User 3 email
    User4 info User 4 email
    User5 ) User 5 email
    And I want
    Report A
    (user1 info--------------BEING EMAILED TO ----------> User 1 Email
    User2 info---------------BEING EMAILED TO ----------> User 2 email
    User3 info --------------BEING EMAILED TO ----------> User 3 email
    User4 info --------------BEING EMAILED TO ----------> User 4 email
    User5 info --------------BEING EMAILED TO ----------> User 5 email

    Hi Garrett_ll,
    After testing the issue in my local environment, we can refer to the steps below to achieve your requirement:
    We should add a parameter named User in the report use User field as Available Values.
    Add a filter as below in the corresponding tablix:
    Expression: [User]
    Operator: =
    Value: [@User]
    Deploy the Report to report server.
    During the data-driven subscription, in the step 4 (Specify delivery extension settings for Report Server Email). Below “To” option, select “Get the value from the database”, then select User field.
    In the step 5, we can configure report parameter “Get the value from the database”, then select User field.
    The following article about Create a Data-Driven Subscription, you can refer to it.
    http://technet.microsoft.com/en-us/library/ms169673.aspx
    If there are any other questions, please feel free to ask.
    Thanks,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

  • Identify failed subscriptions in a data driven subscription batch

    Hi,
    I have a single data driven subscription that is a batch of 250 subscriptions running on SQL Server 2008 R2. All the parameter values for the report are sourced from a database table. During the execution of the data driven subscription 5 of those subscriptions
    failed due to timeout error.
    Final Status as shown on Subscription screen "Done: 250 processed of 250 total; 5 errors."
    The SSRS log file has the subscription GUID which is a single record in the reporting server database tables. How can i identify the individual failed subscriptions? Is there an easy way or a work around that i should implement to identify the failed
    subscriptions?
    Thanks in advance.

    This is a painful topic...
    Yes, data-driven subscriptions can be difficult to manage.  We have had similar issues...
    What we opted to do was create an SSIS package that copies the most recent logfile to a staging directory, truncates the import table, imports the current logfile, then performs a set of data queries to determine all report subscriptions that failed, using
    joins to the ReportServer database tables and the Subscriptions table.  At the end of the morning job we fire off report that lists all Reports/To_Email combinations that were unsuccessful.

  • PDF Bookmarks for Data driven subscription

    Hi
    I have a data driven subscription for a report which is in PDF format.
    The report has bookmarks and the users would like the PDF to show the bookmarks when the PDF document has been opened.
    Is there a setting in SSRS which will force the PDF document to open with the bookmarks open?
    I have searched and am unable to find anything, please help!
    Thanks

    Hi Nasa1999,
    According to your description, you create a document map in a report. Then you want to render the report as PDF file in the data driven subscription. When you open the PDF file, you want to see the bookmarks open automatically.
    In Reporting Services, if document map labels present in the report, a document outline is added to the PDF file when we render the report as a pdf file. When we open the PDF file, the bookmark is hidden and it only display when we click Bookmarks in Adobe
    Reader. This behavior is by design. So in your scenario, your requirement can’t be achieved currently.
    Reference:
    Document Map  
    If you have any question, please feel free to ask.
    Best regards,
    Qiuyun Yu
    Qiuyun Yu
    TechNet Community Support

Maybe you are looking for

  • Problem in executing query in browser and bex analyzer

    i am not able to execute query in browser nor bex analyzer... problem is that i dont have option to run in bex analyzer in query designer (menu bar seems missing in query designer and how can i get enabled and when execute the query in browser using

  • Writing to the Siebel File System (on a UNIX box) using eScript

    Hello All, I am trying to extract data from the Siebel database using a Business Services written in eScript, write the data to a flat file, and place that file in the Siebel File System. The Siebel File System is on an AIX box. Does anyone know the

  • Server proxy in background mode using abap?

    Hi, I would like to schedule server proxy in back ground mode using ABAP report. I already have the payload available in XSTRING(binary) saved in Z table. I know how to convert binary string to XML (using FMs -  SCMS_BINARY_TO_STRING). However, is th

  • Updation of Custom fields in MBEWH from MBEW

    Hi ABAPpers, Can anyone give me any clarity  if I append same structure in both MBEW and MBEWH, then during the update will these custom fields also gets updated? Or do we have any other procedure to do this? Edited by: VKUPPILI on Dec 9, 2011 1:17 P

  • Field validation of seperator

    Hi, I have a parameter ( pa_sep) which is the field separator which takes only semicolon( Tilt(~) and Tab as input. How to validate the input entered by user at-selection-screen event?