I, for One, Welcome Our New .Net Overlords (Reporting)

In a previous post I recommended the use of Crystal Reports and listed some of the advantages of doing so. One of the primary reasons I am looking forward to the Made2Manage .Net future is my fervent hope that VFP Reporting will go away. Visual FoxPro reporting must die. In this article, I would like to elaborate on the reasons why I feel this way. Some of these are inherent to VFP, but the rest have to do with M2M’s implementation of it.

  1. VFP Report creation is counter intuitive. When you try to create a new report in the RPWIZ screen, you have to use a VFP report creation wizard. However, there are two steps of the wizard that you must skip or your report will not work. Each time I create a new report, which I have avoided doing for some time, I must look up which steps to skip. According to M2MExpert, you must skip steps 2 (grouping) and 5 (sort order). There are simply too many steps and you have to remember to do things in certain steps or you cannot continue. “Don’t rename the Query.qpr file.” “Preview the layout to make sure data exists, and then save to your m2mdata\reports\template directory.” Why can’t it default to the correct directory? I can’t tell you how many times I forgot that. The reporting classes teach that you need to map out your report with all the tables and fields you intend to pull in beforehand as it is much more difficult to add them later. This is impossible because users are always asking for more to be added to custom reports.

    The VFP Report Wizard isn’t very polished either. For example, you can’t drag and drop field relationships as you can on nearly every other reporting program in the universe.


    Welcome to a 1990’s interface.

  2. VFP reporting is not WYSIWYG so you can’t develop in the presentation layer. In VFP, you must run the report (or print preview) to see changes and the printed report doesn’t always match what is on screen.

    VFP Layoutl

    VFP is edited in this view.

  3. This is particularly inconvenient when you are trying to perfect font settings and the position of objects on the report.

  4. Speaking of objects, don’t ever change grid line position. If you try moving grid lines on reports such as Purchase Orders, Sales Orders, Invoices, etc you’ll never get lines to join properly again. Good luck trying to make perfect corners. It’s incredibly frustrating.
  5. M2M VFP lacks graphing and charting options. Now, I’ve heard Made2Manage Techical Solutions people (customization coders) say many times over the years that there is nothing you can’t do with VFP if you’re an expert with it. As far as I know, you cannot quickly create graphs or charts with it, and people are visual.
  6. VFP does not offer “Page X of Y” abilities. You can print the page number on your reports, but you cannot indicate the total number of pages. With particularly long reports, this is a source of irritation for users.
  7. M2M offers sorting for a maximum of 3 fields. This can be a problem for complex reports where you are trying to get very granular with the data.
  8. Many existing reports are missing data environments. This makes it much more difficult to add fields and tables to existing reports. This has been an issue for as long as I can remember and it’s never been addressed. A couple of months ago a user needed me to quickly add a field to the Purchase Order Status Report (RPPSTA) to assist her with a project, and I replied that it would be done in a few minutes. Unfortunately, I had a surprise coming when I pulled up the data environment.

    VFP Layoutl

    RPPSTA’s missing data environment.

  9. I was still able to edit the VFP prg file and quickly finish the request anyway, but some of those prg files can be 20 pages or more of code. This is the case with the Sales Order Summaries Report (RPSOSM) which is also missing it’s data environment.

  10. Why can’t you copy and paste Additional Filters on M2M Reports? I’ve had complaints from users who need to share reports and therefore need to use the same filters. In fact, when you highlight a filter you’ve written and hit CTRL-C, it disappears and you must re-enter it.
  11. Can anyone tell me why the parameters reset whenever report selections are changed? For example, you’re using the Sales Order Summaries Report (RPSOSM) and you’ve set your start and end dates. After that, “Open Sales Orders” is selected instead of “All Sales Orders.” Immediately the date controls go blank and need to be set again. A relatively minor problem, but frustrating none the less.
  12. Made2Manage does not have the ability to prematurely stop reports. I think every person who uses M2M has made a mistake in requesting a ridiculously large report. I myself have accidentally started a report, usually omitting a start and end date, which would run for 30 minutes. I’ve seen sales order administrators accidentally print every quote in the system. M2M just churns out quote after quote and there’s no way to stop it without using CTRL-ALT-DELETE. There is a change request to which you can add your company if you’d like them to fix it. It’s been in “awaiting approval” status for over 4 years.
  13. Related to the last issue, large reports take a long time to view each page. For example, when viewing page 400, and the next page is selected, M2M literally has to render all 400 of those pages before it can display page 401. Other programs that I’ve used don’t have this drawback.
  14. My favorite red box error. ‘Nuff said.
  15. User permissions in Made2Manage are generally problematic (more on that in a later post) and that includes report permissions. Basically with every report you create, you must manually assign permissions for each user who accesses it. This isn’t a big deal if two people use it, but when managing hundreds of users across several M2M databases, this wastes a ton of time.
  16. Made2Manage reports aren’t always consistent in font and style, especially between the different modules.
  17. Wouldn’t it be nice if you could globally change fonts on your reports in a similar way that web pages are managed? When a properly designed website requires font or style changes, only a single file (or a few files) need to be changed and the entire website is uniformly changed. I don’t fault M2M for this omission as I’ve never used a reporting product which offered this, but I still think it would be enormously helpful. Do you have any vendors who use M2M? It’s immediately apparent because their reports look like yours. I’d just like to have more control over the look of M2M standard reports.

Alright, I’m done complaining. Do any of you have anything to add?

