Quality Reporting on a Budget

Approximately 4 years ago at a National User Conference, a Made2Manage customer gave a demonstration of Crystal Reports. It is my understanding that at the time, Made2Manage was in negotiations with Crystal to license it as a partner to provide a quality alternative to Visual FoxPro reporting. Well, that demo made an impression on me and I embarked on a quest to master Crystal Reports.

Crystal is a better reporting system than Made2Manage/VFP for a multitude of reasons:

  • Faster Development
  • Uses VB and SQL which are “current” languages
  • It is WYSIWYG so you can develop in the presentation layer. In VFP, you must run the report to see changes and the printed report doesn’t always match what’s on screen.
  • CR works with nearly any data source including nearly any modern database (both VFP and SQL), Office Documents, and text files.
  • Report files are easily shared
  • There are several helpful online communities
  • You can create queries using a builder or by pasting SQL in directly
  • Reports tend to run much faster than those inside M2M
  • Report scheduling actually works (unlike Command Scheduler)
  • More supported exporting formats
  • Amazing charting and graphics options
  • Drill down capability


You can’t do this with VFP reporting.

There are several different ways to implement Crystal Reports. They offer several different products which are targeted to small and mid-sized companies. The more robust packages start at around $7,000 for the server software and allow you to deliver the reports via web pages, interface with Active Directory for report security, and include a multitude of scheduling options. I have this type of set up with my current employer, and enjoy the access to data it provides.

However, there are a couple of reasons I am not recommending these options. First, such a complex and comprehensive product requires quality support. When I first started using Crystal years ago, they had the best support I had ever seen. The techs were very knowledegable and would take the time to actually teach you reporting techniques. Well, things have changed. Most of their phone support was outsourced over the years and while the technicians still know their product, you cannot understand most of what they say to you. Also, they are much more hurried and push you towards paid consulting for any reporting questions you may have. Since being acquired by SAP, the support has become even more difficult to use as you must create cases via their website, which is beyond counter-intuitive, and wait for a tech to call you back. Imagine “Web Support Spotlight” day at Made2Manage but with a website that almost seems purposely designed to keep you from successfully creating cases. Anyway, it’s hard for me to recommend their product to new companies when their support is so lacking.

Second, many of us are forced to do more with less in these tough economic times. Therefore, asking the decision maker of your company for over $7,000 (for only 5 concurrent users) right now may be a hard sell.

What do you recommend?

In my opinion, the best value is to use the current version of the Crystal Reports 2008 Studio and use 3rd party programs for desktop viewing. Compared to the other options, the cost is nominal and you still get most of the benefits of Crystal Reports.

How much does it cost?

You can buy the development studio for Crystal Reports 2008 for under $500. In fact, CDW has a special on it right now for $432.99.

As I said, I recommend 3rd party viewers for report distribution. A friend of mine in Indiana, uses Easy View successfully. However, as of now it only supports Crystal XI (the version prior to 2008).

Another option which actually supports 2008 is cView, and you can read a brief review of it and other viewers here. cView can be purchased here with a minimum quantity of 3 licenses for less than $50 each.

What are you folks using for your primary reporting tool?

Reporting Issues When Migrating to Version 5.6

I noticed a couple of reporting issues when migrating from 5.51 to 5.6 earlier this year and I wanted to share them with you.

Let me preface this by saying that I am extremely thorough during migration testing. In a future post, I will describe the method I use when I perform a migration. My worst fear is that the migration will be successful at first glance, only to fail at a later time. I don’t want my company entering data into the latest version of M2M only to find out Monday afternoon, or perhaps later that week, that we have to do an emergency restore due to unforeseen problems and have to re-enter all that data. This is entirely possible if you have extensive customizations.

So, during the last round of migration testing, I noticed some oddities of which you should be aware. The first is just a curiosity. The Sales Order Backlog Report (RPBKLG) showed different values between 5.51 and 5.6 data. The totals were the same, but the grouping (which for some reason was by customer name) was different. When I called an implementation consultant, who is a friend of mine, he indicated I was being too paranoid and they just check the totals during a migration. A change request was entered, but most likely will not be addressed.

