views:

120

answers:

2
+1  A: 

Why don't you replace the various Excel templates with a proper reporting solution? Using a decent reporting product has the following benefits:

  • everyone can have access to the same report
  • you can use roles to prevent people seeing certain reports
  • the users can change the parameters of the reports every time they run it, or they can use the defaults you set up for them
  • the reporting can be highly automated, it can run automatically on certain schedules (like 9am every Monday morning, or every Sunday evening after end of week processing)
  • reports can be delivered in a variety of formats
  • reporting tools can use stored procs in the database, those stored procs can encapsulate business logic

Personally i would advocate the use of Sql Server Reporting Services (2008 version, try and avoid 2005), although there are other products out there as well. SSRS can talk to an Oracle database, it can be obtained and used for free.

You also made vague references to "processes". The way i read this, you have some code running somewhere that pulls data out of the database, massages it somewhat, and places it in to some staging area - maybe the Excel spreadsheet is the staging area, and further reports are derived from that staged data. If my interpretation is correct, then the above mentioned reporting product (and possibly many others) remove the need to do this.

slugster
I think i have mentioned about what i meant of process in my question. I have bolded those text.Actually it is big backoffice work for a giant client.Reporting team is sending various excel reports in a scheduled basis.They have been doing this for years. We are just going to automate some of the manual work by this team. We absolutely have no privilege of entirly changing the reporting solution.
vijay
Yep, that's what i thought. Replacing this with a reporting solution eliminates double handling and also helps eliminate mistakes due to human error. You don't have to replace everything at once - when they see the benefit after you do a couple of reports they will want them all done (and Excel is one of the output formats available for SSRS). SSRS also has a web page through which all the reports can be run, thus achieving your "menus/submenus" requirement.
slugster
If the default SSRS web pages are not good enough, it is reasonably easy to replace them with your own web pages to gather the report parameters, and then just send the appropriate URL containing the report name and parameters to SSRS and it will generate the report. Seriously, you should spend a couple of hours investigating something like this - once you do and you realise the power you can leverage from it, you will never look back. Excel templates and obtuse macros will be gone forever (although the people whose job it replaces will not be happy... :)
slugster
I am glad that i have been exposed to more professional solutions. Thx Much.But Client is a big corporate, There might be very meticulous chain of authorizations. They are always happy with the existing system. I don't think imposing the radical change is easy here. As i have mentioned earlier in my question, I've been maintaining some of their code base of more than 6 yrs old. Those code bases are certainly beyond any standard maintenance.I think i have no choice other than flow with the wave.
vijay
No worries, all the best :)
slugster
+1  A: 

We built a similar system many years ago. The system consisted of a main process and a series of Excel report generators that implemented a plugin architecture. Each report had its own report generator and could be generated on its own schedule, quite similar to how quartz and quartz.net handle scheduling (but this was many years before they were created). The plugin architecture was the key to the system, as new report generators could be created and dropped in dynamically.

The main process was in charge of launching/monitoring generators, listening for events that were triggered from generators, and distribution of all the reports. Distibution mostly consisted of FTP to a file server where reports could be viewed and saved from a web site. But we did also have some reports emailed to a distribution list.

The main database that stored all the report data also housed all the system meta data that informed the main process and the generators of the details of their work to be performed.

In our system all of the reports ran sequentially, mostly due to Excel limitations at the time. Assuming Excel is now capable of behaving itself, there's no reason that a new system couldn't be designed to run in paralel.

Walter
I waited for some days to get more opinions,but as you can see once the question lose its hotness, you barely get any more responses. Experts just moves on to answer new questions raining each day.Thx very much for helping. I think i will be using Plugin Architecture.
vijay
One way to get your question back to the top of the list is to edit it. Change some of the wording or expand upon your original thoughts... but be careful, if you edit too many times your question will automatically get tagged as a wiki.
Walter
@Walter Thx Much.
vijay