My current environment is one where the sites that use the legacy software literally have hundreds and hundreds of reports. The highest I saw was one site that had 1,300. These are people that dream up different ways to look at data. That coupled with their lack of computer sophistication, means the report writing system has to be very user-friendly. And it is.
And it was pretty innovative. Report Writing software tends to fall into 2 categories (in my mind), internal ones like A5 and Access that report on data that's already been gathered (via sets and queries respectively). And external ones like R&R and Crystal that start with a master table of some sort and then let you gather data via joins.
The legacy system (dbase 4 files) did something I'd never seen before. It used a proprietary front end to select the people you wanted to report on. (i.e. I want people that live in Idaho, that are over 35, and that are members of certain organizations.) Once you selected these people in the front end, it then passed their ID's in a master table to R&R, where you then gathered and reported on whatever data you wanted.
The front end was (to the user) almost an English Language query. When you selected a field to query on you always (when applicable) could choose multiple items from a drop down list. And the list was of the type shown in the Learning Xbasic manual Page 92, where you are presented with a list and when you select, it goes into another box. And you could make any field you queried on "promptable".
It actually captured all this query info in a text file and then passed it to an executable they wrote. In essence it used arrays to capture all the people that passed the criteria for a certain table, and then combined all the arrays into one table if the people met the criteria in each table.
It also could combine different queries. Example, if you wanted people that lived in North Dakota OR left handed people, those had to be separate queries, or else you would only end up with left handed people in North Dakota. So it would handle the arrays of each query, and then combine them into one table. (the output table always had same format). It would then launch R&R and run the format you had specified.
But the vendor is killing the entire dbase 4 database and moving folks to a MS SQL system. And the old query tool can only report on files in the exact format it is expecting. Change even the length of one field and everything blows up.
I'd like to reproduce the database in A5. And based on my experience so far I think it can be done. But it's all for naught, if I can't produce a reporting system nearly as good as the one they are used to.
Based on my work so far, I don't think A5 can be the reporting solution. I think it calls for an external report writer like R&R. It just wouldn't be practical in R&R to have 800 sets and queries and layouts. Especially since all A5 stuff must be contained in the same .adb.
R&R has 2 qualities that make it impractical to use by itself. One is that it has no capability of prompting and showing you choices. Secondly, for those that know R&R, if you have more than one scan in a report, you really can't use a query anymore. (Plus when your dealing with 9 or 10 tables in a join it would take forever.)
But, I've figured out that I can actually use R&R runtime to simulate the array process. R&R Runtime works by passing a control file (.dbf) where each record in the control file is a format to be run. You can tell each format what master file to use and what the output is. Normally you would expect the outcome to be a printed report or one that displays on the screen. But you can also export a file and dictate the name. What that means is that you can set up a series of reports to run where each one feeds the next one.
Example: You start out looking at an address table, and you select folks that have a good home address in 10 midwestern states. You then export the results in a generic format and that export table, becomes the master table for the next report. It has a join to the next table to be checked (let's say "Clubs"). Now the only people passing the criteria are those that passed both the Address and Clubs tests. You do this as many times as you have tables to be queried. Then when you have the people you want, you pass them to a "real" format that will gather data and present it a normal fashion.
This may sound like a Rube Goldberg invention (oh, some of you may be too young for that reference). This may sound complicated, but it actually works quite well, and quite quickly. What I need to put it all together is
a) a way to have it prompt for values (from a list wehn needed) and put that data into fields in the control table..
b) A way to merge results from different reports (the left handed, North Dakota scenario), especially if you control the merge a little (like don't include the people in the second group if they are alreay combined file)
So, I know that some people here use R&R as part of their reporting solution, and I know there are some people like Ray Fernandez, who seem to really use Third-Party tools (including programing) to extend the power of A5. Any thoughts? (of course I'm really hoping someone will say "I already do that" or "I can build that!!")
And it was pretty innovative. Report Writing software tends to fall into 2 categories (in my mind), internal ones like A5 and Access that report on data that's already been gathered (via sets and queries respectively). And external ones like R&R and Crystal that start with a master table of some sort and then let you gather data via joins.
The legacy system (dbase 4 files) did something I'd never seen before. It used a proprietary front end to select the people you wanted to report on. (i.e. I want people that live in Idaho, that are over 35, and that are members of certain organizations.) Once you selected these people in the front end, it then passed their ID's in a master table to R&R, where you then gathered and reported on whatever data you wanted.
The front end was (to the user) almost an English Language query. When you selected a field to query on you always (when applicable) could choose multiple items from a drop down list. And the list was of the type shown in the Learning Xbasic manual Page 92, where you are presented with a list and when you select, it goes into another box. And you could make any field you queried on "promptable".
It actually captured all this query info in a text file and then passed it to an executable they wrote. In essence it used arrays to capture all the people that passed the criteria for a certain table, and then combined all the arrays into one table if the people met the criteria in each table.
It also could combine different queries. Example, if you wanted people that lived in North Dakota OR left handed people, those had to be separate queries, or else you would only end up with left handed people in North Dakota. So it would handle the arrays of each query, and then combine them into one table. (the output table always had same format). It would then launch R&R and run the format you had specified.
But the vendor is killing the entire dbase 4 database and moving folks to a MS SQL system. And the old query tool can only report on files in the exact format it is expecting. Change even the length of one field and everything blows up.
I'd like to reproduce the database in A5. And based on my experience so far I think it can be done. But it's all for naught, if I can't produce a reporting system nearly as good as the one they are used to.
Based on my work so far, I don't think A5 can be the reporting solution. I think it calls for an external report writer like R&R. It just wouldn't be practical in R&R to have 800 sets and queries and layouts. Especially since all A5 stuff must be contained in the same .adb.
R&R has 2 qualities that make it impractical to use by itself. One is that it has no capability of prompting and showing you choices. Secondly, for those that know R&R, if you have more than one scan in a report, you really can't use a query anymore. (Plus when your dealing with 9 or 10 tables in a join it would take forever.)
But, I've figured out that I can actually use R&R runtime to simulate the array process. R&R Runtime works by passing a control file (.dbf) where each record in the control file is a format to be run. You can tell each format what master file to use and what the output is. Normally you would expect the outcome to be a printed report or one that displays on the screen. But you can also export a file and dictate the name. What that means is that you can set up a series of reports to run where each one feeds the next one.
Example: You start out looking at an address table, and you select folks that have a good home address in 10 midwestern states. You then export the results in a generic format and that export table, becomes the master table for the next report. It has a join to the next table to be checked (let's say "Clubs"). Now the only people passing the criteria are those that passed both the Address and Clubs tests. You do this as many times as you have tables to be queried. Then when you have the people you want, you pass them to a "real" format that will gather data and present it a normal fashion.
This may sound like a Rube Goldberg invention (oh, some of you may be too young for that reference). This may sound complicated, but it actually works quite well, and quite quickly. What I need to put it all together is
a) a way to have it prompt for values (from a list wehn needed) and put that data into fields in the control table..
b) A way to merge results from different reports (the left handed, North Dakota scenario), especially if you control the merge a little (like don't include the people in the second group if they are alreay combined file)
So, I know that some people here use R&R as part of their reporting solution, and I know there are some people like Ray Fernandez, who seem to really use Third-Party tools (including programing) to extend the power of A5. Any thoughts? (of course I'm really hoping someone will say "I already do that" or "I can build that!!")
Comment