Secondly, the Material Requirements Planning Report (RPMRP) stopped working in version 5.6. After migration the “DEP Demand” shows 0. Apparently, someone edited the program file of this report for the 5.6 version and did not do so properly. Well, I fixed it by substituting the version 5.6 .prg and .fxp files with those from version 5.2. This is all covered by Change Request 146266 if you’d like to read about it.

Have any of you noticed anything odd when migrating to the current version of Made2Manage?

SQL DBA Quiz – I’ll Play Your Game, You Rogue.

Today I was tagged by SQL Ninja Brent Ozar after he was tagged by Chris Shaw for this brief SQL DBA Quiz. His quiz requests that I name two mistakes I’ve made in my career. As someone who celebrates his mistakes, of course I will have to oblige. The title of my post, is a reference to the Saturday Night Live Celebrity Jeopardy skits where Darrell Hammond plays Sean Connery.

Celebrity Jeopardy

Well, the game is afoot. – Darrell Hammond

Mistake #1.

As I mentioned in an earlier post, I am a recent transplant to Dallas and one of my first assignments with my new company was a Sales Report. As a classic Type A overachiever, it would be a masterpiece. I completed the rough draft, and then spent an inordinate amount of time checking the details. I had created what I hoped would be approved as the standard way we would present reports in the future. Since I was using Crystal Reports rather than M2M’s VFP Reporting, I had a great deal of flexibility in how I presented the report and included several different smart-looking graphs for the executives to choose from. This was the type of report that a Business Intelligence Specialist includes in his portfolio. There’s only one problem which I didn’t discover until it was embarrassingly too late.

I had asked another employee to check the report for accuracy since I didn’t have the slightest idea whether my sales figures were reasonable for my new employer. I then submitted the report to my new superior, and she remarked that it did indeed look like professional work. “The only problem,” she said, “is that the sales figures are around twice as high as they should be.”

The reason for this was that M2M has a quirky way of tracking sales figures in its Sales Order Releases (SORELS) table, and if you don’t remove any Master Release records you end up with higher sales figures than you should. My previous employer never used Multi-Release so I had completely forgotten about that. Moral of the story, always check the accuracy of the reports yourself. For example, try to find an analogous report in M2M with which to compare your figures. For every time you are wrong, especially if you seem confident that you are right, they will question your figures the next 10 times.

Mistake 2:

I recently wrote to my live production database by accident. It’s so easy to do with M2M. I had recently refreshed my data on my test server with back ups from my live server. You are using a test server, right? I restored my Data01, Data02, and M2MSystem databases. I didn’t run createdbc because I had not copied my M2M directory over so I didn’t have to change my UTCOMP table.

This was a big mistake. Imagine me making random changes to my sales order and shipping tables, and checking the results of the triggers I had scripted onto them. I’d make a change, and the triggers (which were only on the databases on the test server) would not fire. I was baffled. Eventually, it dawned on me that even though I was on a test server, running M2M directly on that test server, had my M2M data drive mapped back to my test server, the live data tables were actually being modified on my live server. Luckily I hadn’t made too many changes and hadn’t done anything damaging like deleting sales orders and such.

Now, every time I restore data, I make a single change to a sales order and then check my live data to make sure I am not inadvertently making changes there. What mistakes have you made at work, and what have you learned from them?

You keep using that report… I do not think it means what you think it means.

The other day, a Made2Manage user who worked in production called me because he had a problem with one of his jobs, as it was not showing up on the Work In Process Report (RPWIP). The report description is as follows:

The Work In Process Report reflects the current value of charges that have been accumulated per Job Order, but that have not yet been moved to the Cost Of Goods Sold

After I examined the job, I realized why it didn’t show up. The keyword is value. The RPWIP does not list jobs with $0 value. When I tried to explain to the user why the job was not showing up, he swore that the report had been showing $0 value jobs for all of the years he had worked with it. I had to take a look at the actual program (prg file) to verify that I was right.

The Princess Bride is one of my favorite movies of all time, so I actually said in my best Inigo Montoya voice, “You keep using that report… I do not think it means what you think it means.” The user laughed, and I promised to create a new report for him that would show all jobs, when I could make time.

