Barcode Scanning Guidance (OpenInsight 32-bit)
At 28 NOV 2011 04:26:11AM Matthew Jones wrote:
We are being asked to implement barcode scanning within our app, initially for warehouse order picking and stock taking, and then phase 2 for reps on the road taking orders using portable devices with scanning capability.
I'm not familiar with this area and am hoping for a bit of guidance from the community.
It seems a keyboard wedge device or serial / usb device would not be appropriate, as the user will be mobile around the warehouse.
I'm wondering if a telnet-based device running a CTO app on the server would be the way to go.
We would need to code it, but it would keep the process and the data in the environment we are comfortable with.
Does anyone have any experience with this, to say whether this would work and whether it would be a good way to go?
Viable alternatives?
How to approach phase 2 (reps on the road with scanning ability)?
Any tips gratefully accepted.
Cheers,
Matt Jones.
At 28 NOV 2011 08:55AM Robert Catalano wrote:
Hi Matt,
If your bar code scanner supports a VT100 emulation then utilizing the OETelnetserver is a viable alternative. You will need to write your BASIC+ programs using CTO:
PRINT @(X,Y):"Scan your item now:":
INPUT OP
Please feel free to contact me on how to set this up.
Cheers,
Bob
Robert Catalano | Revelation Software
Director of Sales
99 Kinderkamack Road | First Floor | Westwood, NJ 07675 USA
V: +1 800.262.4747 | F: +1 201.722.9815
At 28 NOV 2011 03:28PM Barry Stevens wrote:
How does the scanned item get to the pc?, via wireless, Bluetooth. Then cant that be received by a keyboard wedge.
Wireless you have distance problems.
For 'stock take' solutions you just have a scanner that is capable of storing scanned items in memory, then dock and upload.
Sorry, I don't understand the V1T00 solution, but would love to know more about it.
At 29 NOV 2011 04:39AM Matthew Jones wrote:
Hi Bob,
I've got this up and running on my pc using a telnet client!
Takes me back about 30 years!
Can't seem to get a basic logoff working though.
I am using "chain off" and I get:
"NO TABLE FOR SYSOBJ DO_EXECUTE
ENG0010: DO_EXECUTE, line 1. Variable has not been assigned a value."
Any ideas?
Code snippet:
….
case resp = 'X' or resp = 'x'
go 999case 1
strChoice = 'Invalid option!'end case
print @(4,8):strChoice:
go 100
*
999 chain off
At 29 NOV 2011 04:57AM Matthew Jones wrote:
My understanding, which isn't very great, is this:
[list]If you use a keyboard wedge or similar, then it will work within the context of a running OI application session, and it therefore will need a mobile PC unit to provide the application interface;
In that case the individual device would need to be more powerful (to handle running OI on the device), and each user / device would consume a single license as each will run a normal lan application;
Therefore, in my understanding, a keyboard wedge might be more appropriate for a stationary POS situation, where a larger screen could be used along with a PC, giving the power and functionality needed;
In a mobile situation (such as warehouse order picking), a batch mode device could be used with docking and uploading of data later, but in that situation intelligence would still need to be coded into the device, and there would need to be downloading and uploading of data to ensure codes and data were in place to help with validation on the device during the scanning process. Wireless comms would not be required, but coding is still needed to handle validation and business rules in the device and for interfaces to and from the device from OI;
By using CTO (if it works well), the device would provide VT100 terminal emulation (as many do), then the device would run a light-weight CTO app direct on the device. This would require comms, presumably WLAN, throughout the warehouse or wherever it was to be used. However, by doing this, there is only one code-set required, written in 'familiar' CTO (Rev Basic), and no separate interface(s). It is a light-weight, online app;
[/list]
Can anyone comment on this please as to my understanding and please, any feedback if people have actually gone down this road and setup something like this using barcode scanners connected to OI, how you went about it, successes, issues etc.
Thanks very much.
Matt Jones.
At 29 NOV 2011 08:48AM Robert Catalano wrote:
Instead of CHAIN OFF use EXECUTE "OFF" or EXECUTE "QUIT"
Robert Catalano | Revelation Software
Director of Sales
99 Kinderkamack Road | First Floor | Westwood, NJ 07675 USA
V: +1 800.262.4747 | F: +1 201.722.9815
At 29 NOV 2011 07:28PM Matthew Jones wrote:
Thanks Bob, but both of those just exit the program back to TCL. I was hoping for something that would log off.
At 30 NOV 2011 12:27AM bshumsky wrote:
Thanks Bob, but both of those just exit the program back to TCL. I was hoping for something that would log off.
Hi, Matthew. Are you trying this from CTO now? Are you configured to talk to an Engine Server, or "directly connect", in CTO? Which version of OI are you running? I tried EXECUTE "QUIT" and it appeared to drop the connection properly, but then again I was running it in the CTO for 9.3…
- Bryan Shumsky
At 30 NOV 2011 12:54AM Matthew Jones wrote:
Howdy Bryan. I'm using a telnet client on my PC connecting to OI 9.2.1 on my lan server using CTO via OETelnetServer & OEngineServer.
My OI username is MSJ, so I have setup a record MD*MSJ that looks like this:
1. P
2.
3.
4. 15:21:51 29 NOV 2011
5. INITOBJ
6. MSJ_MAIN
Record MD*MSJ_MAIN is identical.
I created MD*MSJ_MAIN by:
1. BASIC INITOBJ MSJ_MAIN
2. CATALOG INITOBJ MSJ_MAIN
Then made MD*MSJ to match so it would execute automatically when user MSJ logs on, which it does.
CHAIN OFF breaks to the debugger with previously described message.
EXECUTE "QUIT" just returns to TCL with no apparent output, after seemingly stopping execution of the program.
Where to from here?
And if I may be so bold - do you think CTO would be a good solution for what I'm trying to achieve?
ie WLAN based telnet device barcode scanning warehouse solution?
Is that how you would do it? Is it the right tool for the job?
Sorry to put you on the spot, but I'm looking for direction on this - barcode scanning & CTO are new to me - I'm not really sure what can and can't be done efficiently.
Thanks,
Matthew.
At 30 NOV 2011 01:15AM bshumsky wrote:
Hi, Matthew. Yes, I think that using a CTO session via Telnet is probably the best way to proceed with what you're doing; at least, so far as I am familiar, most "guns" can be controlled in this fashion. You will have to be aware of (and beware of) loss of connectivity issues, which frequently do arise in these situations (ie, scanner users wandering outside the range of the wireless network).
As to your current problem - I was testing directly in CTO using the normal CTO_STANDALONE_FORM, and not via Telnet, so my response there wasn't very helpful I'm afraid :sad: I'll try to take another look at this in the morning and see what the situation is when running as a simple Telnet client.
Cheers,
- Bryan Shumsky
At 30 NOV 2011 01:18AM Matthew Jones wrote:
Hey, thanks. I'm such a noob in this area, it's nice to get some feedback.
Look forward to your morning response.
Cheers,
Matthew.
At 30 NOV 2011 01:29AM bshumsky wrote:
OK, just started the telnet server on my system (it's been a loooong time since I've had a look at it, TBH), and telneted in. Note that I do NOT have a "logon proc"; I'd suggest that, for our testing, you take out that MD entry so that you just get to TCL (">"). I have a simple test program that looks like this:
SUBROUTINE BZS(VOID)
PRINT "HERE WE GO…"
EXECUTE "QUIT"
PRINT "THERE WE WENT…"
RETURN 0
When I compile this and then run it, it shows me "HERE WE GO…" and then closes the connection to the host. I am assuming this is what you want as well, right? Can you try my simple program and see how it works for you?
- Bryan Shumsky
At 30 NOV 2011 01:47AM Matthew Jones wrote:
Oh dear :sad:
It has been a while hasn't it?
I didn't have a SUBROUTINE statement, and I didn't have a RETURN 0 statement.
Put those in and it's all sweet - I think I got confused/lazy/forgetful/tricked/blind-sided/absent-minded/overwhelmed/under-skilled/in over my head/defeated by "Hello World"/distracted/unlucky (cross out those that don't apply).
Thanks Bryan - onward!