Monthly Archives: February 2015

Tip #251 – Making Sure No Errors Have Occurred

Tip #251
Making Sure No Errors Have Occurred

Being a database application, flowerSoft has to deal with keeping a lot of indexes up to date. These indexes allow you to access information quickly when you need to look for and order or customers.
Indexes change constantly, especially during busy periods like Valentine’s week, so it is important to make sure an order has been successfully save to your system’s hard drive.
Although infrequent, index errors are the most common kind although system memory errors and missing file errors are also possible.

Normally, when a filePro or system error occurs, a blue screen comes up stating the reason for the error.
You should always write this down (don’t try to print it even if it says H for Hardcopy) and send it to me in an email or call me and tell me about it.
I said normally because sometimes, with certain memory errors or if you are typing ahead of the screen display, the error will just flash through the screen and you will not see it or if you do see it flash you will not have time for write it down.

However, 99% of the time the invoice will print even if you get an error. This is due to the fact that the first thing flowerSoft does once you say you have no corrections is to bring up the print screen and let you print the order.
This takes place before flowerSoft tries to do any posting and any indexes are updated.

After you finish with the printing process, flowerSoft starts the posting process and if an error is going to occur, it will occur at this point.

Although it is normal to think that if you see the printer spit out the invoice that everything must be OK, it is not necessarily so. Most errors normally occur after the invoice prints.

One way to tell that an error has not occurred is if you end up back in the New Orders menu screen.
ON ACCOUNT orders will display the following screen while posting…

and this screen after posting…

ON ACCOUNT orders are, of course, the most important ones because if they have not posted the customer will not be charged for the purchase.
Train yourself and your staff to always look for that green screen reading “Transaction Posted” when entering ON ACCOUNT orders.

I realize this is something you might forget to do once in a while, so I’ve added another way to make sure the order has saved to your hard drive.

After finishing the order, if everything worked as it should have, you were returned to the “New Orders” menu screen…

and you could see the invoice number and the amount of the order you had just entered at the bottom of the screen.

However, no one is looking at that piece of information normally and much less during hectic times.
So, to make things easier I’ve added coding that will make sure that the last invoice you entered has been successfully stored in the hard drive.
From now own, when you are returned to the “New Orders” menu, you will see this…

The “OK” indicates that flowerSoft looked for the last invoice you entered and found it to be in your hard drive.

If flowerSoft does not find the order in your hard drive, it will display the following message…

So that won’t be so easy to miss.

Please note that this works as long as you do not exit the “New Orders” menu screen.
Once you exit the “New Orders” menu screen, flowerSoft will no longer know the invoice number of the last order you last entered.
In those cases, the “New Orders” menu screen will display like this…

The “OK” will not be there.
Why? Because since flowerSoft did not have the number of the last invoice you entered, it just looked for the highest invoice number it could find in the hard drive.
This may or may not be the invoice number for the last order you entered.
So make sure you always look for the “OK”.

flowerSoft offers you many ways to verify that all the orders you’ve entered were saved to the hard drive.
Most of them can be found in the Manager’s menu under the Troubleshooting option.
However, to make it easier to find and use, I’ve added one option to the “End of Day” reports (which can be run by anyone) that will check all the orders entered for today’s date and make sure they exist in your hard drive.

This new option will run through all the orders entered today and look for them in the hard drive.

If any of the orders are not found…

Like I said before, this new option can be run by anyone but only a supervisor should act on the report.
In other words, only a supervisor should make the decision on whether an order should be rescued or not. Remember that flowerSoft cannot tell if you have re-entered the same order under a different invoice number.

The “rescue” file starts keeping a copy of an order as soon as it reaches the recipient information screen.
It keeps saving a copy of the order as you go through the order.
However, if you exit the order in a manner other than what is expected by flowerSoft (hitting the Esc key), the copy of the order will remain in the “rescue” file.
If you then re-enter the order, the system may give it a different number but there will still be a copy in the “rescue” file with the original number given to the order.
The original invoice number will then show up as a missing invoice but in fact it was re-entered under a new invoice number.

I would suggest that you have your employees run the report but limit the rescuing of the order to a supervisor and to never do it without researching if the order was entered under a different invoice number.

In closing, there are only 2 ways I know of that an order will not end up in your hard drive.
This first one and most common is if you get some type of filePro or system error during the posting process and the second one is if the user clicks on the Windows “x”