Inigo Montoya

You keep using that word. I do not think it means what you think it means. – Inigo Montoya

Another report that people misunderstand is the Sales Order Backlog Report (RPBKLG). The long and confusing description is as follows:

There are three distinct reports in this selection.
1) Order Backlog:
Order Backlog in Price and Units. The report shows units and dollars in time buckets of days, weeks, or months. The report always displays 12 buckets (columns).

2) Back Order
This report shows open sales order items which have a quantity shipped less than the quantity ordered. The date range available for selection is the Sales Order Release due date.

3) Backlog vs. Quotation Analysis:
This report gets the backlog by looking for open sales orders with items that have an order quantity greater than the shipped quantity. It then reviews open quotes and gets similar information.

1) The purpose of this report is to let you know how many items and dollars are booked for each of the next 12 days, or weeks, or months.

2) The purpose of this report is to show which items have not been completely shipped on open orders.

3) The purpose of this report is to assist in analysis of sales trends.


This is the mental picture I get when I imagine who wrote and documented the standard M2M Reports. Wally the Engineer – Dilbert Comics.

When I asked M2M Support to define the difference between Backlog and Back Order, they simply e-mailed me the exact quote I asked them about. So, it’s no wonder that people don’t understand this report. The most common misperception is that this report represents all available items to be invoiced. This is not true, it only takes into account the items that are shippable. I know of at least one company who continued to use RPBKLG as an “non-invoiced report” even after I pointed out that it wasn’t accurate, simply because they had no other alternative. M2M does not offer a report that returns the dollar value of goods on sales orders that have not been shipped or invoiced. I’ve written a SQL statement which accurately returns this value, and I will share it in a later post, as well as an explanation as to why it works.

So I ask my readers, have you misinterpreted the results of a Made2Manage report and if so, which report?

Some are born geeks, some achieve geekiness, and some have geekiness thrust upon them….

I like to think of myself as an alpha geek. Geekiness is something to be respected, enjoyed, and promoted. Let me share some of my “geek cred” with you.

For example I….

  • Learned BASIC on a Radio Shack TRS80 Model 3 and I still have 5.25″ floppies which contain my early programming efforts.
  • Have seen Star Wars more times than I can count
  • Played the arcade game Asteroids for more than 2 days on one quarter
  • Own a complete in box 1972 Odyssey, the first home video game system.
  • Before I left Michigan, I owned nearly every video game console sold in the US.
  • Have more than 600 Nintendo NES games all complete in box.
  • Have an original Super Mario statue that is nearly 4 foot high. He used to be part of a Nintendo store display from the 80’s.
  • Have a large collection of DragonLance Novels

With such impressive geek fu, it’s not often that another geek humbles me. Well, several months ago while working through some SQL Server performance issues, I came across the blog of Brent Ozar. I read an excellent article he authored with instructions for using Perfmon, and he’s been a great source of information and direction for me since. He’s a SQL Server geek of the highest order.

Anyway, he posted a picture of his Jeep to his blog some time ago, and I was immediately humbled in the presence of a supreme geek.

SQL Plate

Yes, that is his real license plate.

So, if you are as interested in SQL Server as I am, and believe me everyone using the SQL versions of Made2Manage should be, give his blog a read at

Dark Helmet’s Approach to Project Management.

Spaceballs, the classic film co-written, directed by, and starring Mel Brooks, is one of my favorite of all time. It has a star-studded cast, makes fun of a film genre that is near and dear to my heart, and has so many memorable moments and soundbites. Anyway, I watched it again the other night, for at least the 10th time, and a scene with Dark Helmet compelled me to write this post.


Spaceballs Speeder

Dark Helmet: Let’s get moving.
Col. Sandurz: Yes, Sir. Driver, prepare to move out.
Dark Helmet: What are you preparing?! You’re always preparing! Just go!
Col. Sandurz: Just go. Sir, shouldn’t you sit down?

Of course, this is a Mel Brooks comedy so the speeder pulls out and Dark Helmet gets thrown back in his seat. What does Spaceballs have to do with creating M2M customizations?

