In this edition we have Top Mods, Really New Stuff Tech Corner and SHIMS Meeting 2021 sections.
There are a lot of changes happening in the SHIMS world these days and I thought you might find some of them interesting.
So here goes.
Top Mods
This was in the days of the 1200 baud modem (which was a lot better than talking to someone on the phone, telling them what to type, asking what they see, all the while hoping they were doing what you ask) and the “state-of-the-art” 5MB disk drive.
What I was shown was the Inventory History Ledger Card. The idea that you could go back and see how the on-hand quantity of a product got to be what it was, absolutely floored me. It was love at first sight.
After seeing that, I knew that SHIMS would be a big hit in the automotive aftermarket. And it was.
We have made a lot of progress since then, some of it along the lines of the Ledger Card.
A lot of what I do is product support. People want to know “what happened to this” or “can I restore the old version of that?”
Unfortunately, most people don’t know they need “this or that” until they are desperate to have it.
Because of this, I have created “change logs” for many of the SHIMS files.
Examples of logged fields are customers, products, vendors, ship-to, and overrides. For example, if someone goes into file maintenance, and changes the sales-rep or the credit code on a customer, I capture:
- When the change was made
- Who made the change
- What the old value was prior to the change
Then you can view these changes in an inquiry. Just like the Inventory History Ledger Card.
If a change is critical (like a change to the sales-rep or the credit limit on a customer), a notification of this can be sent in an email to a manager.
With jBASE, it is not only changes made in file maintenance that can be captured. For example, a “trigger” can be created so that any program that has a change to the sales-rep on a customer can be “logged” and an email sent.
There is a lot more to this than what I am describing here. I will tell you more in a later blog post.
Really New Stuff
RESTful Services 101
SHIMS has evolved in many ways over the years, perhaps most importantly by “talking to other systems”.
In its simplest form the other system has some data (say, a new price sheet) which you want loaded into SHIMS. Or your vendor may want some of your data like MTD sales by customer.
What that meant for the programmer was creating or reading a file and passing that file back and forth between systems.
In the earliest days, that meant putting a diskette in the mail. Later “ftp” (file transport protocol) and email became popular.
When web-based storefronts came into play, ftp and email did not work very well for sending data back and forth between SHIMS. Web-based applications need “real-time” response. When a customer clicks on a product he expects to see immediately the price and availability of that product.
To pick another example, if you do business in several states you may want to use a web-based service like TaxJar for computing the tax rate for an order. Your employees expect that calculation to happen “now”.
As a result there is a need for web-based communications. REST (representational state transfer) is the standard that has developed for doing this. “Standard” is an important word here. If we want to communicate with the software that runs your web-page, we don’t have to start from scratch. Both set of programmers already agree on how all this will work. They just need to fill in the details.
Zumasys supports these standards (using their MVCONNECT product) and as a result I have developed web-based interfaces to packages like:
- Web storefronts like Magento
- Tax services like TaxJar and Avalara AvaTax
- CRM (customer relationship management) systems like SugarCRM
- Showroom bid prep systems like Bravo Business Systems
I will tell you more about this in future blog posts.
Tech Corner
If the escape key works on your menus and you can select a menu option by moving the cursor to highlight an option, you are using pull-down menus. I will talk about them in a later blog.
Today, let’s talk about flat menus.
For customers who use these menus there is an MD named M which is executed at login:
Here is what MD M looks like:
jsh XYZ udsroot ~ -->ED MD M 001 PQ 002 [MENU-PROKS MENU]
An item named MENU from the MENU-PROKS file is executed when M runs.
There is another file that is involved when you are using flat menus.
This is the MENUS.FILE
The way to think about this is that items in MENUS.FILE are the “human friendly” records that are compiled into the executable MENU-PROKS items.
A MENUS.FILE item looks like this:
**** Maintenance ****
EDI Setup Maintenance]RUN BP EDI.SETUP.MA
EDI Authorization Maintenance]EDI.AUTH.MA
EDI Customer Maintenance]EDI.CUSTOMER.MA
The first line is a comment line that appears on the screen when the menu runs
The 2nd line is in the format:
What you see on the screen : @VM : What executes
There can be a password in the 3rd position.
There is a limit of 40 lines on a MENUS.FILE item.
—
The MENUS.FILE item MENU is compiled into the executable MENU-PROKS item MENU.
What is the program that does this compiling?
Here things get complicated.
The people who wrote SHIMS (way back when) designed this to work like this from TCL
SELECT MENUS.FILE “MENU”
COMPILE-MENU
This would create MENU-PROKS MENU using the MENU.FILE MENU
In the real world people have gotten more “creative”.
One small issue is that people don’t always use the standard menu names like MENU-2 for cash receipts. What may be used instead could be Z.MENU-2 or Z.MENU-CASH or anything else.
If a user asks you to modify a program it is a good idea to ask them to send you a screenshot of the menu they use to run the program. If they tell you “option-9 on menu-2” you don’t really know what they mean by “menu-2”. Best to be sure.
Here are the “gotchas”:
- COMPILE-MENU may not be the program that is in use. It might be MENU-COMPILE or really anything else. If you are going to compile a program your first step is to be sure you are using the correct program. If you use the wrong program to compile, the resulting menu may not work the way the users expect.
- The 2nd gotcha is that people may make manual changes to the MENU-PROKS record after it was created by the compile process
- The 3rd gotcha is that people may not have known about this MENUS.FILE/COMPILE-MENU/MENU-PROKS design and they just create MENU-PROKS items from scratch
It would be a lot better if everyone had stuck with the original design, but we have to live with the world as it is.
Someone making changes to a SHIMS system that uses flat menus needs to know how menus have been handled. Otherwise – if you just compile a MENUS.FILE record and any one of the gotchas apply, you are in danger of losing important changes in the MENU-PROKS file.
There is a safe but not entirely efficient way to handle this. That is to
- Change the MENUS.FILE record
- Instead of compiling, just manually edit the required changes into MENU-PROKS
If I am working on a system I am not that familiar with, that is what I do.
SHIMS Meeting 2021