12 comments to I, for One, Welcome Our New .Net Overlords (Reporting)

  • Jason Griffith

    I don’t have anything else to add that comes to mind right now, but that’s probably due to my lack of experience with it.

    However, in the experience that I do have, I can agree with basically every single point you made there. Numbers 1, 6, 8, 10, & 11 are the most common and irritating of the bunch for me. Number 1 in particular. If you are going to set up a “wizard” to make using your software easier, you probably want it to actually work. If parts of it mess things up and you do not have an honest intention to fix it relatively soon, then you really need to get rid of the feature so that it is no longer an issue. If you ask me “Yes or No, would you like to screw up your report?”, then you can probably go ahead and select my response for me. It really should not be too hard to guess what my answer is going to be.

    David, does the new version that you’re testing right now still have the problem screens in their report wizard? For that matter, are any of these items addressed at all in the new version?

  • Scott

    I write new reports exclusively in Crystal or if they are really complicated Excel. VFP is simply to complicated and counter intuitive to use when there are other options. I am forced however to occasionally modify existing reports. This is often extremely tedious and frustrating but there currently is no other option.

    I don’t expect M2M to get rid of VFP reporting any time soon or even fix their more major issues. I have come to accept this and deal with it accordingly.

  • Ray Collazo

    Hey there! This is Ray: The VFP nutcase you were speaking with for several hours on the morning of 11-25-2008.

    Nice website: Alot to read through, so little time to read! Mind if I share this site with the LAM2MUsers google group? (If you havent already done so yourself, that is…)

    Quick and simple: M2M’s report writer is a kludge… however through ones kludge one can learn how to do things in a better way. The Report Writer is virtually useless to those whom learn the VFP way…

    M2M’s RPMake screen is the easiest way into the heart of the beast: It allows you to create an empty PRG file that you can then program with your own VFP code (This PRG MUST be located in \m2mdata\reports\prgs, and as we found out, MUST be of the 8.3 filename format). All that is really required of all Report Programs is the PARAMETERS statement at the beginning that you can copy from any of the other existing M2M reports (This statement, btw, is the user-inputted data that is passed to the report program from the report interface).

    VFP program syntax is extremely similar to that of VB syntax. There are some things that are different that a VB programmer would need to get used to, but isn’t that the same thing when you go between driving different vehicle models?

    Analogy: A Toyota and a Ford are both Cars, and the Main Controls (steering, Gas, Brake) are all the same, but the other controls are all slightly different from each other… the same is true between VFP and VB: They are both programming languages, the syntax is slightly different:
    In VB its
    in VFP its
    IF … (then, which is Optional) … ELSE … ENDIF

    With VB, you can only contain strings in ” ”
    With VFP, you have ” “, ‘ ‘, or [ ]. Which means you can easily create a string within a string without having to worry about accidentally closing off your string… and VFP is perfectly happy switching between the three.

    messagebox(“‘This is a string'” + ‘ “Within another string”‘ + [“‘(and another)'”])

    heres a site for you: VFP programmers watering hole.

    As a programmer, Remember: Its the Algorithim that counts: The logic between the programming languages is the same. The Syntax is different!

    The thing that really helps is the MSDN reference that came with VFP… install that, then install the service pack: This fixes it to where you can press F1 within VFP and get the interactive help file to run.

    Theres alot to learn about VFP thats quite fascinating… If you just want things to work, tear apart the code I presented to you in there are Tons of routines there I now cut and paste between my self-made M2M screens.

  • Thanks for the comment Ray. You certainly do more in VFP than I do, and I was amazed at all the code in that zip file.

    Without trying to be confrontational, was I incorrect in any of my assertions in the post?
    Can you easily graph with VFP/M2M?
    Have you run into problems when adding or moving grid lines?
    Have you ever tried other alternative like Crystal Reports or SQL Reporting Services?

    Oh, and feel free to mention it in your M2M online user group. I just joined it and didn’t want to mention it myself as it would look “spammy.”

  • Ray Collazo

    Hey there!
    I couldnt answer the Graphing question directly as I’ve never had the need to do it myself, but apparently it is possible. a quick search on referenced me to:

    For finer control of moving gridlines around, select the item and use the arrow keys to shift the object around pixel by pixel. It allows for finer control than just using the mouse alone.

    Quite honestly I’ve never had any need for using any other tool aside from VFP to pull out and format our data, especially with as tight of a budget as we have at my facility. Or Controller (my boss) is more than happy with the massaged data that I’m currently able to give him.

  • Andrew

    Just saw this from the front page. Were any of these problems fixed in 6?

  • […] of the specific report guidelines that I use in Crystal Reports and SSRS in a later article. As I mentioned previously, I wish M2M had a way to customize the style of all of their reports in one […]

  • I think i may have to spend many days to try this.Anyhow I must say thank you for the site.

  • […] The database is a Visual FoxPro/SQL hybrid and the supported reporting method is VFP which is an abomination before God. […]

  • […] or completely change every year. In my case, my skills were focused on obsolete technologies like Visual FoxPro Programming and Reporting, which was a dead […]

  • […] Stop Writing Visual FoxPro Reports… Today Last week I saw a discussion on the LinkedIn Made2Manage Group about the Pros and Cons of using SSRS vs. VFP Reporting, and it amazes me that people are still arguing about it. So, I thought I’d reaffirm a stance that I’ve had for many years, which is VFP Reporting Must Die. […]

Leave a Reply




You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>