Other than those 2 ways, your orders should always end up in your hard drive.
It is also possible that you cannot find an order because the index you are using for the search is corrupt.
This happens but it happens very seldom and there are ways to re-build the indexes from the Manager’s menu.
The order is still in your hard drive but because of the index you are using is corrupt, you cannot find it.
When you try to rescue the order, flowerSoft will most likely tell you that the order exists in the hard drive and cannot be rescued.
In those cases, the index is corrupt or you searched incorrectly, meaning you entered the wrong invoice number or name or other piece of data.  Always make sure that your search data is correct.

I hope this makes you understand how and why orders may not always end up in your hard drive and why flowerSoft keeps a “rescue” file just in case something bad happens.

Speaking of indexes, some of you have asked if indexes should be rebuild periodically.  The answer to that question is that although is not necessary, it will not hurt either.  However, rebuilding the indexes should only be done when no one is using flowerSoft or they might get an error while entering an order or payment if the indexes being used for those operations are in the process of being rebuilt.

Indexes are really just files (data structures) that improve the speed of the data retrieval process operation. keep your data sorted a certain way.  In flowerSoft 99% of the indexes used are automatic indexes.   This means that every time you add or take away data from the database, if there is one or more indexes build on that data, they need to be re-built on the spot, otherwise you would not be able to access the most current data.
There are many, many indexes in flowerSoft.  1,831 at last count.
Depending on the amount of data you have and on the speed of your computer system it can take a considerable amount of time to rebuild all those indexes.  So if you choose to do this, make sure you do it when the store is slow or at the end of the day.

I certainly hope all of you are backing up your data every day, but I still see that many of you who do not exit out of flowerSoft at the end of each day.  If you are doing automatic backups through a service such as Gillware, Carbonite or if you are doing your own backups, not exiting out of flowerSoft means that some of the most important files may never get backed up because they may be in a locked status by the workstation who did not exit to the desktop.

Always exit all the way out of flowerSoft at the end of each day, and when I say all the way I mean all the way out to the desktop.

Tip #250 – Default Enclosure Card Sentiment

Tip #250
Default Enclosure Card Sentiment

In an effort to speed up your order entry process this Valentine Week, I’ve added a new feature to flowerSoft.
This new feature allows you to define a “default” enclosure card sentiment.
This “default” enclosure card sentiment
can be accessed from the Defaults menu and can be changed to a different one at any time.

What this new feature does is it allows you to enter the default enclosure card sentiment code by just entering a period (.) in the card sentiment field, like this…

So by just entering a period in the card sentiment field, the one in white, you can have flowerSoft supply the default sentiment you have assigned for this holiday and the corresponding occasion.

Remember that you can use this feature during any othe holiday too, or every day if you so wish.

If you need this feature right now, let me know. It is a pretty safe upgrade. In other words, it will not break anything else.

Bug Discovered 25 Years Later!

Bug Discovered 25 Years Later!

It never ceases to amaze me.
No matter how long and hard I try to figure out what users will do, there is always someone who will do something that will bring a bug to the surface.

This bug was found by Frankie and Brandi of Bussey’s Florist in beautiful Cedartown, Georgia.  Well, I think Frankie’s actions resulted in the bug surfacing but it may have been Brandi that discovered it.

It turns out that Frankie edited an existing ON ACCOUNT order by changing the “Sold To” account (perfectly legal) but also changing the delivery date of the order.
Both actions are perfectly legal, so Frankie did not do anything illegal.

The problem or I should say the bug in flowerSoft was that when searching for the original transaction, flowerSoft was using the previous account number but the current delivery date.
So the original transaction was not found because it had a different delivery date and flowerSoft could not delete it or change it.

This resulted in the old account still showing a charge for a transaction that it was no longer theirs.

I have fixed the problem by making sure flowerSoft uses the original delivery date when looking for the transaction but for now, until after Valentine’s week is over and I can update your systems, if you ever need to change both the account number and delivery date of an order, do not do it at the same time.

How someone did not manage to change both these fields at one time during the past 25 years is amazing.

So now flowerSoft is truly bug free. 😉