Hello friends,
Registration for the 2021 event in October is now open! The new dates for the SHIMS Meeting are October 18-19, 2021. Visit the website now.
We hope that by moving the conference to October 2021, everyone will have ample opportunity to plan and budget for it and more importantly, stay healthy! We would like to see everyone attend the meeting and want you to feel comfortable with traveling and gathering together in a group environment.
The event will take place at The Guest House at Graceland in Memphis, Tennessee. The hotel rate will remain the same discounted rate of $129 per night.
As of May 15, 2021, here is a list of everyone that is currently registered (no need to re-register or pay):
Denis Avery
Warren Navarre
April Martin
Debbie Coulter
Terrie Turella
Melissa Lester
David Jones
Mike Dones
Ovidio Calvet
John Falcone
Victor Go
Albert Acosta
Juanita Machado
Michael Loeppke
If you need to register for the 2021 event: SHIMS Meeting 2021 registration is now open! Register here: www.shimsmeeting.com
We appreciate your patience and are happy to answer any additional questions you may have regarding this update. We look forward to seeing everyone in-person soon!
Be well,
– Warren + Terrie
Visit the SHIMS Meeting Website Now
— UPDATE —
Hello friends,
Registration for the 2021 event in October is now open! The new dates for the SHIMS Meeting are October 18-19, 2021. Visit the website now.
We hope that by moving the conference to October 2021, everyone will have ample opportunity to plan and budget for it and more importantly, stay healthy! We would like to see everyone attend the meeting and want you to feel comfortable with traveling and gathering together in a group environment.
The event will take place at The Guest House at Graceland in Memphis, Tennessee. The hotel rate will remain the same discounted rate of $129 per night.
We appreciate your patience and are happy to answer any additional questions you may have regarding this update. We look forward to seeing everyone in-person soon!
Be well,
– Warren + Terrie
If you have some tech questions you would like answered, please let me know and I will discuss your question.
Thanks for reading and see you on the next edition.
Ed
Contact Ed.
1 Comment