Well, my point is this. There is a natural tendency when working on a project to spend too much time in the planning (or preparing) phase. Why do I say that? Well, I believe that software development in general, and M2M programming in particular, is a Wicked Problem. This means that a problem can only be clearly defined by at least partially solving it. When Jeff Atwood describes this, he is referring to large software projects, not M2M Customizations which many would consider simple by comparison.

However, the concept is even more applicable in VBA and FF programming. As I’ve mentioned in prior posts, I have been customizing Made2Manage for a long time, and even now I still don’t know exactly how I will achieve certain projects I am tasked with. I can almost hear the reader saying, “Well David, maybe you don’t know what you’re doing.” Perhaps you’re right, but none of us know what we’re doing in regards to VBA/FF. When I attended Consona Connect 2008, the conference included two VBA/FF sessions with Susan Edwards, Customizations Team Leader for M2M. She admitted that you often must try several different approaches when performing customizations because the implementation of VBA on different screens can be inconsistent. Now, if someone who has access to the developers and works on this stuff 40 hours a week has the same problems, what chance do the rest of us have to get it right the first time.

Now, I don’t recommend that you just start throwing code into the VBA editor and hoping for the best. What I recommend for M2M Customizations is to suggest options for the user and management as to how you think you can address their problems. Be sure to emphasize flexibility in the approach so compensate for the Made2Manage inconsistencies.



My approach is quite similar to the projects you see on MythBusters. For example, in the “Penny Drop” episode (which you can see here) they are tasked to prove or disprove the urban legend that a penny dropped from the top of The Empire State Building could potentially kill someone on the ground. In that episode Jamie has to find a way to fire a penny at 65mph. He describes his process:

I decided to use the staple gun because you know when we’re experimenting with things here in the shop a lot of times I don’t like to go through a whole elaborate process and days of machining something only to find that it was the wrong approach or didn’t have the right speed. I like to kind of find something that will allow me to move into it quickly. – Jamie Hyneman

His reasoning is similar to mine. Why invest a great deal of time in a particular method for your problem when the first one probably won’t be suitable anyway?

Resorting M2M List Boxes

Recently I came across the following problem: A company I assist had over 100 different shipping options in Made2Manage. You might question why a company would have that many shipping options, but when you consider there are many different options for a single carrier, they add up. For example here are a few of the options for UPS:

  • UPS Express Critical
  • UPS Next Day Air Early A.M.
  • UPS Next Day Air
  • UPS Next Day Air Saver
  • UPS 2nd Day Air A.M.
  • UPS 2nd Day Air
  • UPS 3 Day Select
  • UPS Ground

The list box is from the Sales Order (SO) Screen. The problem is that when you have over 100 shipping options and they are put in by your sales or customer service people as they are required, they aren’t in any specific order. It becomes an annoying hunt through the list every time you want to enter a new order. It’s interesting to note that the shipping options aren’t in order on a brand new install by default.

Default List Box

Original List

Luckily, M2M has a screen to manage this and you can spawn it by right-clicking on the list box while in edit mode. You then get the following window:

Default Edit Screen

List Box Edit Screen

I highlighted the area where you change the display order. A new order number must be entered for each item you wish to shift in the list. If you have more than a few items, this becomes tedious and wastes a great deal of time. Furthermore, when someone enters a new address after a re-assignment marathon, a new order number must be entered for each item requiring another shift. I should mention however, that if there are several list items with the same Display Order Number, they will be grouped so every item need not be changed.

I was asked to re-assign all of the shipping options alphabetically. Being a member of the genus species homo logicus, I knew I could code a better way to do this. So, I created the following code to automate the process. Before I go any further, let me issue my standard disclaimer.

Important: All information on this site is provided “as is” for informational purposes only.
In particular, all code samples are provided “as is” without warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability and/or fitness for a particular purpose.

If you should decide to use any of the code from this site, make sure you test it thoroughly on a test company (or better yet a test server) before you ever use it on your live data.

           FROM   SYS.OBJECTS
           WHERE  OBJECT_ID = OBJECT_ID(N'[dbo].[cspopupTEMP]')
                  AND TYPE IN (N'U'))

                    FROM   [M2MDATA12].[DBO].CSPOPUP
                    WHERE  FCPOPTEXT < C.FCPOPTEXT
                           AND [FCPOPKEY] = 'SHIPVIA')

