MSidat wrote:Thanks for the info Mike.
It seems like a definate possibilty with development in a VB.Net envronment. What are you own thoughts as to a prefered development tool. We currently have a TM1 Model which utilises Excel based proformas for user inputs and the usual Ti based loads of source files from external systems. The Data is accessed by users via an XLA based system in Excel.
We now have an additional requirement to be able to provide a functionality to users where they can take low level data out of source systems (via something like an Oracle Database) and map this data via the use of mapping tables e.g. any Cost ID with 12345 in it goes to X element in this cube etc. What we envisage happening is once the users provide the mapping rules the Database can be queried and the relevant numbers grouped and exported into TM1.
However the crux of the issue is how we can provide the userbase with a decent front-end to provide this mapping functionality. As the client will not only be expected to enter data into TM1 but also view and manipulate data into an Oracle Database, moving away from VBA surely becomes a must.
Hi:
In general, I tend to prefer solutions that don't require custom software development - in other words, try to keep it simple, if possible and use existing application tools, where possible. Otherwise, you potentially need to get a software developer involved every time something needs to change in the application and also spend time deploying that application to users whenever it changes. If there's any way to accomplish this through native Oracle or TM1 functionality then that is usually a better solution, in my opinion. Maybe the user interface won't be as flashy, but if users can only be motivated by a fancy/flashy mapping UI I'd be worried. When TM1 or another database don't offer some functionality that is required, then you can't avoid it. For example, I've needed to make a request to a web service from something like a TI process - TM1 doesn't have any native way of doing that so we had to build an EXE that could be called from TI to call the web service.
Mapping from a source system to TM1 basically gives you two options:
- Update mappings in the source system and give mapped and/or summarized data to TM1
- Extract from source system to TM1 and do the mapping within TM1
For something like PeopleSoft GL data, for example, I've tended to prefer first populating a "PeopleSoft GL" cube in TM1. If that data needs to be further mapped/aggregated within TM1 to a "Financial Reporting" cube that has a more summarized chart of accounts we'd usually accomplish that with something like mapping attributes/cubes and/or rollups in TM1 that get from "PeopleSoft GL" to "Financial Reporting". Could you build the same mapping in a relational database? Definitely, but often you get some benefit from having that more detailed "PeopleSoft GL" cube around as well as the mapping detail in TM1.
If you're building a friendlier interface to capture the mapping data in TM1, you may have some options via native TM1 Excel workbooks, cube views, web sheets, etc that don't require much, if any, coding in VBA or something else. You may be able to allow users to run other operations using TI processes via Action Buttons, too, which is fairly easy to manage and improve over time. And, perhaps drill-through processes from TM1 will give them the level of Oracle visibility they need, when they need it. If you're planning to capture this mapping information and other functionality within a relational database then you may very well need to develop a friendlier interface around that in something like VB.NET. If you do need to go that route you may be able to minimize the software development effort through some stored procedures that could reduce the chances you'll need to get a software developer involved and deploy any future changes to the application.
The bottom-line is that (like many things) it all depends on the business problem(s)/objectives and any constraints you are facing (e.g., you aren't allowed to use VBA solutions or are only allowed to use Java developers); I don't necessarily see a big problem with VBA depending on what it is you're trying to do - that's not to say it doesn't have its shortcomings (e.g., controlling changes to source code), but for certain applications it is still very useful. As far as what developer tools to use, I don't think it really matters that much - whatever tools are approved for use, whatever tools offer the performance and development agility needed, and (very important) whatever tools have the most available internal resources around who know how to use them would be my preferences, generally.
Hope that helps - good luck!
Regards,
Mike