ANNOUNCE:  Speed up your Data-Driven JSF/Seam Application by Two Orders of

Hello,
I am pleased to announce a new article on JSF Central. In the second installment of this two-part article, Dan Allen continues his discussion of some common performance problems you may encounter when using JSF components, Seam components, and the EL. You'll learn about the set of best practices for eliminating them that led to an improvement of two orders of magnitude in the performance of his application.
Here is an excerpt:
In the first part of this article, I began briefing you on optimizations I made to maximize the responsiveness of a JSF application that I developed out in the field. I cited performance problems caused by casually accessing components from a JSF view, then presented a set of best practices to eliminate this unnecessary overhead. Despite the progress made by the end of the first part, you had not yet witnessed the two orders of magnitude in performance improvement that was promised.
In this part, the additional gains will be achieved by leveraging partial page rendering-provided by the RichFaces JSF component library and by slimming the response. Partial page rendering cuts out the overhead of rerendering the entire page after each user interaction, which turns out to be the real bottleneck in most traditional web applications, and instead redraws only the areas of the page that have changed. Naturally, you want the replacement HTML source to be as condensed as possible. These optimizations allow the responsiveness of a web application to measure up to its desktop counterpart.
Read the full article here: [Speed up your Data-Driven JSF/Seam Application by Two Orders of Magnitude – Part 2|http://www.jsfcentral.com/articles/speed_up_your_jsf_app_2.html]
Kito D. Mann -- Author, JavaServer Faces in Action
http://twitter.com/kito99  http://twitter.com/jsfcentral
http://www.virtua.com - JSF/Java EE consulting, training, and mentoring
http://www.JSFCentral.com - JavaServer Faces FAQ, news, and info
+1 203-404-4848 x3

Hi,
how can we ensure that every body define the id in jsf page. we are using the jsf 1.0 and I think this artical for jsf 1.2
with IBM extended JFS lib.
if we don't want to change the code of full application,is it possible to speed up the render time with the help of framework or some other way.

Similar Messages

  • Data driven graphics - output not in layer order(with files added)

    Hi All
    I am using CS3 Fireworks, making numbers on small icon button with different text and graphics.
    xml table is prepared.
    I made a Fireworks template file with text/image variables in single layer, order as below:
    Top
    Text var.(button name)
    image var.(icon graphic)
    image var.(button background graphic)
    then run the wizard and the output becomes:
    Top
    image var.(button background  graphic)
    Text var.(button name)
    image var.(icon graphic)
    The swop image include auto shape vector graphics, bitmap(PNG),
    I tried using vectors with live filter but doesn't work, so flattened to bitmap(PNG)
    is there any method to keep the output as preferred orders? Please help.

    It seems as if the output has an ASCII order. Perhaps a prefix on the template layers will help.

  • 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

  • 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/

  • Lock Up Your Data for Up to 90% Less Cost than On-Premises Solutions with NetApp AltaVault

    June 2015
    Explore
    Data-Protection Services from NetApp and Services-Certified Partners
    Whether delivered by NetApp or by our professional and support services certified partners, these services help you achieve optimal data protection on-premises and in the hybrid cloud. We can help you address your IT challenges for protecting data with services to plan, build, and run NetApp solutions.
    Plan Services—We help you create a roadmap for success by establishing a comprehensive data protection strategy for:
    Modernizing backup for migrating data from tape to cloud storage
    Recovering data quickly and easily in the cloud
    Optimizing archive and retention for cold data storage
    Meeting internal and external compliance regulations
    Build Services—We work with you to help you quickly derive business value from your solutions:
    Design a solution that meets your specific needs
    Implement the solution using proven best practices
    Integrate the solution into your environment
    Run Services—We help you optimize performance and reduce risk in your environment by:
    Maximizing availability
    Minimizing recovery time
    Supplying additional expertise to focus on data protection
    Rachel Dines
    Product Marketing, NetApp
    The question is no longer if, but when you'll move your backup-and-recovery storage to the cloud.
    As a genius IT pro, you know you can't afford to ignore cloud as a solution for your backup-and-recovery woes: exponential data growth, runaway costs, legacy systems that can't keep pace. Public or private clouds offer near-infinite scalability, deliver dramatic cost reductions and promise the unparalleled efficiency you need to compete in today's 24/7/365 marketplace.
    Moreover, an ESG study found that backup and archive rank first among workloads enterprises are moving to the cloud.
    Okay, fine. But as a prudent IT strategist, you demand airtight security and complete control over your data as well. Good thinking.
    Hybrid Cloud Strategies Are the Future
    Enterprises, large and small, are searching for the right blend of availability, security, and efficiency. The answer lies in achieving the perfect balance of on-premises, private cloud, and public services to match IT and business requirements.
    To realize the full benefits of a hybrid cloud strategy for backup and recovery operations, you need to manage the dynamic nature of the environment— seamlessly connecting public and private clouds—so you can move your data where and when you want with complete freedom.
    This begs the question of how to integrate these cloud resources into your existing environment. It's a daunting task. And, it's been a roadblock for companies seeking a simple, seamless, and secure entry point to cloud—until now.
    Enter the Game Changer: NetApp AltaVault
    NetApp® AltaVault® (formerly SteelStore) cloud-integrated storage is a genuine game changer. It's an enterprise-class appliance that lets you leverage public and private clouds with security and efficiency as part of your backup and recovery strategy.
    AltaVault integrates seamlessly with your existing backup software. It compresses, deduplicates, encrypts, and streams data to the cloud provider you choose. AltaVault intelligently caches recent backups locally while vaulting older versions to the cloud, allowing for rapid restores with off-site protection. This results in a cloud-economics–driven backup-and-recovery strategy with faster recovery, reduced data loss, ironclad security, and minimal management overhead.
    AltaVault delivers both enterprise-class data protection and up to 90% less cost than on-premises solutions. The solution is part of a rich NetApp data-protection portfolio that also includes SnapProtect®, SnapMIrror®, SnapVault®, NetApp Private Storage, Cloud ONTAP®, StorageGRID® Webscale, and MetroCluster®. Unmatched in the industry, this portfolio reinforces the data fabric and delivers value no one else can provide.
    Figure 1) NetApp AltaVault Cloud-integrated Storage Appliance.
    Source: NetApp, 2015
    The NetApp AltaVault Cloud-Integrated Storage Appliance
    Four Ways Your Peers Are Putting AltaVault to Work
    How is AltaVault helping companies revolutionize their backup operations? Here are four ways your peers are improving their backups with AltaVault:
    Killing Complexity. In a world of increasingly complicated backup and recovery solutions, financial services firm Spot Trading was pleased to find its AltaVault implementation extremely straightforward—after pointing their backup software at the appliance, "it just worked."
    Boosting Efficiency. Australian homebuilder Metricon struggled with its tape backup infrastructure and rapid data growth before it deployed AltaVault. Now the company has reclaimed 80% of the time employees formerly spent on backups—and saved significant funds in the process.
    Staying Flexible. Insurance broker Riggs, Counselman, Michaels & Downes feels good about using AltaVault as its first foray into public cloud because it isn't locked in to any one approach to cloud—public or private. The company knows any time it wants to make a change, it can.
    Ensuring Security. Engineering firm Wright Pierce understands that if you do your homework right, it can mean better security in the cloud. After doing its homework, the firm selected AltaVault to securely store backup data in the cloud.
    Three Flavors of AltaVault
    AltaVault lets you tap into cloud economics while preserving your investments in existing backup infrastructure, and meeting your backup and recovery service-level agreements. It's available in three form factors: physical, virtual, and cloud-based.
    1. AltaVault Physical Appliances
    AltaVault physical appliances are the industry's most scalable cloud-integrated storage appliances, with capacities ranging from 32TB up to 384TB of usable local cache. Companies deploy AltaVault physical appliances in the data center to protect large volumes of data. These datasets typically require the highest available levels of performance and scalability.
    AltaVault physical appliances are built on a scalable, efficient hardware platform that's optimized to reduce data footprints and rapidly stream data to the cloud.
    2. AltaVault Virtual Appliances for Microsoft Hyper-V and VMware vSphere
    AltaVault virtual appliances are an ideal solution for medium-sized businesses that want to get started with cloud backup. They're also perfect for enterprises that want to safeguard branch offices and remote offices with the same level of protection they employ in the data center.
    AltaVault virtual appliances deliver the flexibility of deploying on heterogeneous hardware while providing all of the features and functionality of hardware-based appliances. AltaVault virtual appliances can be deployed onto VMware vSphere or Microsoft Hyper-V hypervisors—so you can choose the hardware that works best for you.
    3. AltaVault Cloud-based Appliances for AWS and Microsoft Azure
    For organizations without a secondary disaster recovery location, or for companies looking for extra protection with a low-cost tertiary site, cloud-based AltaVault appliances on Amazon Web Services (AWS) and Microsoft Azure are key to enabling cloud-based recovery.
    On-premises AltaVault physical or virtual appliances seamlessly and securely back up your data to the cloud. If the primary site is unavailable, you can quickly spin up a cloud-based AltaVault appliance in AWS or Azure and recover data in the cloud. Usage-based, pay-as-you-go pricing means you pay only for what you use, when you use it.
    AltaVault solutions are a key element of the NetApp vision for a Data Fabric; they provide the confidence that—no matter where your data lives—you can control, integrate, move, secure, and consistently manage it.
    Figure 2) AltaVault integrates with existing storage and software to securely send data to any cloud.
    Source: NetApp, 2015
    Putting AltaVault to Work for You
    Four common use cases illustrate the different ways that AltaVault physical and virtual appliances are helping companies augment and improve their backup and archive strategies:
    Backup modernization and refresh. Many organizations still rely on tape, which increases their risk exposure because of the potential for lost media in transport, increased downtime and data loss, and limited testing ability. AltaVault serves as a tape replacement or as an update of old disk-based backup appliances and virtual tape libraries (VTLs).
    Adding cloud-integrated backup. AltaVault makes a lot of sense if you already have a robust disk-to-disk backup strategy, but want to incorporate a cloud option for long-term storage of backups or to send certain backup workloads to the cloud. AltaVault can augment your existing purpose-built backup appliance (PBBA) for a long-term cloud tier.
    Cold storage target. Companies want an inexpensive place to store large volumes of infrequently accessed file data for long periods of time. AltaVault works with CIFS and NFS protocols, and can send data to low-cost public or private storage for durable long-term retention.
    Archive storage target. AltaVault can provide an archive solution for database logs or a target for Symantec Enterprise Vault. The simple-to-use AltaVault management platform can allow database administrators to manage the protection of their own systems.
    We see two primary use cases for AltaVault cloud-based appliances, available in AWS and Azure clouds:
    Recover on-premises workloads in the cloud. For organizations without a secondary disaster recovery location, or for companies looking for extra protection with a low-cost tertiary site, AltaVault cloud-based appliances are key to enabling cloud-based disaster recovery. Via on-premises AltaVault physical or virtual appliances, data is seamlessly and securely protected in the cloud.
    Protect cloud-based workloads.  AltaVault cloud-based appliances offer an efficient and secure approach to backing up production workloads already running in the public cloud. Using your existing backup software, AltaVault deduplicates, encrypts, and rapidly migrates data to low-cost cloud storage for long-term retention.
    The benefits of cloud—infinite, flexible, and inexpensive storage and compute—are becoming too great to ignore. AltaVault delivers an efficient, secure alternative or addition to your current storage backup solution. Learn more about the benefits of AltaVault and how it can give your company the competitive edge you need in today's hyper-paced marketplace.
    Rachel Dines is a product marketing manager for NetApp where she leads the marketing efforts for AltaVault, the company's cloud-integrated storage solution. Previously, Rachel was an industry analyst for Forrester Research, covering resiliency, backup, and cloud. Her research has paved the way for cloud-based resiliency and next-generation backup strategies.
    Quick Links
    Tech OnTap Community
    Archive
    PDF

    You didn't say what phone you have - but you can set it to update and backup and sync over wifi only - I'm betting that those things are happening "automatically" using your cellular connection rather than wifi.
    I sync my email automatically when I have a wifi connection, but I can sync manually if I need to.  Downloads happen for me only on wifi, photo and video backup are only over wifi, app updates are only over wifi....check your settings.  Another recent gotcha is Facebook and videos.  LOTS of people are posting videos on Facebook and they automatically download and play UNLESS you turn them off.  That can eat up your data in a hurry if you are on FB regularly.

  • What is correct way to join a start/end date driven dimension to a fact table in data foundation?

    I have a bad universe or a data design issue. 
    Several versions of hierarchies reporting store entities in reporting Fact measures.
    Example of date driven Hierarchy Dimension:   ORG_KEY
                                                                                START_DATE
                                                                                END_DATE
                                                                                STORE_NUMBER
                                                                                ORG_HIERARCHY   
                                                                                CURR_FLG   (Y/N)        
    Fact table  :                                                         ORG_KEY
                                                                                 CALENDAR_KEY
                                                                                 TRANS_DATE
                                                                                 $amount  
    Calendar Dimension:                                            CALENDAR_KEY
                                                                                  DAY_DATE
                                                                                   FY_WEEK          (201452)
                                                                                    FY_PERIOD      (201412)
                                                                                    FY_QUARTER   (201401)
                                                                                     FISCAL_YEAR    (2014)
    Users WISH:
    Wish for store number and org hierarchy to pull as of the last day of each pull without prompt.    The Store(ORG_KEY) as in the fact table; but the ORG_HIERARCHY and other attributes as of the last day they pull.
    Daily (Would be Calendar.Day_Date in Filter) ,
    Week to date (would be Max Calendar.Day_Date for (201452) FY_WEEK  as entered,
    Month to date,
    Year to date, 
    AdHoc queries.  
    My problem is I see how they could manually pull this in Webi.   I have tried everything I know to join to no avail.  I have not gotten @Prompts to work in joins, derived tables, etc.  in the data foundation.  Wonder what is difference between parameter in Data foundation vs. filter in buisness layer.    None of them worked. 
    Please help!   ANY ideas would be appreciated.   .

    {Note that abbrevations in brackets are just for short form further down the answer}
    Join Store Dim (SD) to Transaction Fact (TF) on ORG_KEY=ORG_KEY with 1 to Many cardinality
    Create an alias of Calendar Dim and call it Transaction Date (TD)
    Join TD to TF on TD.CALENDAR_KEY=TF.CALENDAR_KEY with 1 to Many cardinality
    Create a predefined condition in your universe called "Return Yesterday's Transactions" as:
    TD.DAY_DATE = trunc(sysdate-1) <-- That assumes Oracle database; use whatever is correct for yesterday for your RDBMS
    The above predefined condition when added to your data query will return only yesterday's transactions.
    However, if you want to return all the different types of sales, you would need an object for each one. To do that, you'd use a case statement. Again, using Oracle syntax, an example of MTD would be:
    SUM(CASE WHEN trunc(TD.DAY_DATE,'yyyymm') = trunc(sysdate,'yyyymm') THEN TF.amount END)
    If you have any more questions about how this approach would work please shout.
    As an alternative, you could create a time hierarchy and add scope of analysis to your report for it and enable drilling at report level.

  • The connection string for coded UI Data driven test using excel data source is not working

    Hello,
    I am using the visual studio 2012 coded UI test, i added the following connection strings to connect to an excel data source:
    [DataSource("System.Data.Odbc", "Dsn=Excel Files;Driver={Microsoft Excel Driver (*.xls)};dbq=C:\\Users\\shaza.said.ITWORX\\Desktop\\Automation\\On-track Automation Framework\\On-track_Automation\\Automation data file.xls;defaultdir=.;driverid=790;maxbuffersize=2048;pagetimeout=5;readonly=true",
    "Sheet1$", DataAccessMethod.Sequential), TestMethod]
    [DataSource("System.Data.Odbc", "Dsn=Excel Files;dbq=|DataDirectory|\\Automation data file.xls;defaultdir=C:\\Users\\shaza.said.ITWORX\\Desktop\\Automation\\On-track Automation Framework\\On-track_Automation\\Automation data file.xls;driverid=1046;maxbuffersize=2048;pagetimeout=5",
    "Sheet1$", DataAccessMethod.Sequential), TestMethod]
    But i get the following error:
    "The unit test adapter failed to connect to the data source or to read the data. For more information on troubleshooting this error, see "Troubleshooting Data-Driven Unit Tests" (http://go.microsoft.com/fwlink/?LinkId=62412) in the MSDN Library.
    Error details: ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified"
    Thanks,
    Shaza

    Thanks for Adrian's help.
    Hi shaza,
    From the error message, I suggest you can refer the Adrian's suggestion to check the date source connection string correctly.
    In addition, you can refer the following about how to Create a Data-Driven Coded UI Test to check your issue:
    http://msdn.microsoft.com/en-us/library/ee624082.aspx
    Or you can also try to use a Configuration File to Define a Data Source for coded UI test.
    For example:
    <?xml
    version="1.0"
    encoding="utf-8"
    ?>
    <configuration>
    <configSections>
    <section
    name="microsoft.visualstudio.testtools"
    type="Microsoft.VisualStudio.TestTools.UnitTesting.TestConfigurationSection,
    Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
    </configSections>
    <connectionStrings>
    <add
    name="ExcelConn"
    connectionString="Dsn=Excel Files;dbq=E:\Unit Test\AddClass\AddUnitTest\add.xlsx;defaultdir=.;
    driverid=790; maxbuffersize=2048; pagetimeout=60;"
    providerName="System.Data.Odbc"/>
    <add
    name="ExcelConn1"
    connectionString="Dsn=Excel Files;dbq=E:\Unit Test\AddClass\AddUnitTest\sum.xlsx;defaultdir=.;
    driverid=790;maxbuffersize=2048;pagetimeout=60"
    providerName="System.Data.Odbc"/>
    </connectionStrings>
    <microsoft.visualstudio.testtools>
    <dataSources>
    <add
    name="ExcelDS_Addition"
    connectionString="ExcelConn"
    dataTableName="Addition$"
    dataAccessMethod="Sequential"/>
    <add
    name="ExcelDS_Multiply"
    connectionString="ExcelConn1"
    dataTableName="Multiply$"
    dataAccessMethod="Sequential"/>
    </dataSources>
    </microsoft.visualstudio.testtools>
    </configuration>
    For more information, please see:https://msdn.microsoft.com/en-us/library/ms243192.aspx
    Best Regards,
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • 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

    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

  • 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

  • Data Driven EMail Subscription in SQL Server Reporting Services...

    Hi,
       I have a clarification in SQL Server Reporting Services Data Driven Subscription. We have a request to send an email a report based on the report parameter Site . The request is to send email For each site the report is running, email should sent to different recipients list. We have 97 different sites in the Site parameter.
       If Report is running for Site C004 the email should be sent to one recipient, if the Report is running for Site C007 , then the email should be sent to another recipient. Here we have been requested to do with Data-Driven Subscription. How to send the report as a email for each site for different Recipients using Data Driven EMail Subscription.
    Please give us a suggestion to overcome this problem.
    Thanking You...

    Hi David,
    Thanks for your comments. We understand the Data Driven subscription, but we dont know how to write query for this subscription. here is our scenario.
    There are list of sites in the table. like C004, C007, C008 etc..... in the report,
    We have Site parameter (All Sites (default), C004, C007 etc....) and also date range parameter (Start Date, End date) (which are not defaulted in the report) and other 2 parameters. Here we need to send the report to different recipients based on the site. C004 report results should be develivered to one recipient, C007 site results should be delivered to another recipient and so on....
    As we are new to Data driven subscription, can you explain how to create table that will be saving the email recipients list and the query that we are specifying in the Data Driven Subscription. Please help us to how to create the data driven subscription for the above scenarion. 
    Thanks and Regards,
    Sundarrajan.G

  • 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.

Maybe you are looking for