--drop table m2mdata12.dbo.cspopupTEMP

The first 8 lines are a simple backup for the table before I begin. The next several lines consist of a relatively simple SQL Update statement which derives its value from a nested sub-query. SQL coding isn't like "normal" coding in that when done right, everything is executed in sets. A set is a group of data, and it must be acted upon as 1 unit. 'C' is simply an alias I chose for [M2MDATA12].[DBO].CSPOPUP in the main query. It shortens the query, makes it easier to read, and differentiates the fields in the nested query from the main query. Note my first WHERE statement where I compare FCPOPTEXT (the actual text that shows in the list box) from the nested query to the main query to determine the order number. I am setting the FNORDER equal to the count of items in the list that are alphabetically before the current item in the list. As it goes through my set, it then changes the FNORDER to match the order that item is in alphabetically in the set. The last line of code is commented out as it drops your temporary backup table. After you are confident that the script worked, you can run that line separately.

This code can be adapted to change most of the list boxes on the SO screen. Here are the results of my testing:

Re-sorted List Box

Re-sorted List

Feel free to ask questions, or suggest other issues to tackle with SQL, in the comments.

Free Visual FoxPro Videos

I appreciate free learning opportunities and will periodically share them with readers of this blog, both of you *grin*.

Some time ago I came across the site of Garfield Hudson. Of particular interest to me were his free VFP videos.

The videos are well done, and are worth viewing even for those who work with the SQL versions of Made2Manage. At least for the time being, Made2Manage reports are still created using Visual FoxPro. They are particularly helpful for those who started using VFP 6.0 and are now using 9.0 in that he gives a very good tour of the “new” IDE and such.

Vegas Confessions with Many Pictures (Safe for Work)

Although nothing happened like the last time I went to Vegas, I still managed to get myself in few weird situations.

I stayed in Vegas until Sunday evening but during the conference I was too tired to do much else besides have dinner with co-workers afterward. However, I started venturing out Friday and enjoying the sites of Vegas.

Bellagio Fountains

I love the Bellagio Fountains

Since the fountains aren’t far from the MGM, I didn’t run into too much craziness. I did run into a drunk guy in the MGM Saturday morning as I was heading out to go on an air and ground tour of The Grand Canyon. He was staggering back and forth towards the elevators as I was leaving them. For some reason, I attract drunk people. I think it’s because I don’t drink, and they feel that I’m not having a good enough time without it. Anyway, he confronted me, shook my hand, and offered me some of his Gardetto snacks which he was carrying in a fairly large bag. He had these things crushed all over his face along with saliva and god knows what else. His speech was very slurred and hard to understand.

Me: Do I know you?
Dude: Naw, want some chips???
Me: No, thank you. ::I try to walk away::
Dude: What? You too good to eat my chips???
Me: No, I don’t like them.
Dude: F’ You!
Me: Dude, I’m diabetic. Leave me the F’ alone (this was a lie by the way)
Dude: That sucks man.

I managed to get away from him as I don’t want to miss my tour of the Grand Canyon via small plane and bus. The plane trip alone was worth the price of admission, as the views were amazing. Unfortunately, my small camera didn’t deal well with the long distance shots very well.


The tour includes access to the Grand Canyon Skywalk.


Let me tell you about that Skywalk. It’s an amazing attraction owned and operated by the Hualapai Indian tribe. As you can see, it’s a half circle that protrudes more than 50 feet from the edge of the canyon. It’s an exhilarating experience for everyone who walks it, except me. Many who know me know that I’ve always had a terrible fear of heights. Why did I decide to walk out over 4000 feet above ground on a glass Skywalk? Well, if you read about my last Vegas Adventure, you know that I don’t always make the best decisions. So, I get ready to walk this thing. They inform us that we have to lock our cameras, cellphones, and Ipods in keyed boxes before entering the Skywalk. So, I ask this Native American Lady why I have to give her my items, and she explains that they don’t want one of us to drop our camera and break this supposedly unbreakable Skywalk. I asked if she wanted my car keys, which are heavier than my camera, and she replied no. I then asked her if I could keep my ball pean hammer when I went out, and she looked at me like I was crazy but answered, “yes, that’s not a prohibited item.” I’m sure they had safety in mind and not the $100 they were charging people for personalized Skywalk photos after their walk. Everything is a scam. They even make you walk through an electronics detection machine to make doubly sure you don’t try to hide your terribly dangerous imaging devices.