After further scrutiny this might not have been a bug at all, at least not the one I thought I had found.  I have performed additional tests and changing the account number and the delivery date at the same does not cause a problem at all because flowerSoft is looking for the transaction using the invoice number first and then if it cannot find the transaction it uses the account number and delivery date.  So what ever caused this transaction to show up under 2 different accounts is still a bug.

I guess flowerSoft is still not bug free. 😦

Tip #249 – Avoiding a System Lockup

Tip #249
Avoiding a System Lockup

With Valentine’s Day week quickly approaching, you and your staff will be very busy in the next few days.

Most of the very few calls I get during this time is from someone whose system has locked up.

System lockups are caused by locked files.  When flowerSoft writes data to an existing record in the database, it must lock that record to prevent another user from accessing the same record and destroying the integrity of the database.  As soon as this data is written, flowerSoft releases the lock on the record allowing other users to access the same record.

The record that gets locked most often is the control record.  Why?  Because this is the record that holds most of the settings and information used by flowerSoft.  For example, one of the fields in this record holds the next invoice number to be used.  So every time flowerSoft must assign an invoice number to a new order, it has to access this file and retrieve the next invoice number to be used.

In order to perform this action, flowerSoft must lock the record so that no other computer in the network will access the same record and retrieve the same next invoice number to be used as this would result in duplicate invoice numbers.

After flowerSoft retries the next invoice number to be used, it adds one to that field and then unlocks the record so that the next station needing an invoice number will retrieve the correct “next invoice number” from the record.

This is just a simple example of what record locking constitutes to give you an idea of what goes on behind the scenes.

Control record lockups are unusual because normally flowerSoft locks the record, retrieves information, writes new data and unlocks the record in a fraction of a second and there is a very small chance of another station trying to access the control record at the same exact time.

However, during extremely busy periods like Valentine’s Day week, this may become a more common occurrence.  If this occurs, flowerSoft will display at the bottom of the screen “Waiting for Control Record Number 1 to be Unlocked”.

This message should last for a very small period of time.  A couple of seconds at most.  If it lasts longer than that, someone has somehow managed to keep that record locked, preventing other users from accessing it.  This, of course, locks up the system for every one.

So how do we release the lock on the record?  By going to the offending workstation and removing the message that is on the screen.

The only way to find out which one is the offending station is by going to each one and seeing if they have an unusual message on the screen.  One you find it, either hit enter to remove the message or if the message will not go away, re-boot that computer and log back in.  Just re-booting the computer will not solve the problem, you must log the user back into the system so that the record lock is released.

Sometimes, you will not be able to find the offending workstation because the user either  shut the monitor or computer down.  If all the stations are still locked up and you cannot find the station that is causing the lockup, you must re-boot the server.

Re-booting the server will remove all the record locks, so you should be OK after it comes back up.

The best advice I can give you is to instruct your users not to leave any messages on the screen for an extended period of time.  Read the message, write it down if necessary and then hit the enter key to remove it from the screen.  This normally releases any locks the station had on other records.

So let’s keep this in mind and have a Valentine’s Day week without too much stress, especially the stress you get when your system locks up and no one can use it.

A happy and prosperous Valentine’s Day week to all of you.

Tip #248 – How to Find Pay on Pick-Up Orders Quickly

Tip #248
How to Find Pay on Pick-Up Orders Quickly

With Valentine’s Day madness just around the corner, you may find this tip useful.
It came about from a suggestion by Brandi of Bussey’s Florist in beautiful Cedartown, Georgia.

Brandi expressed her concerns about the Valentine’s Day mad rush into the store by customers looking to pick up orders they had placed.
She suggested that flowerSoft needed a better way to find pay on pick-up orders when the customer does not know or have the invoice number of the order.
She is right. Having to search for an order when your store is packed with customers is not a thing you want to be doing.

So here is what I came up with…

From the New Orders menu, you can now hit the plus (+) key to bring up all the orders with a Pay on Pick-Up method of payment.

When you hit the plus (+) key from the Enter Selection field, flowerSoft will dis play a list similar to this one…

Orders with a PAY ON P/UP method of payment will be displayed at the top of the list in descending date order.

Please note that Pay on P/Up orders that have already been paid for and presumably picked up, will also be shown as well as possibly other orders with a different method of payment.

However, since the pay on pick up orders will always be at the top of the list, it should be fairly easy for you to find the order you are looking for.

Hope this new feature will make your life a little easier this Valentine’s Day holiday.