We have old barcodes (from our previous system) in our warehouse which we cannot use as standard within Epicor, we have suppliers now providing barcodes that we can use in Epicor and they work a treat but only for new products.
Ideally, we need to read the first 6 digits and the last 4 digits of those old barcodes to make them usable ignoring the middle 6 digits.
I also need to continue using the barcodes from within Epicor that are already set up for new products.
the challenge here is that when you scan, the bar code reader actually translates the barcode, and transmits it as though it were manually entered via a keyboard. Epicor actually doesn’t know that you entered via Keys, Barcode, or some other magic mind reader module.
That said, I could conceive of a BPM that would receive inputs from Part Number lookup and if it has too many digits, the BPM would strip out the extra digits before submitting it. This of course would work if scanned or manually entered.
There is some magic that can happen in some barcode hardware itself, but that takes hardware programming for each scanner. Not sure that you would be able to apply all your rules.
There was a suggestion before that said one might create an input to receive the barcode then have an event parse it and populate the data view instead of faking keyboard entry. You can parse, validate, etc. all in the one place.
I’ve done something similar and it worked fairly well.
The scan input was pushed to a custom (unbound) textbox, and an event handler setup for the text field value changing. Technically the event handler “fired” after each character was “typed” but the barcode reader was setup to append a tab (or maybe it was carriage return), so an if statement inside the event handler could make sure that validation only happened once it saw that special tab/enter character in the string.
That said, how would you approach validation logic in this situation? Would you try to lookup whatever you’re scanning to see if it’s found in the database and then try removing middle characters if the lookup fails? Could you get away with just looking at the length of the string? Say, if length equals X do nothing, if length > X start manipulating the string.
What barcode scanner do you have? Some have a DataWedge or EasySet app you can configure your handheld to do exactly that. We use it often to ignore AIAG Label Prefixes.
I thought the same thing for skipping prefix/suffix… but I believe the original question was about skipping something in the middle of the part number. That would seem to need more like a little more logic-based solution such as a BPM.
Hi @hkeric.wci We are using the Honeywell CT40. I am trying to configure to delete the middle section of the barcode with no luck but I really am unsure of what i am doing with the EasySet.
Hi, Is there any way of configuring the Honeywell devices to remove the digits if the barcode is 18 digits and starts with an S using this EasySet? Whatever i try does not seem to work.
Hi @hkeric.wci the EasySet does look like it does what i want it to do but i cannot set my device to use the settings. I only need 2 scenarios One for barcodes with 18 characters and start with S and one for everything else.
Hi, I managed to get this sorted by contacting Honeywell Support.
They created me a barcode FOC that i can scan to change the settings.
If anyone needs to use the barcode as a template to do their own thing i have attached.
This barcode does the below:
Checks the barcodes starts with a prefix of S
Checks the barcode is 18 digits (including prefix)
If the above is true then only read the first 6 and last 4 characters.