Anyway, this thing is terrifying. One of the camera operators told me that earlier that day an older woman completely lost it on the Skywalk. She started sobbing, fell to her hands and knees with her eyes closed, and refused to move. They had to physically remove her from the Skywalk. In comparison, I didn’t do that bad. I didn’t walk the Skywalk so much as shuffle it. I had both hands on the outside railing and slowly, very slowly, shuffled sideways along it. As people can probably tell, I’m not shy, nor will I walk along pretending everything’s fine when it’s not. So, I’m slowly moving along and people are teasing me for being afraid. It can hold 70 tons, blah blah. Here’s the funny part. They criticized me because I’m a chubby guy that’s afraid of breaking the glass due to my weight, but not one of them would pass me. They’re pretending not to be afraid, but nobody wants to stand on the same piece of glass as the fat guy. Such hypocrisy.

I slowly shuffle along to the other side and enjoy an incredible view while fighting abject terror. The camera guys repeatedly reassure me that it’s indestructible. However, as I get near the end I see that one of the glass plates has been replaced by stainless steel version. Of course I ask about this and they tell me that one of the pieces broke and needs to be replaced. Yeah… indestructible…

Near the Skywalk you can take pictures of the canyon and there are no guardrails. This was scary as well. You also get a great view of Eagle Point which is sacred to the Hualapais.

Eagle Point

See the eagle?

After the Skywalk tour, we were bussed to another beautiful area to have lunch with the Hualapais. I thought this was supposed to be reasonably authentic American Indian food. Apparently the Native Hualapais, who survived for centuries in The Grand Canyon, ate lots of wild growing Macaroni and Cheese. ::snicker:: Actually, the food wasn’t bad, though generic, and it was all you could eat so I couldn’t complain much.

I ran into a fellow admin from the conference and hung out with her and her hubby there. I should mention that they were both in shape (he is a SWAT team member) and I was hard pressed to keep up with them. Remember the post where I said I wouldn’t be mountain climbing again? Well, I lied.


See those tiny, multi-colored specks at the top, those are people. I climbed up that with the married couple gasping for breath most of the time. It was worth it, as the views were amazing.





Remember that most of these pictures feature me standing right on the edge. I cannot describe how unnerving this was. I kept imagining that a quick draft would cause me to fall to my death.


Me pretending to fall.

After saying goodbye to my mountaineering friends I flew back to Vegas. I intended to go back to the Bellagio Fountains, but I grabbed the wrong bus and went to the Fremont Street Experience instead. I rode The Deuce, which is a system of double decker buses that traverse the strip, and you can ride all day for $5. Remember when I said I attracted drunk people? Well, try to imagine this situation. The bus was completely full with people standing everywhere inside it. I’m surrounded by party folk and have to repeatedly apologize to the women around me for accidentally bumping into them every time the bus jerked back and forth. Somewhere between my hotel and Fremont Street, this huge guy gets on the bus. Picture a 6’5″ tall Donald Gibb, assuming he had been living in a dumpster drunk for a year.


Ogre – Nerds!!!

This guy could barely stand and was holding on with both hands. He keeps yelling out things that have nothing to do with reality. He tries to hit on one of the ladies near me, who is in her late 30’s, conservatively dressed, and obviously someone’s mom. I swear this is the truth, but swaying on his feet and slurring his speech, he told her, “I got dressed up today…… trimmed my nose hair and everything…. ::burps:: but I cut the inside of my nose…. and it bled like a %#@%@. You gotta boyfriend honey???”

He turns away to yell at the driver, and the mom begs me to switch places with her so she can stay away from this guy. I reluctantly agree. He’s mumbling about more stuff, and I am trying to ignore him. He starts humming a weird and broken tune really loudly. I know I’ve heard it but cannot place it because he is humming it so badly. Slowly, I get it. He’s humming the old Muppet Show theme.

It’s time to play the music
It’s time to light the lights
t’s time to meet the Muppets on the Muppet Show tonight.

Just as I realize what he’s singing he gets in my face, yelling a question at me. He has to repeat it 3 times, but I realize what he is asking is “Dude, what is your favorite Muppet band member?” I try to ignore him but he won’t let it go and he’s getting increasingly more animated about it. He tells me that his favorite is the dude with the saxophone and absolutely needs to know mine. Finally, desperate to get this guy to leave me alone I yell “Animal rocked dude!”

He looks at me like I had just explained the Theory of Relativity and promptly vomits at my feet. I told you drunks loved me. The bus driver throws most of the people off the bus to clean up the vomit and I had to walk the rest of the way to Fremont Street. My feet hurt so badly by the time I went home.

Anyway, I watched the Don McLean American Pie show as well as A Tribute to Queen. It was as amazing as the last time I saw the experience I also enjoyed the live musical acts playing on the street, and I blew money on souvenirs for my fellow computer geeks at work and my girlfriend. The return ride on the Deuce was blissfully uneventful.

My last “story” to share was near the end of my trip. All of the tours I took were filled with foreigners. On my air tour, I was the only American. So, I got on the hotel elevator with a bunch of folks from Europe and a couple who looked American. I heard the man say something to the woman, and it sounded like a Chicago accent. The Europeans got off the elevator and I continued to ride up with the couple. I turned and asked the man, “Have you noticed how many foreigners there are here? At times I’ve felt like the only American visiting Vegas. Any idea why we’re so outnumbered here?”

He looks at his wife, then at me and says, “Sir, I have no idea. We’re from Canada.”

Vegas Reflections – Consona Connect 2008


Viva Las Vegas

SQL Administration

Don Rudo was once again on his game and enthusiastically talking about raid arrays, transaction logs, and BACKUPS BACKUPS BACKUPS!!! I had to pop in and out of his sessions to attend the others, but what I saw was very informative. There were a couple of interesting things I’d like to point out. Don himself mentioned the importance of having a test server. Also, while he did admit that Made2Manage’s use of the SA login wasn’t required, the vast majority of customers use it.

VBA and FastForms

Susan Edwards, Customizations Team Leader for Made2Manage, gave an excellent presentation on VBA and FastForms. One of the reasons I enjoyed it so much is that she fully admitted the limitations in doing this work and how it is far from an exact science. She also provided useful code that customers can edit to perform any number of different customizations. I took full advantage of her time and asked many questions about issues I’ve had creating customizations. The regular educators, do not write code for a living so they are much less likely to have an answer for any questions beyond the most basic level. For this reason, I urge Consona to use her or another consultant to teach classes at the next User Conference. For that matter, I’d like to see them offer advanced VBA/FF classes periodically which should be taught by consultants as well.

Shop Floor Data Collection and Manager

I attended the Shop Floor Data Collection Product Overview Session, however the Shop Floor Data Collection Roundtable never occurred. Instead a session was held by a John Long from W.S. Darley and Co., a Made2Manage customer, who showed us how he modifies report layouts to make them work for various business procedures. It was certainly interesting, but didn’t really apply to me.

For those who are using Shop Floor Data Collection, there are improvements coming with version 6.0. The product will run as a service rather than a program you need to open, an improved user interface, and several new tracking options and fields.

Product Roadmap for M2M and the .NET Future

This session was led by Frank O’Nell, Made2Manage Product Manager. He was clearly enthusiastic about 6.0 and seems very proud of the direction M2M is taking. Made2Manage has off-shored its development to India and he felt the product was better for it. He indicated that the Feature Teams have had a positive impact on the product as well.

There will be significant enhancements to Field Service, CRM, Shop Floor Data Collection and Manager, and others as well. Also, several of the screens have changed or been phased out.
Customer Inquiry (SYCSL) and Customer Screen (CUST) were specifically mentioned.

These changes will likely cause problems for your VBA/FastForms customizations. Of particular concern is Made2Manage’s addition of tabs to certain screens and their inconsistency of implementation. For example, they added an additional tab to the Sales Order (SO) screen and placed it to the left of the User Defined tab. User Defined is still page 4 (the path that the form is addressed at) and the extra tab to the left is named page 5. If you’ve created an additional tab already (and it’s named Page 5) what happens when you try to migrate? Even more of a concern is that on the CUST screen a tab is added, but the User Defined tab is being re-named to page 4 and the additional tab to the left will be page 3. There’s no excuse for the inconsistencies. Upon my first day back, I asked to be added to the beta testing group so I can evaluate these issues and plan accordingly. There’s no guarantee that my site will be accepted into the beta program.

Version 7.0 is supposed to be the .NET product that we’ve all been promised for several years. Mr. O’Nell explained that there were two ways to deal with the jump to .NET. Made2Manage could simply translate the current version (6.0) into the new technology platform or re-write it from scratch. Made2Manage elected the former path as they felt that re-writing the product would take too long and be cost prohibitive. He also indicated that Made2Manage wasn’t really going to translate the product, but rather they were going to write programs that would transform the code for them. Also, he claimed that all of the VFP reports written prior to 7.0 would continue to operate as normal as they had some kind of “trick” implemented. Trick was the word he used. Perhaps even more surprising, is their claim that you will be able run the old VFP M2M version along side the new .NET version on the same network because they will use the same SQL database. This would allow you to upgrade your computers one at a time, rather than all at once. The plan for 8.0 is that it would be .NET only and presumably they would stop improving all other versions.

What are my opinions of the upcoming versions? First, I am both enthusiastic and concerned at the same time about the 6.0 product. I’m anxious to drop VFP and move to a fresh, new environment. However sweeping changes, though necessary, will require myself and others to refactor our VBA and FastForms customizations. In addition to that, some user training will be required with this new version. In the past, users could use the system as they had before and only delve into the upgrades when they were ready. In this version, it seems to me that there have been substantial changes rather than simple additions, so the training will be necessary.

Second, as I mentioned above, I am disappointed that M2M still isn’t consistently implementing their changes. It seems to me that during the initial planning of 6.0, when additional tabs were being planned for various screens, that someone would suggest a consistent way of naming them. Also, I asked 3 separate Consona presenters what would happen to the tabs I added to those screens with FastForms and none had an answer. Since this product is set for GA release in a little more than 2 months, this concerns me.

Third, Made2Manage will still need to be manually re-installed on every single desktop for Version 6.0. This can be particularly tedious when it follows the actual data migration, typically late into the evening on a Saturday. It’s 2008, can’t Made2Manage be pushed from the network by now? Also, M2M will still ask you my favorite install question.

Fourth, I’m not sure why anyone would really want to run both 7.0 versions on one network if everything works as seamlessly as they claim.

Finally, when I asked a few questions about upcoming versions, specifically regarding the VFP reporting “trick,” Mr. O’Nell said that he couldn’t explain how it would be done but said, “trust me.” I responded in kind that if our language was logical, trust should be a four letter word. The “trick” sounds suspiciously like the wrapper code for VFP that was implemented in the SQL upgrade. That was supposed to “work” as well, and it sort of did. Old reports ran, but many of them took ridiculous amounts of time to do so. Furthermore, if they are not being consistent in functionality in version 6.0, how can I trust that they will be able to write a program which will in turn, write the next version of M2M? I seem to remember Microsoft trying to pull this off with a translation program which would port your code from Visual Basic 6.0 to Visual Basic .NET and it was riddled with problems. I find it hard to believe that M2M will fare considerably better than Microsoft in this regard.

After what I heard, I cautiously look forward to the future but I don’t intend to migrate quickly. I’ll let others work the bugs out and I will be testing any new versions thoroughly before implementing them.

I’d like my readers, both of them, to feel free to share things that I failed to mention in the comments.

In my next post, I’ll share with you some of the interesting and funny things I saw and did in Vegas.